SHI Microservices Engineering Boot Camp Course User Guide
- June 13, 2024
- SHI
Table of Contents
- SHI Microservices Engineering Boot Camp Course
- Product Information
- Product Usage Instructions
- About this course
- At course completion
- Intro to Microservices
- Microservices in Development
- Microservices in Production
- Putting it all together
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
SHI Microservices Engineering Boot Camp Course
Product Information
The Microservices Engineering Boot Camp Course is a 3-day instructor-led
training program designed to teach participants the practical toolset and
skills required to work with microservices in their own systems. Whether you
want to create new services, decouple existing services, or refactor a
monolithic architecture, this course provides the knowledge and techniques to
effectively implement microservice design patterns.
By adopting a microservices architecture, teams can achieve loosely coupled
components and services, enabling them to deploy more freely and independently
with reduced risk to the overall architecture.
Course Outline:
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
- Microservice challenge: Continuous Integration Service
- On-Premise Jenkins
- SaaS Service: Shippable, Jenkins, TravisCI
- Exercise: Trigger build/tests from change
Part 2: Microservices in Development
- Uber Case Study
- 2000 services, 1000 engineers
- Tradeoffs: 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
Part 3: Microservices in Production
- Spotify Case Study
- 810 Services, 477 engineers
- Microservice challenge: Service discovery
- Skydns
- Consul
- Exercise: Resolve service with DNS
- Security
Part 4: 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
Product Usage Instructions
To make the most of the Microservices Engineering Boot Camp Course, follow these instructions:
- Attend all sessions of the 3-day instructor-led course.
- Participate actively in discussions and exercises during each session.
- Take notes and ask questions to clarify any doubts or uncertainties.
- Complete the exercises and challenges provided in each part of the course.
- Make use of the practical toolset and skills taught in the course to implement microservices in your own systems.
- Apply the concepts learned in real-world scenarios to optimize speed, decouple services, and refactor monolithic architectures.
- Experiment with different technologies and platforms mentioned in the course, such as Jenkins, TravisCI, Docker, Kubernetes, Openshift, and Mesos.
- Review the summary section to reinforce the key concepts and takeaways from the course.
By following these instructions, you will gain the necessary knowledge and skills to effectively work with microservices and enhance your system’s architecture.
About this course
For IT professionals, developers, software engineers, and DevOps practitioners
– microservices training 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 that 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.
Whether you want to create new services, decouple a few services from your
overall architecture, or refactor an entire monolithic architecture into a
microservice design pattern, this course quickly teaches you the practical
toolset and skills to get up and running with microservices in your own
systems. Loosely coupled components and services allow teams to deploy more
freely and independently, with less risk to the architecture
At course completion
After completing this course, students will be able to:
- 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
- Build microservices with Docker, Kubernetes, Jenkins, and JFrog
- Build more mature DevOps practices through microservice adoption
- 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
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
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 an image to the service
Exercise: Pull an image from the 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
- Fourth Microservice challenge: Secrets
- Vault
- Kubernetes Secrets API
- Exercise: Kubernetes – Store database credentials in the 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
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
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>