Microservices architecture is a method of developing software applications as a suite of independently deployable, small, modular services. Learn how to leverage the security and automation of the Amazon Web Services platform, to build, maintain and operate a microservices environment.
Speaker: Adam Lynch, Sr. Technical Account Manager, Amazon Web Services
3. Microservices
“Microservices is an approach to application development
in which a large application is built as a suite of modular
services. Each module supports a specific business goal
and uses a simple, well-defined interface to communicate
with other modules”
http://searchsoa.techtarget.com/definition/microservices
6. Benefits of Microservices
Speed
• Faster development and deployment
Innovation
• Autonomy of teams, culture of change
• Ownership and DevOps culture
7. Benefits of Microservices
Speed
• Faster development and deployment
Innovation
• Autonomy of teams, culture of change
• Ownership and DevOps culture
Quality
• Composability and reusability
• More maintainable code
• Better scaling and optimisations
• Failure isolation and resiliency
12. A Typical Microservice Architecture on AWS
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
13. A Typical Microservice Architecture on AWS
S3
CloudFront
RDS
ElastiCache
EC2
Elastic Load
Balancing
EC2
Elastic Load
Balancing
Static
Content
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
Auto Scaling
Group
Auto Scaling
Group
14. A Typical Microservice Architecture on AWS
S3
CloudFront
RDS
ElastiCache
EC2
Application
Load
Balancing
Static
Content
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
API
Gateway
EC2 Container
Service
Auto Scaling
Group
15. A Typical Microservice Architecture on AWS
S3
CloudFront
EC2
Application
Load
Balancing
Static
Content
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
API
Gateway
EC2 Container
Service
Auto Scaling
Group
DynamoDB
16. “No server is easier to
manage than no server”
- Werner Vogels
(CTO, Amazon.com)
Image: 20081108 DDP Werner_Vogels/Guido van Nispen/license
17. The Goal – Serverless
S3
CloudFront
Static
Content
Content
Delivery
API
Layer
Application
Layer
Persistency
Layer
API
Gateway
DynamoDBAWS
Lambda
19. The Hybrid Microservice API
Amazon API
GatewayClients
HTTP
REST
Amazon
EC2
AWS
Lambda
Lambda
Blueprints
Amazon ECS
Elastic Load
Balancing
20. The Micro-Microservice API
Clients
Amazon API
Gateway
Free
Amazon API
Gateway
Premium
Amazon API
Gateway
Partner
Amazon API
Gateway
Experimental
Amazon
EC2
Amazon ECS
AWS
Lambda
Lambda
Blueprints
21. Don’t Reinvent the Wheel
Notification system
E-Mail component
Search engine
Workflow engine
Queue
Transcoding system
Monitoring system
Amazon
CloudSearch
Amazon SQSAmazon SNS
Amazon Elastic
Transcoder
Amazon SWFAmazon SES
If you find yourself writing your own…
…take a deep breath and stop it now!
22. Managing One Microservice is Straightforward
Clients
RDS
HTTP
REST
EC2
Instance
Auto Scaling Group
AZ-A
AZ-B
Elastic Load
Balancing
EC2
Instance
Amazon API
Gateway