4. 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
6. Characteristics of Microservice Architectures
Do one
thing wellIndependent
Decentralized
Black box
Polyglot
You build it, you run it
7. 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)
8. Deploying Containers on ECS – Choose a Scheduler
Batch Jobs
ECS task scheduler
Run tasks once
Batch jobs
RunTask (random)
StartTask (placed)
Long-Running Apps
ECS service scheduler
Health management
Scale-up and scale-down
AZ aware
Grouped containers
9. Problem:
• A large number of smart phone devices and IoT
devices as of the launch of new flagship
smartphone model launch.
• Integration with existing SmartThings service
• Global development team in 4 locations had to
develop more than 60 functional modules.
Solution:
• Micro-Service Architecture on AWS
• AWS EC2 Container Service, AWS Lambda,
Amazon Aurora, Amazon DynamoDB
Business Benefits:
• “Expect a rich IoT experience with Samsung
Connect built on Amazon's robust cloud” – VP
Subaek Jang
Samsung Connect Service supports a number of smart
phone devices and IoT devices as of the launch of new
flagship smartphone model launches. AWS service such
as AWS EC2 Container Service, AWS Lambda, Amazon
Aurora and Amazon DynamoDB, Samsung could
successfully develop Samsung Connect application with
more than 60 functional modules by 4 global development
teams in Micro-Service Architecture.
• AWS Seoul Summit Keynote -
https://youtu.be/061bsq0jVYU?t=1h16m
Customer Case : Samsung Electronics – Samsung Connect
Samsung
Connect
27. Example Microservice Architecture on ECS
Amazon
ECR
Amazon
RDS
Application Load
Balancer
ECS Cluster
ECS Cluster
IAM
Amazon API
Gateway*
Amazon
Route 53
Amazon CloudWatch
28. 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
29. IAM Roles For Tasks
ECS Cluster
EC2 Instance EC2 Instance
TASK A
TASK B
TASK B
Amazon
DynamoDB
Amazon
S3
32. Blue-Green Deployments ( DNS based)
TaskTask
Route 53
record set
with
weighted
routing
policy
0%
100%
33. Blue-Green Deployments ( Target Group Switch)
TaskTask
Target
group 1
Target
group 2
Target
group 2
Target
group 1
Switch Target
Groups
myproduct.com
40. Consuming Events for Service Discovery
app1-tst à 10.1.0.11
db1-tst à 10.1.0.14
app2 à 10.1.0.16
db2 à 10.1.0.18
my-app à 10.1.0.20
websrv1à 10.1.0.1
websrv2à 10.1.0.2
websrv3à 10.1.0.4
app-dev1à 10.1.0.9
app-dev2à 10.1.0.5
app-dev3à 10.1.0.8
db-devà 10.1.0.19
41. Governance: AWS Service Catalog
Organizations Developers
Control
Standardization
Governance
Agility
Self-service
Time to market
42. Creates portfolio
Adds constraints and grant access
1
4
5
Administrator
Portfolio
Users
Browse Products
6Launch Products
Creates
product3Authors template2
Product
X
Product
Y
Product
Z
7
Deploys
stacks
Notifications
Notifications
8
8
Governance: AWS Service Catalog
58. Contributing to Blox
• Blox is licensed under Apache 2.0
• Open an issue or pull request
• Watch our roadmap on GitHub
• Check out our Gitter channel