Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Monoliths to Microservices - Madhu - AWS - CC18

3,628 views

Published on

This presentation was made by Madhusudan Shekar of AWS as as main session in Container Conference 2018 on 3rd August in Bangalore.

The Evolution to Microservices – A Container Story

"Technology improves at a rapid pace across compute, storage and networking, but we tend to continue to build applications that are yet to take advantage of much of these capabilities. Cloud platforms provide a way to abstract these complexities from the developer, enabling them to adopt these innovations rapidly. In this session, we will look at how application architectures are evolving, and how it is now possible for developers to prioritise on innovation rather than operation and bring value to the user base."

Published in: Software
  • Be the first to comment

Monoliths to Microservices - Madhu - AWS - CC18

  1. 1. Madhusudan Shekar Principal Technical Evangelist @ Amazon Monoliths to Microservices @madhushekar23
  2. 2. “To finish the moment, to find the journey’s end in every step of the road, to live the greatest number of good hours, is wisdom.” — Ralph Waldo Emerson
  3. 3. Which journey are we on? Data center Cloud
  4. 4. Which journey are we on? Virtual Machines Containers Serverless Data center Cloud
  5. 5. Evolution of Business Logic Monolith Microservices Functions
  6. 6. Splitting Monoliths Ten Years Ago
  7. 7. Splitting Monoliths Ten Years Ago XML & SOAP
  8. 8. Splitting Monoliths TenFiveYears Ago
  9. 9. REST JSON Fast binary encodingsSplitting Monoliths Five Years Ago
  10. 10. Splitting Monoliths TenFive Years Ago
  11. 11. Microservices Five Years Ago
  12. 12. Microservices Five Years Agoto Functions Amazon Kinesis Amazon API Gateway Amazon SNS Amazon S3 Amazon DynamoDB Amazon SQS Standard building brick services provide standardized platform capabilities
  13. 13. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions Business Logic Glue between the bricks Standard building brick services provide standardized platform capabilities
  14. 14. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions
  15. 15. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions
  16. 16. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to FunctionsEphemeral
  17. 17. Microservices to Functions Ephemeral
  18. 18. Microservices to Amazon API Gateway Amazon SQS Functions Ephemeral
  19. 19. Microservices to Amazon API Gateway Amazon Kinesis Amazon DynamoDB Functions Ephemeral
  20. 20. Microservices to Amazon API Gateway Amazon SNS Amazon S3 Functions Ephemeral
  21. 21. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions Ephemeral When the system is idle, it shuts down and costs nothing to run
  22. 22. Evolution of Business Logic Monolith Microservices Functions
  23. 23. = 50 million deployments a year Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments 5708 per hour – one every 0.63 seconds!
  24. 24. Which journey are we on? Virtual Machines Containers Serverless Data center Cloud
  25. 25. Containers
  26. 26. Portability Flexibility Efficiency Speed Same immutable images. Run anywhere. Create modular environment. Decompose Apps. Speeds up build and release cycles. Optimize resource allocation. Agility.
  27. 27. Microservices And Containers • Do one thing, really well • Any app, any language • Test and deploy same artifact • Self-contained services • Isolated execution environment • Faster startup • Scaling and upgrading
  28. 28. ”Service oriented architecture composed of loosely coupled elements that have bounded contexts.” — Adrian Cockcroft
  29. 29. How do I run apps on many machines?
  30. 30. Running Containers EC2 Instance EC2 InstanceEC2 InstanceEC2 InstanceEC2 Instance
  31. 31. Running Containers at Scale Scheduling and Orchestration Cluster Manager Placement Engine Availability Zone #1 Availability Zone #2 Availability Zone #3
  32. 32. Amazon RDS ElastiCache (Redis) Amazon S3 Amazon SQS Auto Scaling Group Multi-AZ Auto Scaling Group Multi-AZ Microservice 1 Microservice 2 Amazon ECS McD API Middleware Third-party Delivery Platforms Menu and Restaurant Master Restaurant Application Load Balancer
  33. 33. “Could you tell me which rack all my EC2 instances landed in.” — (Almost) no one
  34. 34. Enter Container Orchestration
  35. 35. Pick your orchestration tool Pick your compute engine
  36. 36. EC2 INSTANCES ECS AGENT TASK Containers TASK ECS AGENT TASK TASK AGENT COMMUNICATION SERVICE API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK TASK Internet LOAD BALANCER LOAD BALANCER Containers Containers Containers Containers Containers Amazon ECS
  37. 37. AWS VPC with CNI networking Advanced task placement Deep integration with AWS platform ECS CLI…{ } Global footprint Powerful scheduling engines Auto scaling CloudWatch metrics Load balancers PRODUCTION WORKLOADS ON AWS
  38. 38. CUSTOMERS RUNNING CONTAINERS WITH ECS
  39. 39. WHAT ABOUT KUBENETES? “According to a recent survey, 63% of users were already hosting Kubernetes on Amazon EC2. This was up from 44 percent a year ago.” https://www.cncf.io/blog/2017/06/28/survey-shows-kubernetes-leading-orchestration-platform/
  40. 40. AWS and CNCF Promote Cloud Native to enterprise customers Integrate CNCF components into AWS ECS – CNI, containered, etc. Integrate Kubernetes with AWS – installers, IAM, security, EKS, etc. CNCF serverless working group Blog post medium.com/@adrianco Kubernetes scalability testing will be moving to AWS, supported by credits to CNCF
  41. 41. Code Improve AWS was a founding member of containerd – docker runtime CNCF Contributions Kubernetes work on installers, security, and networking integration with AWS CNI – Container Networking Interface extended and integrated into ECS and EKS
  42. 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Native VPC networking with CNI plugin Pods have the same VPC address inside the pod as on the VPC Simple, secure networking Open source and on Github …{ }
  43. 43. Nginx Pod Java Pod ENI Secondary IPs: 10.0.0.1 10.0.0.2 Veth IP: 10.0.0.1 Veth IP: 10.0.0.2 Nginx Pod Java Pod ENI Veth IP: 10.0.0.20 Veth IP: 10.0.0.22 Secondary IPs: 10.0.0.20 10.0.0.22 ec2.associateaddress() VPC Subnet – 10.0.0.0/24 Instance 1 Instance 2
  44. 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CNI plugin Allow Kubernetes users to take advantage of native VPC networking in their Kubernetes pods
  45. 45. Manage d Kube r ne te s on AWS Amazon Elastic Container Service for Kubenetes (EKS) Hybrid cloud compatible Highly available Automated upgrades and patches Integrated with AWS Services CloudTrail, CloudWatch, ELB, IAM, VPC, PrivateLink NEW!
  46. 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Kubectl 3) Authorizes AWS Identity with RBAC K8s API 1) Passes AWS Identity 2) Verifies AWS Identity 4) K8s action allowed/denied AWS Auth
  47. 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  48. 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  49. 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  50. 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  51. 51. Are clusters really cloud native?
  52. 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. INTRODUCING FARGATE
  53. 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CHANGING COMPUTE CONSUMPTION MODEL No instances to manage Task native API Resource based pricing Simple, easy to use, powerful – and new consumption model
  54. 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling and Orchestration Cluster Manager Placement Engine ECS AMI Docker agent ECS agent EC2 Instance ECS AMI Docker agent ECS agent EC2 Instance ECS AMI Docker agent ECS agent EC2 Instance
  55. 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Pick your orchestration tool Pick your compute engine
  56. 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Custom code and Services Lots of choices of frameworks and API mechanisms Where needed optimize serverless applications by also building services using containers to solve for - Lower startup latency - Long running compute jobs - Predictable high traffic Serverless events and functions Standardized choices Combine building blocks to achieve outcome - AWS Lambda - API Gateway - Amazon SNS, SQS - Amazon DynamoDB - AWS Step Functions S e r v e r l e s sC o n t a i n e r s Which for Microservices ?
  57. 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you madsheka@amazon.com @madhushekar23

×