deep dive on microservicesand dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/aws... · deep...
TRANSCRIPT
![Page 1: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/1.jpg)
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sascha Möllering, Solutions Architect, @sascha242May 18th, 2017
Deep Dive on Microservices and Docker
![Page 2: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/2.jpg)
What to Expect from the Session
• Microservices Architecture• Amazon ECS• The Twelve-Factor App with Amazon ECS
![Page 3: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/3.jpg)
Microservices Architecture
![Page 4: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/4.jpg)
What are microservices?
“A software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building.” - Wikipedia
https://en.wikipedia.org/wiki/Microservices
![Page 5: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/5.jpg)
Monolithic vs. Microservices
webserver
.package
Order UI
Order Service
Inventory Service
Shipping Service
OrderUI
Inventory Service
Order Service
Shipping Service
![Page 6: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/6.jpg)
Characteristics of Microservice Architectures
Do one thing wellIndependent
Decentralized
Black box
Polyglot
You build it, you run it
![Page 7: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/7.jpg)
Why Amazon ECS
• Fully managed elastic service – You don’t need to run anything, and the service scales as your microservices architecture grows
• Shared state optimistic scheduling• Integration with CloudWatch service for
monitoring and logging• Integration with Code* services for
continuous integration and delivery (CI/CD)
![Page 8: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/8.jpg)
Deploying Containers on ECS – Choose a Scheduler
Batch Jobs
ECS task schedulerRun tasks once
Batch jobsRunTask (random) StartTask (placed)
Long-Running Apps
ECS service schedulerHealth managementScale-up and scale-downAZ awareGrouped containers
![Page 9: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/9.jpg)
WatchBot
ECS Cluster
SQSWatcher
Container
Running Tasks
14Data Processing
Services
3500Peak Container
Instances
500 millionCompute Hours
Used in 2016
![Page 10: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/10.jpg)
Amazon ECS: Under the Hood
ALB ALB
AZ 1 AZ 2
user / scheduler
Scheduler
Cluster State Service
Placement Engine
Event Stream
![Page 11: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/11.jpg)
The Twelve-Factor App with Amazon ECS
![Page 12: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/12.jpg)
The Twelve-Factor App
1. Codebase2. Dependencies3. Config
4. Backing Services5. Build, Release Run6. Processes
7. Port Binding8. Concurrency9. Disposability
10. Dev/Prod parity11. Logs12. Admin Processes
https://12factor.net/
![Page 13: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/13.jpg)
Reference Architectures
![Page 14: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/14.jpg)
Example Microservice Architecture on ECS
Amazon ECR
AmazonRDS
Application Load Balancer
ECS Cluster
ECS Cluster
IAM
Amazon API Gateway*
AmazonRoute 53
Amazon CloudWatch
![Page 15: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/15.jpg)
https://github.com/awslabs/ecs-refarch-cloudformation
Private Subnet
Availability Zone Availability Zone
InternetGateway
Public Subnet Public Subnet
Private Subnet
Nat GatewayNat Gateway
AutoScaling GroupContainer InstanceContainer Instance Container InstanceContainer Instance
Application Load Balancer
CloudWatch Logs(container logs)
Amazon ECS Reference Architecture
![Page 16: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/16.jpg)
Automatic Service Scaling
Publish metrics
Auto Scaling ECS service
Availability Zone A
Availability Zone B
TASK A
Add/Remove ECS tasks
TASK C
TASK BScaling Policies
Amazon CloudWatch
Amazon ECS
Application Load Balancer
![Page 17: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/17.jpg)
IAM Roles For TasksECS Cluster
EC2 Instance EC2 Instance
TASK A
TASK B
TASK B
AmazonDynamoDB
AmazonS3
![Page 18: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/18.jpg)
AWS CodePipeline
AWSCloudFormation Amazon ECS
Amazon ECRAWS CodeBuild
Developers
1 2
5
3 4
6
7
Continuous Deployment in Amazon ECS
![Page 19: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/19.jpg)
Blue-Green Deployments
TaskTask
Route 53 record set
with weighted routing policy
0%100%
![Page 20: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/20.jpg)
Secrets Management
•prod.app1.db-pass •general.license-code•prod.app2.user-name
ECS Cluster
EC2 Instance EC2 Instance
TASK A
TASK B
TASK B
EC2 System Manager –Parameter Store
![Page 21: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/21.jpg)
Service Discovery with Route 53 and Application Load Balancers
Application Load Balancer
i-aaa i-bbb i-ccc
i-aaa i-bbb i-ccc
oAuth Target Group8080 8081
Portal Target Group
Weather Target Group
8000 8001 8002
8080
AmazonRoute 53
ECS Cluster
mydomain.com
mydomain.com mydomain.com/weather
mydomain.com/auth
![Page 22: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/22.jpg)
Consuming Events for Service Discovery
app1-tst à 10.1.0.11db1-tst à 10.1.0.14app2 à 10.1.0.16db2 à 10.1.0.18my-app à 10.1.0.20
websrv1à 10.1.0.1websrv2à 10.1.0.2websrv3à 10.1.0.4app-dev1à 10.1.0.9app-dev2à 10.1.0.5app-dev3à 10.1.0.8
db-devà 10.1.0.19
![Page 23: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/23.jpg)
A Call to Action
![Page 24: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/24.jpg)
Build Learn
Try It out
Deploy
![Page 25: Deep Dive on Microservicesand Dockeraws-de-media.s3-eu-west-1.amazonaws.com/images/AWS... · Deep Dive on Microservicesand Docker. What to Expect from the Session • Microservices](https://reader031.vdocuments.us/reader031/viewer/2022021820/5aede45f7f8b9a366991983f/html5/thumbnails/25.jpg)
Thank You