Microservices Engineering Boot Camp
For IT professionals, developers, software engineers, and DevOps practitioners – This boot camp provides the technical practices and tooling fundamentals necessary to begin realizing the benefits of Microservices as a foundation for IT architecture, software engineering, and service/release delivery. The workshop includes 16 hands-on exercises which give you real-world practice on the engineering tools and skills a team needs in order to realistically implement your own flavor of Microservices architecture patterns so you can address the team needs of your own organization.
Retail Price: $2,495.00
Next Date: 12/02/2024
Course Days: 3
Enroll in Next Date
Request Custom Course
About this Course
For IT professionals, developers, software engineers, and DevOps practitioners – This boot camp provides the technical practices and tooling fundamentals necessary to begin realizing the benefits of Microservices as a foundation for IT architecture, software engineering, and service/release delivery. The workshop includes 16 hands-on exercises which give you real-world practice on the engineering tools and skills a team needs in order to realistically implement your own flavor of Microservices architecture patterns so you can address the team needs of your own organization.
Audience Profile
- 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
Course Content
During this course, students will:
- 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
Course Outline
- 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 compute 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
- On Premise
- Microservices in Development
- 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
- Microservices in Production
- 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 Addons
- Cluster DNS
- Logging with Elasticsearch and Fluentd
- Container Level Monitoring
- cAdvisor
- InfluxDB
- Prometheus
- Exercise: Wordpress on Kubernetes
- Managing state with disposable architectures
- Tradeoffs, strandalone vs containerized db’s
- CAP Theroem
- SQL Databases
- NOSQL Databases
- Exercise: Cassandra on Kubernetes
- Practicing Failure
- Optimize MTTR
- Netflix Case Study
- Simian Army
- Graceful handling of failure
- Spotify Case Study
- Putting it all together
- 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
In-Class Exercises: (short description of each exercise)
- Exercise: Install Docker
- Exercise: Docker Hello World
- Exercise: Docker 101 - Web App
- Exercise: Docker 201 - Compose Multi-tier app
- Exercise: Trigger build/tests from change
- Exercise: Submit image to service
- Exercise: Pull image from service
- Exercise: Kubernetes 100: Hello World
- Exercise: Kubernetes 101: Stateless web app
- Exercise: Kubernetes 201: Guestbook app
- Exercise: Resolve service with DNS
- Exercise: Kubernetes - Store database credentials in cluster
- Exercise: Wordpress on Kubernetes
- Exercise: Cassandra on Kubernetes
- Exercise: Customize Microservice App
- Exercise: Scale app for simulated demand
Course Dates | Course Times (EST) | Delivery Mode | GTR | |
---|---|---|---|---|
12/2/2024 - 12/4/2024 | 10:00 AM - 6:00 PM | Virtual | Enroll |