Slide 1

Slide 1 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Operating Microservices at Hyperscale Donnie Prakoso, MSc Technical Evangelist, ASEAN Amazon Web Services @donnieprakoso donnieprakoso

Slide 2

Slide 2 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Monolith webserver .package Order UI Order service Inventory service Shipping service • Processes are tightly coupled • Run as a single service • More complexities as the code base grows • Limiting experimentation • Entire architecture must be scaled • High risk for application availability

Slide 3

Slide 3 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T What do we need?

Slide 4

Slide 4 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Introducing Microservices Microservices are an architectural and organizational approach to software development in which software is composed of small, independent services that communicate over well-defined APIs. Whitepaper: http://bit.ly/2A0qGdt - Running Containerized Microservices on AWS

Slide 5

Slide 5 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. webserver .package Order UI Order service Inventory service Shipping service Order UI(1) Order UI(n) Order Service(1) Order Service(n) Inventory Service(1) Inventory Service(n) Shipping Service(1) Shipping Service(n) Monolithic Microservices

Slide 6

Slide 6 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Characteristics of Microservices Do one thing well Independent Decentralized Black box Polyglot You build it, you run it

Slide 7

Slide 7 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Amazon S3 Object storage built to store and retrieve any amount of data from anywhere

Slide 8

Slide 8 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Challenges of Microservices Organizational Structure Migration Distributed Systems Versions

Slide 9

Slide 9 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Architectural Complexity Operational Complexity Complexities Challenges of Microservices

Slide 10

Slide 10 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Journey to Hyperscale Microservices 1. A Container-first approach and orchestration tool 2. Automating software release process - CI/CD 3. Utilizing Asynchronous Communication and Lightweight Messaging 4. Know your resources with Service Discovery

Slide 11

Slide 11 text

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Slide 12

Slide 12 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Containers & Orchestration CONTAINER IMAGE

Slide 13

Slide 13 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Containers & Orchestration CONTAINER IMAGE Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS AZ 1 AZ 2 AZ 3

Slide 14

Slide 14 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T AWS Container Services Landscape Management Deployment, scheduling, scaling, and management of containerized applications Hosting Where the containers run Image Registry Container image repository Amazon Elastic Container Service Amazon Elastic Container Service for Kubernetes Amazon EC2 AWS Fargate Amazon Elastic Container Registry

Slide 15

Slide 15 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Customers

Slide 16

Slide 16 text

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Slide 17

Slide 17 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T CI/CD – Don’t Only Run It, Own it CONTAINER IMAGE Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS AZ 1 AZ 2 AZ 3

Slide 18

Slide 18 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T MyApp CodeCommit Source Build CodeBuild Build DeployToInteg CodeDeploy Integration IntegTest End2EndTester DeployToProd CodeDeploy Production Source Build Deploy to integration stack Integration tests Deploy to production Model the release process in CodePipeline AWS CodeBuild AWS CodeCommit AWS CodeDeploy AWS CodeDeploy AWS CodePipeline

Slide 19

Slide 19 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Approval action-based pipeline safety check Source MyAppSource CodeCommit Build MyAppBuild Build Deploy safetyCheck Approval ProductionDeploy CodeDeploy Lambda Function safetyCheck New update! SNS Topic

Slide 20

Slide 20 text

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Slide 21

Slide 21 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T NASA Image and Video Library Amazon SNS Amazon SQS

Slide 22

Slide 22 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Asynchronous Communication

Slide 23

Slide 23 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Complexity on Interactions of Individual Microservices A D B E C H F G I

Slide 24

Slide 24 text

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Slide 25

Slide 25 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T AWS Step Functions Productivity Agility Resilience Build distributed applications using visual workflows Order Service Inventory Service Invoice Service Logistic Service Notification Service

Slide 26

Slide 26 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T AWS Step Functions Build distributed applications using visual workflows Breaking down the monolith with AWS Step Functions

Slide 27

Slide 27 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Asynchronous Communication with Service Workflow

Slide 28

Slide 28 text

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Slide 29

Slide 29 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Amazon API Gateway Web Socket support for API Gateway Real-time two way communication applications backed by Lambda functions or other API Gateway integrations.

Slide 30

Slide 30 text

S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Slide 31

Slide 31 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Complexity of modern architectures • Wide variety of resources • Complexity grows exponentially • Multiple versions and stages coexist • Infrastructure scales dynamically • Unhealthy resources are replaced

Slide 32

Slide 32 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Service Discovery Finding the location of a service provider myapp: {10.24.34.5:8080, 10.24.34.6:8080} mylogs: {S3bucket1, S3bucket2} How to find resources to connect to?

Slide 33

Slide 33 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Registry for all cloud resources

Slide 34

Slide 34 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Build the dynamic map of your cloud Define convenient names for all cloud resources Discover resources with specific attributes Ensure only healthy resources are discovered Use highly available DNS and regional API AWS Cloud Map

Slide 35

Slide 35 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Registry for all cloud resources

Slide 36

Slide 36 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T App Mesh with Amazon ECS and Amazon EKS to better run containerized microservices at scale Microservice A Microservice B Microservice C Microservice C Microservice C Application-level networking for all your services

Slide 37

Slide 37 text

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. S U M M I T Summary • Microservices architecture is a distributed approach designed to overcome the limitations of traditional monolithic architectures. • Understand distributed system components and how AWS can help you • More granular control also means more moving parts which will increase complexity use managed services to help you • Don’t let software pipeline holds your back – enhance your software release process by extending CI/CD • Optimize microservices by combining asynchronous & synchronous communications with lightweight messaging • Manage your cloud resources better

Slide 38

Slide 38 text

Go Build! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Donnie Prakoso Technical Evangelist, ASEAN Amazon Web Services @donnieprakoso donnieprakoso