Weitere ähnliche Inhalte Ähnlich wie Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to Serverless (GPSCT304) - AWS re:Invent 2018 (20) Mehr von Amazon Web Services (20) Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to Serverless (GPSCT304) - AWS re:Invent 20182. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ripping off the band aid:
Re-architecting three tier monoliths
to Serverless Microservice
Bhushan Tomar
Partner Solutions Architect
AWS Partner Program
G P S C T 3 0 4
Ronald Widha Sunarno
Mgr. Partner Solutions Architect
AWS Partner Program
3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Comparing Monolith & Microservices
A monolith application puts
all its functionality in a
single process…
… and scales by replicating the
monolith on multiple servers
A microservices architecture puts
each element of functionality into a
separate service…
…and scales by distributing these services
across servers, replicating as needed
4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example
cart searchuser
DBDB
user-svc
Redis DB
cart-svc
NoSQL DB
search-svc
ES
5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing organizations for microservices
Principles of Microservice - Sam Newman
Microservices on AWS whitepaper
Define the destination
7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing organizations for microservices
Define the destination
Prioritize by business impact
8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing organizations for microservices
The “Inverse Conway Maneuver”
Define the destination
Prioritize by business impact
Refactor capability not code
Josh Evans (Netflix) on refactoring organizations
Customers
Loyalty
Recommendation
Catalog
Checkout
Support
Inventory
Pricing
9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing teams for microservices
Define the destination
Prioritize by business impact
Refactor capability not code
Practice with a simple
functionality
10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith development lifecycle
developers
releasetestbuild
delivery pipelineapp
11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservice development lifecycle
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing teams for microservices
Define the destination
Prioritize by business impact
Refactor capability not code
Practice with a simple
functionality
Start with larger services
13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing the tools for microservices
Define the destination
Prioritize by business impact
Refactor capability not code
Practice with a simple
functionality
Start with larger services
Look for domain and data seams
14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing the tools for microservices
Define the destination
Prioritize by business impact
Refactor capability not code
Practice with a simple
functionality
Start with larger services
Look for domain and data seams
Static code analysis
Database relationship
15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing the tools for microservices
Define the destination
Prioritize by business impact
Refactor capability not code
Practice with a simple
functionality
Start with larger services
Look for domain and data seams
Infrastructure with minimal ops
N o s e r v e r i s e a s i e r t o m a n a g e
t h a n n o s e r v e r … ~ W e r n e r V o g e l s
16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservices components & DevOps
Version Control Repository
CodeCommit Amazon
ECR
Client Data
Store
DiscoveryGateway
Business
Domain
API Gateway Elastic Load
Balancing
Amazon
ECS
DynamoDB Amazon
RDS
Microservices
API
Elastic
Beanstalk
Lambda
Continuous
Integration
Continuous
Delivery
DevOps Pipeline
CodeDeployCodePipeline CodeBuild
17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Additional Resources
• https://aws.amazon.com/serverless/
• https://aws.amazon.com/blogs/compute/tag/serverless/
• https://aws.amazon.com/microservices/
• Whitepapers
• Optimizing Enterprise Economics with Serverless Architectures
• Serverless Streaming Architectures and Best Practices
• AWS Serverless Multi-Tier Architectures: Using Amazon API Gateway and AWS Lambda
• Books-
• Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
• Building Microservices: Designing Fine-Grained Systems by Sam Newman
• Accelerate: The Science of Lean Software and DevOps by Gene Kim
19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.