SlideShare a Scribd company logo
1 of 61
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
When, how and if to adopt
Microservices
BRADLEY ACAR, SOLUTIONS ARCHITECT | 13 SEPTEMBER 2018
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolithic Applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The Monolith
“…a single-tiered software application in which the user interface and data
access code are combined into a single program from a single platform.
A monolithic application is self-contained, and independent from other
computing applications.”
- Wikipedia
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Where did they all come from?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith = “Traditional” Applications
• Applications developed to “best practices” and standards of the time
• Monolith <> poorly designed
• Applications didn’t need to be or weren’t designed to be distributed
• Application design constrained by resources
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith = “Traditional” Applications
Pros:
• At first…
o Simple
o No over-engineering
• In-process latencies
• Single codebase
• Resource efficient at small
scale
Cons:
• Modularity is hard to enforce
as app grows
• Can only really scale up
• All or nothing deployment
• Database dependencies
• Long release cycles
• Slow to react to customer
demand
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservices
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What microservices are…
“…the microservice architectural style is an approach to developing a
single application as a suite of small services, each running in its own
process and communicating with lightweight mechanisms, often an HTTP
resource API…”
- Martin Fowler
https://martinfowler.com/aboutMe.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What microservices are…
“Independently deployable services that work together, modelled around a
business domain…”
- Sam Newman
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What microservices are…
“The technical authority for a business capability”
- Udi Dahan
© 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
releasetestbuild
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2001
Development transformation at Amazon: 2001+
2009+
monolithic
application + teams
microservices + 2 pizza teams
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Single-purpose
Connect only through APIs
Connect over HTTPS
Largely “black boxes” to each
other
Microservices
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Two-pizza teams
Full ownership
Full accountability
Aligned incentives
DevOps
“You build it, you run it”
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Managing Dependencies
Loose Coupling / High Cohesion
Encapsulation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Think about: Coupling
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Types of coupling
• Afferent (Ca) and Efferent (Ce)
Measurement units of the degree of coupling
Who depends on you?… Who do you depend on?
• Platform Coupling
May be introduced by things like proprietary protocols or
components that are platform specific
• Temporal Coupling
Dealing with time-based dependencies between
collaborating system components, e.g. waiting operations
or sequential processing
• Spatial Coupling
Not having to know the location of your collaborating
services on the network and providing failover
mechanisms, e.g. Amazon Elastic Load Balancer
A B
A B
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Loose coupling?
• Coupling is a function of
multiple dimensions
• Need to make tradeoffs
Platform
Spatial
TemporalAfferent
Efferent
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Think about: Messaging
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Think about: Messaging
a Serverless example…
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Simple Queue Service (Amazon SQS)
• Simple enough to get started in minutes
• Highly reliable, always available, and durable
• Continuous scale allows burst loads with no
excess capacity
• Integrated with AWS platform with monitoring
and queue management
• Comprehensive security and compliance
“Worry-free managed
queues - simply and reliably
distribute any volume of
messages between
endpoints"
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon SQS Features
High durability
with messages
persisted across
multiple AZs
High availability in
all AWS regions
Continuous and
unlimited scaling
Simplified
troubleshooting
with a Dead Letter
Queue
Integrated with
other AWS services
as a destination
> aws sqs create-queue --queue-name MyQueue
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using AWS Lambda with Amazon SQS
1. Scheduled
time occurs
2. Lambda invoked
Lambda
function
CloudWatch Events
(time-based)
SQS
Queue
3. Pull messages from
queue
Lambda
function
CloudWatch Events
(time-based)
SQS
Queue
4. Pull message
from queue
3. Lambda invoked
n times
2. Execute Step Function
every minute
1. Scheduled
time occurs
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon SQS as an Event Source (SQSaaES)
• Lambda polls the queue and when it detects new
messages, it invokes your Lambda function by
passing the messages as an event
• Full control over the queue processing settings
such as visibility timeouts, delay queues, redrive
policy, etc. Supports batch processing
• Lambda will gradually increase the queue polling
rate as long as queue polling results in fetching of
new messages
• Supports Identity and Resource based policy3. Lambda invoked
Lambda
function
SQS
Queue
2. Pull messages
from queue
1. Message arrives
on queue
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Simple Notification Service (Amazon SNS)
• Highly reliable, available, and durable pub-
sub service that delivers messages to
multiple destinations, including system and
mobile endpoints
• Continuous scale allows burst loads with no
excess capacity
• Integrated with AWS platform delivering
messages from services to subscribing
endpoints
• Comprehensive monitoring, security, and
compliance
“Simply and reliably distribute
any volume of messages and
event notifications anywhere”
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
> aws sns create-topic --name my-topic
Amazon SNS Key Features
High durability
with messages
persisted across
multiple AZs
High availability in
all AWS regions
Continuous and
unlimited scaling
Simplify
development with
filtered message
delivery
Easy monitoring
with CloudWatch,
with alarming
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publish / Subscribe
• One logical publisher for a given domain event
• Fully enforces a consistent boundary
• Addresses multiple types of coupling
SNS
Topic
Service B
Service C
Service D
Service A
• Each subscriber can react to domain
events in their own bounded context
• SNS supports multiple subscription
channels – Lambda, SQS, HTTP/S,
Email, SMS, Mobile Push
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mapping events to topics
Grey
Topic
Attr=
Blue
Grey
Publisher
Blue
Topic
Blue
Grey
Blue
Blue
Grey
Subscribers
Service C
Service D
Service E
Service F
Message type mapped to logical destination
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon SNS Message Filters
• Publishers do not need to route message
• Subscribers do not need to filter for message of interest
• Lowers cost
SNS
Topic
Attr=
Grey
Attr=
Blue
Attr=
Blue
Attr=
Grey
Attr=
Blue
Attr=
Grey
Filter Policy
Attr=Grey
Filter Policy
Attr=Blue
Publisher
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Long Running Processes?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Coordination by Function Chaining
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“I want
try/catch/finally”
“I want to
select tasks based on data”
“I want to
retry failed tasks”
A
B C
A
?
“I want to
sequence tasks”
BA
“I want to
run tasks in parallel”
CBA
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
…makes it easy to coordinate the
components of distributed
applications using visual workflows
AWS Step Functions
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Step Functions
“Serverless” workflow management with zero
administration
• Coordinate the components of distributed
applications and microservices using visual
workflows
• Keeps the orchestration out of the code!
• State management
• Automatically triggers and tracks each step, and
retries when there are errors
• Logs the state of each step, so when things do go
wrong, you can diagnose and debug problems
quickly
Task
Choice
Fail
Parallel
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservices messaging patterns
One-Way
Lambda
function
SQS Queue
Return Address
SQS QueueLambda
function
Request / Response
Lambda
function
SQS Queue
SNS
Topic
Service B
Service C
Service D
Service A
Publish / Subscribe
request
response
request
response
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microviews
• Don’t forget about the user interface!
• If a microservice is the technical
authority for a business capability then
it is also the authority on how interacts
with the user
• Leverage composite user interfaces
B
A
C D
E
A B C D E
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Containers?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why do we love Containers?
Packaging Distribution Immutable
infrastructure
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Container Services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Building an Ecosystem
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Helping Customers Scale their Containers
450+%
growth
Hundreds of millions
of containers started each week
millions
of container instances
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customers are our key to innovation
50+
releases
since 2015
Customers
Release
Feedback /
New Use
Cases
Learn
Experiment,
Innovate,
& Build
Features
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Enable Focus on Applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Run containers without the need to manage
underlying infrastructure
© 2018, 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
=
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Production Workloads on AWS
AWSVPC networking
mode
Advanced task
placement
Deep integration
with AWS platform
ECS CLI…{ }
Global footprint
Powerful scheduling engines
Auto scaling
CloudWatch metrics
Load balancers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fargate: Under the Hood
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Running Container
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
EC2 Instance
TaskTask
Task Task
Running Containers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling and Orchestration
Cluster Manager Placement Engine
Running Containers at Scale with ECS
Availability Zone #1 Availability Zone #2 Availability Zone #3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS
AMI
Docker
agent
ECS
agent
ECSTaskECSTask
ECSTaskECSTask
EC2 Instance
© 2018, 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
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Running Fargate Containers with ECS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Elastic Container Service for Kubernetes (EKS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
57% of Kubernetes workloads
run on AWS today
—CNCF survey
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability
Zone 1
etcd
Master
etcd
Master
Availability
Zone 2
Availability
Zone 3
etcd
Master
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
mycluster.eks.amazonaws.com
Availability
Zone 1
Availability
Zone 2
Availability
Zone 3
kubectl
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Summary
Chances are YAGNI… Not everyone needs Microservices. If you have a well
defined domain then you don’t have to break the monolith apart entirely.
Don’t use a big bang approach. It’s an evolutionary journey.
Perhaps consider a monolith-first approach.
Identify your bounded contexts first.
Lead your microservices strategy from strategic perspective.
Model your microservices around business capabilities.
Leverage messaging services and publish subscribe patterns to provide strict
boundaries around your bounded contexts and use them to manage coupling
inside your application.

More Related Content

What's hot

How AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessHow AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessChris Munns
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Amazon Web Services
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Amazon Web Services
 
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Amazon Web Services
 
Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018
Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018
Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018Amazon Web Services
 
Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...
Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...
Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...Amazon Web Services
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018Amazon Web Services
 
Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...
Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...
Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...Amazon Web Services
 
You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018
You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018
You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018Amazon Web Services
 
Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...
Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...
Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...Amazon Web Services
 
Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...
Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...
Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...Amazon Web Services
 
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...Amazon Web Services
 
Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfAmazon Web Services
 
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018Amazon Web Services
 
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018Boaz Ziniman
 
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018Amazon Web Services
 
Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...
Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...
Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...Amazon Web Services
 
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...Amazon Web Services
 
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...Amazon Web Services
 

What's hot (20)

How AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessHow AWS builds Serverless services using Serverless
How AWS builds Serverless services using Serverless
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
 
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
 
Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018
Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018
Security, Risk and Compliance of Your Cloud Journey - Tel Aviv Summit 2018
 
Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...
Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...
Automated Monitoring of Operational Health in the Cloud - Mathew Green - AWS ...
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
 
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
 
Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...
Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...
Deep Dive on Amazon Managed Blockchain: re:Invent 2018 Recap at the AWS Loft ...
 
You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018
You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018
You've Decided to Buy Cloud Services, Now What? (WPS203) - AWS re:Invent 2018
 
Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...
Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...
Discuss How to Secure Your Virtual Data Center in the Cloud (NET210-R1) - AWS...
 
Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...
Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...
Five Ways Application Insights Impact Migration Success (DEV207-S) - AWS re:I...
 
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
 
Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdf
 
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
 
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
Starting your Cloud Transformation Journey - Tel Aviv Summit 2018
 
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
Amazon Cloud Directory Deep Dive (DAT364) - AWS re:Invent 2018
 
Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...
Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...
Accelerating AWS Migrations Through Agile Transformation (DEV202-S) - AWS re:...
 
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
Leadership Session: Overview of Amazon Digital User Engagement Solutions (DIG...
 
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
Securing SaaS/Web and Windows Apps in a Hybrid Cloud World (SEC314-S) - AWS r...
 

Similar to Adopting Microservices: When, How and If

How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going ServerlessAmazon Web Services
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?Adrian Hornsby
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Amazon Web Services
 
2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by ddd2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by dddKim Kao
 
Implementing Microservices by DDD
Implementing Microservices by DDDImplementing Microservices by DDD
Implementing Microservices by DDDAmazon Web Services
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018Amazon Web Services
 
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Amazon Web Services
 
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Amazon Web Services
 
Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...Amazon Web Services
 
Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018
Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018
Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018Amazon Web Services
 
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Amazon Web Services
 
From Monolithic to Modern Apps: Best Practices
From Monolithic to Modern Apps: Best PracticesFrom Monolithic to Modern Apps: Best Practices
From Monolithic to Modern Apps: Best PracticesTom Laszewski
 
Introduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemIntroduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemAmazon Web Services
 
All the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessAll the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessChris Munns
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingAmazon Web Services
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Amazon Web Services
 
Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...
Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...
Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...Amazon Web Services
 
SRV315 Building Enterprise-Grade Serverless Apps
 SRV315 Building Enterprise-Grade Serverless Apps SRV315 Building Enterprise-Grade Serverless Apps
SRV315 Building Enterprise-Grade Serverless AppsAmazon Web Services
 

Similar to Adopting Microservices: When, How and If (20)

Breaking Down the Monowhat
Breaking Down the MonowhatBreaking Down the Monowhat
Breaking Down the Monowhat
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going Serverless
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
 
2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by ddd2019 03-13-implementing microservices by ddd
2019 03-13-implementing microservices by ddd
 
Implementing Microservices by DDD
Implementing Microservices by DDDImplementing Microservices by DDD
Implementing Microservices by DDD
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
From Monolith to Modern Apps: Best Practices (SRV322-R2) - AWS re:Invent 2018
 
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
 
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
 
Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...
 
Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018
Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018
Digital Transformation Through APIs (SRV323) - AWS re:Invent 2018
 
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
 
From Monolithic to Modern Apps: Best Practices
From Monolithic to Modern Apps: Best PracticesFrom Monolithic to Modern Apps: Best Practices
From Monolithic to Modern Apps: Best Practices
 
Introduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemIntroduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day Jerusalem
 
All the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessAll the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev Serverless
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
 
Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...
Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...
Build High-Throughput, Bursty Data Apps with Amazon SQS, SNS, & Lambda (API30...
 
SRV315 Building Enterprise-Grade Serverless Apps
 SRV315 Building Enterprise-Grade Serverless Apps SRV315 Building Enterprise-Grade Serverless Apps
SRV315 Building Enterprise-Grade Serverless Apps
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Adopting Microservices: When, How and If

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. When, how and if to adopt Microservices BRADLEY ACAR, SOLUTIONS ARCHITECT | 13 SEPTEMBER 2018
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolithic Applications
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The Monolith “…a single-tiered software application in which the user interface and data access code are combined into a single program from a single platform. A monolithic application is self-contained, and independent from other computing applications.” - Wikipedia
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Where did they all come from?
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolith = “Traditional” Applications • Applications developed to “best practices” and standards of the time • Monolith <> poorly designed • Applications didn’t need to be or weren’t designed to be distributed • Application design constrained by resources
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolith = “Traditional” Applications Pros: • At first… o Simple o No over-engineering • In-process latencies • Single codebase • Resource efficient at small scale Cons: • Modularity is hard to enforce as app grows • Can only really scale up • All or nothing deployment • Database dependencies • Long release cycles • Slow to react to customer demand
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microservices
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What microservices are… “…the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API…” - Martin Fowler https://martinfowler.com/aboutMe.html
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What microservices are… “Independently deployable services that work together, modelled around a business domain…” - Sam Newman
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What microservices are… “The technical authority for a business capability” - Udi Dahan
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monolith development lifecycle developers releasetestbuild delivery pipelineapp
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microservice development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2001 Development transformation at Amazon: 2001+ 2009+ monolithic application + teams microservices + 2 pizza teams
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Single-purpose Connect only through APIs Connect over HTTPS Largely “black boxes” to each other Microservices
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Two-pizza teams Full ownership Full accountability Aligned incentives DevOps “You build it, you run it”
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Managing Dependencies Loose Coupling / High Cohesion Encapsulation
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Think about: Coupling
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Types of coupling • Afferent (Ca) and Efferent (Ce) Measurement units of the degree of coupling Who depends on you?… Who do you depend on? • Platform Coupling May be introduced by things like proprietary protocols or components that are platform specific • Temporal Coupling Dealing with time-based dependencies between collaborating system components, e.g. waiting operations or sequential processing • Spatial Coupling Not having to know the location of your collaborating services on the network and providing failover mechanisms, e.g. Amazon Elastic Load Balancer A B A B
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Loose coupling? • Coupling is a function of multiple dimensions • Need to make tradeoffs Platform Spatial TemporalAfferent Efferent
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Think about: Messaging
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Think about: Messaging a Serverless example…
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Simple Queue Service (Amazon SQS) • Simple enough to get started in minutes • Highly reliable, always available, and durable • Continuous scale allows burst loads with no excess capacity • Integrated with AWS platform with monitoring and queue management • Comprehensive security and compliance “Worry-free managed queues - simply and reliably distribute any volume of messages between endpoints"
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon SQS Features High durability with messages persisted across multiple AZs High availability in all AWS regions Continuous and unlimited scaling Simplified troubleshooting with a Dead Letter Queue Integrated with other AWS services as a destination > aws sqs create-queue --queue-name MyQueue
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Using AWS Lambda with Amazon SQS 1. Scheduled time occurs 2. Lambda invoked Lambda function CloudWatch Events (time-based) SQS Queue 3. Pull messages from queue Lambda function CloudWatch Events (time-based) SQS Queue 4. Pull message from queue 3. Lambda invoked n times 2. Execute Step Function every minute 1. Scheduled time occurs
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon SQS as an Event Source (SQSaaES) • Lambda polls the queue and when it detects new messages, it invokes your Lambda function by passing the messages as an event • Full control over the queue processing settings such as visibility timeouts, delay queues, redrive policy, etc. Supports batch processing • Lambda will gradually increase the queue polling rate as long as queue polling results in fetching of new messages • Supports Identity and Resource based policy3. Lambda invoked Lambda function SQS Queue 2. Pull messages from queue 1. Message arrives on queue
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Simple Notification Service (Amazon SNS) • Highly reliable, available, and durable pub- sub service that delivers messages to multiple destinations, including system and mobile endpoints • Continuous scale allows burst loads with no excess capacity • Integrated with AWS platform delivering messages from services to subscribing endpoints • Comprehensive monitoring, security, and compliance “Simply and reliably distribute any volume of messages and event notifications anywhere”
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. > aws sns create-topic --name my-topic Amazon SNS Key Features High durability with messages persisted across multiple AZs High availability in all AWS regions Continuous and unlimited scaling Simplify development with filtered message delivery Easy monitoring with CloudWatch, with alarming
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publish / Subscribe • One logical publisher for a given domain event • Fully enforces a consistent boundary • Addresses multiple types of coupling SNS Topic Service B Service C Service D Service A • Each subscriber can react to domain events in their own bounded context • SNS supports multiple subscription channels – Lambda, SQS, HTTP/S, Email, SMS, Mobile Push
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mapping events to topics Grey Topic Attr= Blue Grey Publisher Blue Topic Blue Grey Blue Blue Grey Subscribers Service C Service D Service E Service F Message type mapped to logical destination
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon SNS Message Filters • Publishers do not need to route message • Subscribers do not need to filter for message of interest • Lowers cost SNS Topic Attr= Grey Attr= Blue Attr= Blue Attr= Grey Attr= Blue Attr= Grey Filter Policy Attr=Grey Filter Policy Attr=Blue Publisher
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Long Running Processes?
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Coordination by Function Chaining
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. “I want try/catch/finally” “I want to select tasks based on data” “I want to retry failed tasks” A B C A ? “I want to sequence tasks” BA “I want to run tasks in parallel” CBA
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. …makes it easy to coordinate the components of distributed applications using visual workflows AWS Step Functions
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Step Functions “Serverless” workflow management with zero administration • Coordinate the components of distributed applications and microservices using visual workflows • Keeps the orchestration out of the code! • State management • Automatically triggers and tracks each step, and retries when there are errors • Logs the state of each step, so when things do go wrong, you can diagnose and debug problems quickly Task Choice Fail Parallel
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microservices messaging patterns One-Way Lambda function SQS Queue Return Address SQS QueueLambda function Request / Response Lambda function SQS Queue SNS Topic Service B Service C Service D Service A Publish / Subscribe request response request response
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microviews • Don’t forget about the user interface! • If a microservice is the technical authority for a business capability then it is also the authority on how interacts with the user • Leverage composite user interfaces B A C D E A B C D E
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Containers?
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why do we love Containers? Packaging Distribution Immutable infrastructure
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Container Services
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Service
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Building an Ecosystem
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Helping Customers Scale their Containers 450+% growth Hundreds of millions of containers started each week millions of container instances
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Customers are our key to innovation 50+ releases since 2015 Customers Release Feedback / New Use Cases Learn Experiment, Innovate, & Build Features
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Enable Focus on Applications
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Run containers without the need to manage underlying infrastructure
  • 47. © 2018, 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 =
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Production Workloads on AWS AWSVPC networking mode Advanced task placement Deep integration with AWS platform ECS CLI…{ } Global footprint Powerful scheduling engines Auto scaling CloudWatch metrics Load balancers
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fargate: Under the Hood
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Running Container
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task EC2 Instance TaskTask Task Task Running Containers
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling and Orchestration Cluster Manager Placement Engine Running Containers at Scale with ECS Availability Zone #1 Availability Zone #2 Availability Zone #3
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS AMI Docker agent ECS agent ECSTaskECSTask ECSTaskECSTask EC2 Instance
  • 54. © 2018, 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. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Running Fargate Containers with ECS
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Elastic Container Service for Kubernetes (EKS)
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 57% of Kubernetes workloads run on AWS today —CNCF survey
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability Zone 1 etcd Master etcd Master Availability Zone 2 Availability Zone 3 etcd Master
  • 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. mycluster.eks.amazonaws.com Availability Zone 1 Availability Zone 2 Availability Zone 3 kubectl
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Summary Chances are YAGNI… Not everyone needs Microservices. If you have a well defined domain then you don’t have to break the monolith apart entirely. Don’t use a big bang approach. It’s an evolutionary journey. Perhaps consider a monolith-first approach. Identify your bounded contexts first. Lead your microservices strategy from strategic perspective. Model your microservices around business capabilities. Leverage messaging services and publish subscribe patterns to provide strict boundaries around your bounded contexts and use them to manage coupling inside your application.

Editor's Notes

  1. © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  2. © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.