Slide 1

Slide 1 text

Community AWS Community A Pragmatic Introduction to Microservices

Slide 2

Slide 2 text

AWS Community Key Takeaway Understand key differences between monolith and microservices, why and how to implement integration pattern with serverless, and benefits of using microservices

Slide 3

Slide 3 text

AWS Community Agenda for Today 1. Development transformation at Amazon 2. Monolith and Microservices 3. Application Integration Patterns 4. Benefits of using microservices

Slide 4

Slide 4 text

A Journey.

Slide 5

Slide 5 text

AWS Community monolithic application + teams 2001 Lesson learned: decompose for agility 2002 microservices + two-pizza teams Development transformation at Amazon: 2001–2002

Slide 6

Slide 6 text

AWS Community Full ownership & autonomy You build it, you run it DevOps – small, nimble teams Focused innovation Two-pizza teams are fast & agile

Slide 7

Slide 7 text

2002 - API Mandate 1. All teams will henceforth expose their data and functionality through service interfaces. 2. Teams must communicate with each other through these interfaces. 3. There will be no other form of inter-process communication allowed. 4. It doesn’t matter what technology they use. 5. All service interfaces, without exception, must be designed from the ground up to be externalizable.

Slide 8

Slide 8 text

AWS Community 1000s of teams Micro- services CI/CD Serverless >60 million deployments a year Impact

Slide 9

Slide 9 text

Microservices.

Slide 10

Slide 10 text

AWS Community Completely independent Monolith Microservices ? Basic Concepts and Definitions

Slide 11

Slide 11 text

AWS Community Monolith Does everything Microservices Does one thing When the impact of change is small, release velocity can increase

Slide 12

Slide 12 text

AWS Community Web servers Presentation layers Application servers Business logic Database servers Data layer Traditional three-tier application architecture

Slide 13

Slide 13 text

AWS Community Use case: Monolith

Slide 14

Slide 14 text

AWS Community A modern three-tier application architecture Queues/messages Presentation Business logic Data Microservice Microservice Microservice APIs APIs

Slide 15

Slide 15 text

AWS Community Presentation Business logic Data Queues/messages Events Events APIs A single microservice

Slide 16

Slide 16 text

AWS Community 16 AWS Lambda — Event-driven function Event Source Function Services / Other Changes in data state Requests to endpoints Changes in resource state Node.js Python Java C# Go Ruby Bring Your Own

Slide 17

Slide 17 text

AWS Community Use case: Serverless API Diagram

Slide 18

Slide 18 text

Application Integration

Slide 19

Slide 19 text

AWS Community Consider how you integrate applications and modular services Synchronous – API based Asynchronous – event driven Inter- / intraservice Common for communication between apps Common for communication within apps Scalability Requires tools to manage point-to-point connections Is nearly infinitely scalable Cost Provisioning for peak use leads to low CPU utilization Scales to 0 (pay-for-use cost benefits) Latency Can be very low Is higher in theory, but latency requirements are rarely as low as expected (e.g., consider P50, P99) Agility Is easy to get started Is hard to use point to point in large scale Decoupled systems increase agility dramatically

Slide 20

Slide 20 text

AWS Community Event-driven architectures drive reliability and scalability Asynchronous events Improve responsiveness and reduce dependencies Event routers Abstract producers and consumers from each other Event stores Buffer messages until services are available to process Push event Event store Pull event Business logic Client Service A Service B

Slide 21

Slide 21 text

AWS Community Amazon EventBridge A serverless event bus service for AWS services, your own applications, and SaaS providers. • Removes friction of writing “point-to- point” integrations • Works across dozens of AWS and SaaS applications • Provides simple programming model • Fully managed; pay-as-you-go

Slide 22

Slide 22 text

AWS Community Use case: Event-Driven Architecture

Slide 23

Slide 23 text

AWS Community Learn more patterns

Slide 24

Slide 24 text

Advantages and Why

Slide 25

Slide 25 text

AWS Community Completely independent • Requires knowledge of a small, well- understood domain • Empowers small, independent teams to move at their own pace, shortening the cycle times • Fully-responsible including development, staging, and production Small independent Teams

Slide 26

Slide 26 text

AWS Community • Reduced complexity • Smaller deployments & failure isolation, and allows graceful failure handling • Fully responsible teams Quality

Slide 27

Slide 27 text

AWS Community • Vertical alignment with the business owners • Fast-feedback loops & low cost of failure • Freedom to choose and replace the technology stack individually (per domain) Innovation

Slide 28

Slide 28 text

AWS Community • Properly decoupled services can be scaled horizontally and independently from each other • Leverage the optimal data persistence solution per service • Appropriate and optimal technologies for a specific service Scalability

Slide 29

Slide 29 text

Community Download the PPT Code Repo + Demo AWS Community https://bit.ly/aws-community-asean-content Thank you