Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to Serverless (GPSCT304) - AWS re:Invent 2018
© 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
© 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
© 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
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 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
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Preparing organizations for microservices
Define the destination
Prioritize by business impact
© 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
© 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
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith development lifecycle
developers
releasetestbuild
delivery pipelineapp
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservice development lifecycle
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
© 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
© 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
© 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
© 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
© 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
© 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
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to Serverless (GPSCT304) - AWS re:Invent 2018

  • 2. © 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
  • 18. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.