Course Outline
Lessons
- Adopt, plan or improve your transition to microservices
- Map technical practices to the business strategy behind microservices
- Navigate different tools for enabling microservices and how to use them
- Communicate with stakeholders, management, and teams regarding needs and expectations around microservices
- Get hands-on practice with Docker, Kubernetes, Jenkins, and JFrog tools for core microservices architecture
- Get hands-on practice with the toolchain in our real-world application labs
- Build more mature DevOps practices through microservice adoption
- Understand how to refactor monolithic systems into more modular, component-based systems
- Apply microservice use cases to continuous integration, delivery, and testing
- Enable more automated testing and self-service QA capability
Part 1: Intro to Microservices
- Optimize for speed, not efficiency
- Case Study: General Electric
- Throughput
- Waste
- Amazon Web Services Case Study (SOA/Microservices)
- Problem: Scaling the Organization and the ‘Big ball of mud'
- Conway's Law
- Service Oriented Architecture
- Forced Self Service Mandate
- Result: Amazon dominance of cloud
- Result: High velocity at scale
- Intro to Containers (encapsulation)
- What is Docker
- Exercise: Install Docker
- Exercise: Docker Hello World
- Docker ecosystem
- Docker concepts
- Container encapsulation/ideal use cases
- Encapsulation
- Speed
- Increased utilization of computing resources
- Benefits
- Configure once, run everywhere
- VM's vs Container use cases
- Databases & stateless workloads
- Docker Architecture
- Exercise: Docker 101 - Web App
- Docker File System
- Docker Images
- Exercise: Stateless Web App
- Local Registry
- Data Volumes
- Exercise: Docker 201 - Compose Multi-tier app
- Continuous integration patterns
- Docker Security
- Continuous Integration
- Canary Release
- Blue Green Deployment
- A/B Testing
- Rolling Update
- Jenkins Plugin
- Microservice challenge: Continuous Integration Service
- On-Premise
- Jenkins
- SaaS Service
- Shippable
- Jenkins
- TravisCI
- Exercise: Trigger build/tests from change
- Uber Case Study
- 2000 services, 1000 engineers
- Tradeoffs
- Plus - overall development speed
- Cons - technical challenges
- Box Case Study
- Traditional service deployment with bare metal
- 10x faster workflow with DevOps practices
- Microservice challenge: Image repository
- Docker repository development instance
- On-Premise Service
- Quay by CoreOS
- SaaS solution
- Docker Hub
- JFrog
- Exercise: Submit image to service
- Exercise: Pull image from service
- Intro to Kubernetes (Containers at Google)
- Prerequisites
- Containers
- Linux Kernel Features
- Container User Experience
- New Container Capabilities
- Gaps using Containers in Production
- Exercise: Kubernetes 100: Hello World
- Core Concepts
- Cluster Orchestration
- Originated at Google
- Open Source
- Benefits
- Design Principles
- Architecture
- Master/Node
- Kubectl
- Replication Controller
- Kubelet
- Kube-Proxy
- Persistent Volumes
- Etcd
- High Availability
- Exercise: Kubernetes 101: Stateless web app
- Kubernetes Features
- Pods
- Labels
- Services
- Namespaces
- Resource Quota
- Exercise: Kubernetes 201: Guestbook app
- Spotify Case Study
- 810 Services, 477 engineers
- Microservice challenge: Service discovery
- Skydns
- Consul
- Exercise: Resolve service with DNS
- Security
- Goals
- Roles
- Attribute Based Access Control
- Policies
- Service Accounts
- Secrets
- Forth Microservice challenge: Secrets
- Vault
- Kubernetes Secrets API
- Exercise: Kubernetes - Store database credentials in cluster
- Cluster Add-ons
- Cluster DNS
- Logging with Elasticsearch and Fluentd
- Container Level Monitoring
- cAdvisor
- InfluxDB
- Prometheus
- Exercise: Wordpress on Kubernetes
- Managing state with disposable architectures
- Tradeoffs, standalone vs containerized databases
- CAP Theorem
- SQL Databases
- NOSQL Databases
- Exercise: Cassandra on Kubernetes
- Practicing Failure
- Optimize MTTR
- Netflix Case Study
- Simian Army
- Graceful handling of failure
- Why Microservices?
- Scale an organization
- Tradeoffs
- Fault Tolerance
- Throughput
- Waste
- Kubernetes Alpha Features
- Multi-Datacenter Control Plane
- RBAC/Multi-tenancy
- Openshift/Mesos/Other PaaS platforms
- Exercise: Customize Microservice App
- Exercise: Scale app for simulated demand
- Review of Microservice Challenges
- Secure Images
- Highly available application
- Secrets
- Continuous Integration
- DNS Name resolution
- Summary
- System and software architects
- Developers
- Testers and QA teams
- Release engineers
- IT operations staff
- Site reliability engineers
- DevOps practitioners
- DBAs and data engineering teams
- Information Security Pros
Cancellation Policy
If a change needs to be made to your public course registration (cancel, transfer, or substitution) ASPE must receive written notice via email at customerservice@aspeinc.com or fax at 919-816-1710. If a cancel or transfer request is made less than 15 business days prior to the class start date, payment will still be due, no refunds will be issued and you will be charged a $200 change fee. Your paid tuition will be available for one year to be used as a credit towards another course of equal value; only one reenrollment opportunity is allowed. Failure to attend the course without written notification will result in forfeiture of the full course price. Student substitutions may be made at any time prior to the start of class free of charge. If ASPE is forced to cancel a course for any reason, liability is limited to the registration fee only.
Training Location
Virtual
Your Address
Your City,
Your Province
Your Country