microservices und container
TRANSCRIPT
![Page 1: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/1.jpg)
Microservices und Container
Eine noch perfektere Kombination
Wolfram Richter Principal Solution Architect Oct. 5th, 2016
![Page 2: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/2.jpg)
2
Agenda
Recap: What is Microservice Architecture (MSA) Prerequisites and Implications of MSA Containers and how they benefit MSA Kubernetes as Container Orchestrator OpenShift as development and runtime environment for MSA Demo
![Page 3: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/3.jpg)
3
What is Microservice Architecture (MSA)? A best practice approach to decompose complex applications into independent systems
Source: Fowler
● Small
● Organized around business capabilities
● Independently deployable & scaleable
● Decentralized governance
● Decentralized data management
![Page 4: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/4.jpg)
Promises of Microservice Architecture
4
Divide and Conquer: Break down a large problem into small pieces which can be solved easily
Technology Benefits
● Enable technology diversity ● Select best fit for a particular
problem ● Scale-out architecture ● Isolate fault domains
Business Benefits
● Business Agility / Time to Market ● Minimize Risk
○ Incremental Deployments ○ Increased Resilience
● Feedback Loops ○ A/B Testing, Canary
deployments ○ DevOps Teams
![Page 5: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/5.jpg)
5
Business agility
Minimized Risk
Feedback Loops
Technology diversity Scalability
Isolate fault domains
At Development / Deployment Time: ● Automation ● Continuous Integration / Delivery ● Configuration Management ● Service / API design
○ Domain boundaries ○ Forward/backward compat.
● Rigorous testing ● Dependency management ● Design for eventual consistency ● Artifact repositories ● …
At Runtime: ● Standardization ● Isolation ● Service Discovery ● Load Balancing ● Circuit Breaker, Fallback ● Health checks & automated
recovery ● Log aggregation ● Tracing ● Infrastructure Monitoring ● ...
To be successful with MSA…
![Page 6: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/6.jpg)
6
● Easy to deploy and portable across host systems
● Created from immutable, layered images ● Isolated from a host operating system.
In RHEL, this is done through: ● Control Groups (cgroups) ● kernel namespaces ● SELinux, sVirt, iptables ● Docker
Containers package applications with dependencies and isolate the runtime Providing high density, efficiency and enabling quick turnaround times
HOST OS
SERVER
CONTAINER
LIBS APP
CONTAINER
LIBS APP
![Page 7: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/7.jpg)
7
At Development / Deployment Time: ● Automation ● Continuous Integration / Delivery ● Configuration Management ● Service / API design ● Rigorous Testing ● Dependency management ● Design for eventual consistency ● Artifact repositories
Containers provide standardization, automation and dependency management In addition to a great user experience for developers, making them much more productive
At Runtime: ● Standardization ● Isolation ● Service Discovery ● Load Balancing ● Circuit Breaker, Fallback ● Health checks & automated recovery ● Distributed logging ● Tracing ● Infrastructure Monitoring
![Page 8: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/8.jpg)
8
Kubernetes is a container orchestrator that allows to manage applications, not machines Greek for “Helmsman”; also the root of the word “Governor” (from latin: gubernator)
Master Node
Bare Metal Virtual Private Cloud Public Cloud
Storage
Operator External Services
![Page 9: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/9.jpg)
9
At Development / Deployment Time: ● Automation ● Continuous Integration / Delivery ● Configuration Management ● Service / API design ● Rigorous Testing ● Dependency management ● Design for eventual consistency ● Artifact repositories
Kubernetes adds vital capabilities to deploying, configuring and running MSAs Based on Google’s lessons learned operating containers at scale, broad community adoption
At Runtime: ● Standardization ● Isolation ● Service Discovery ● Load Balancing ● Circuit Breaker, Fallback ● Health checks & automated recovery ● Distributed logging ● Tracing ● Infrastructure Monitoring
![Page 10: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/10.jpg)
10
OpenShift Container Platform bundles Kubernetes with additional capabilities
SERVICE CATALOG (LANGUAGE RUNTIMES, MIDDLEWARE, DATABASES, …)
SELF-SERVICE
APPLICATION LIFECYCLE MANAGEMENT (CI / CD)
BUILD AUTOMATION DEPLOYMENT AUTOMATION
CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER
NETWORKING SECURITY STORAGE REGISTRY LOGS & METRICS
CONTAINER ORCHESTRATION & CLUSTER MANAGEMENT (KUBERNETES)
RED HAT ENTERPRISE LINUX
CONTAINER RUNTIME & PACKAGING (DOCKER)
ATOMIC HOST
INFRASTRUCTURE AUTOMATION & COCKPIT
![Page 11: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/11.jpg)
11
At Development / Deployment Time: ● Automation ● Continuous Integration / Delivery ● Configuration Management ● Service / API design ● Rigorous Testing ● Dependency management ● Design for eventual consistency ● Artifact repositories
Openshift Container Platform lets teams collaborate to build and operate microservices Provides all the plumbing to let you focus on the design & development of microservices
At Runtime: ● Standardization ● Isolation ● Service Discovery ● Load Balancing ● Circuit Breaker, Fallback ● Health checks & automated recovery ● Distributed logging ● Tracing ● Infrastructure Monitoring
![Page 12: Microservices und Container](https://reader031.vdocuments.net/reader031/viewer/2022030323/58a2f0a91a28abeb428bf6ae/html5/thumbnails/12.jpg)
12
Demo Time!