SlideShare a Scribd company logo
1
Migrating Monolithic Applications
with the Strangler Pattern
Thanh Nguyen
Senior Solutions Architect
BUILDING MODERN APPLICATIONS 🌥🎯🚀
2
q Strangler Pattern 101
q Strangler Pattern Strategy in action
q Data Access Patterns
q Canary release
q Deploy & Scale Monolith using ElasticBeanstalk PaaS
Agenda
3
Reasons to Modernize
Cost
reduction
Data center
consolidation
Digital
transformation
Agility/dev
productivity
Business
Modernization
4
The 6 Rs: Application Migration Strategies
R
e
-
a
r
c
h
i
t
e
c
t
(
r
e
w
r
i
t
i
n
g
/
d
e
c
o
u
p
l
i
n
g
a
p
p
l
i
c
a
t
i
o
n
s
)
Redesign application/
infrastructure architecture
Application code
development
Full ALM/
SDLC
Integration
Re-purchase
(replace –
drop & shop)
Purchase COTS/
SaaS & licensing
Manual install
& setup
Re-platform
(lift & reshape)
Modify underlying
infrastructure
Determine
new platform
Retain/
revisit
Manual
Manual config
Manual deploy
Manual install
Retire/
decommission
Re-host
(lift &
shift)
Discover/assess/prioritize
applications
Determine
migration
path
Use migration tools
Transition Production
Validation
Automate
5
Re-host migration strategy
The re-host migration strategy, referred
to as the “lift and shift” approach, is to
move applications without changes
In large-scale, legacy migrations,
organizations are looking to move
quickly to meet business objectives
The majority of these applications are
re-hosted
Discover/assess/
prioritize applications
Determine migration
path
Automate
Use migration tools
Validation
Transition
Production
6
Comparison of Migration Strategies
Effort (time & cost) Opportunity to optimize
Retire N/A N/A
Retain N/A
Re-host
Re-purchase
Re-platform
Re-architect
Strangler
7
Martin Fowler’s Strangler Pattern
“…gradually create a new system
around the edges of the old, letting
it grow slowly over several years
until the old system is strangled.”
Martin Fowler
June 29, 2004
8
Creating a new system around the edges
Monolith
Browser
DB
Proxy
Browser
Service
DB
Proxy
Browser
Service
DB
Service
DB
Service
DB
DB DB
Monolith Monolith
9
Strangler Pattern example
10
Corporate Data Center
Monolith
AWS Cloud
VPC
Availability
Zone 1
Availability
Zone 2
Web &
App layer
Amazon EC2
instances
ELB
Amazon RDS
master
Database
layer
Synchronous
replication
RDS
standby
Region
Users
Auto Scaling
Group
EC2
instances
Step 1: Re-host application
11
Corporate Data Center
Monolith
AWS Cloud
VPC
Availability
Zone 1
Availability
Zone 2
Synchronous
replication
RDS
standby
Region
Users
EC2
instances
Step 1: Re-host application
Amazon EC2
instances
ELB
Amazon RDS
master
Auto Scaling
group
Web &
App layer
Database
layer
12
Step 2: Facade with Amazon API Gateway
AWS Cloud
VPC
Availability
Zone 1
Availability
Zone 2
Region
Users
API
Gateway
EC2
instances
ELB
Amazon RDS
master
Synchronous
replication
RDS
standby
Auto Scaling
group
EC2
instances
Web &
App layer
Database
layer
13
Step 2: Facade with API Gateway – Setup
14
AWS Cloud
VPC Availability
Zone 1
Availability
Zone 2
Region
Users
API
Gateway
Amazon
CloudWatch
EC2
instances
ELB
Amazon RDS
master
Synchronous
replication
RDS
standby
Auto Scaling
group
EC2
instances
Step 3: Detect & measure hot spots
Web &
App layer
Database
layer
15
Step 3: Detect & measure hot spots
AWS Cloud
VPC Availability
Zone 1
Availability
Zone 2
Region
Users
API
Gateway
AWS X-Ray
EC2
instances
ELB
Amazon RDS
master
Synchronous
replication
RDS
standby
Auto Scaling
group
EC2
instances
Web &
App layer
Database
layer
16
AWS Cloud
VPC
Region
Users
API
Gateway
Lambda function
hot spot 1
EC2
instances
ELB
Amazon RDS
master
Synchronous
replication
RDS
standby
Auto Scaling
group
EC2
instances
AWS Database
Migration Service
Amazon
DynamoDB
Step 4: Create AWS Lambda for top hot spot
Web &
App layer
Database
layer
17
Write
Read
Synchronize
Use case(s)
• Data structure stays
consistent
• Data content stays
consistent
• Eventual consistency
acceptable
o Batch synchronize
• Golden copy remains with
old database
Old New
Monolith Strangler
Synchronization technology(s)
• Triggers
• AWS Database
Migration Service
• Generic batch process
Read
L-shaped pattern
18
Write
Read
Synchronize
Use case(s)
• Data structure differs
• Data content is expanded upon
• Eventual consistency
acceptable
o Batch synchronize
• Golden copy for expanded
schema to new database and
remains with existing data in
the old database
Old New
Monolith Strangler
Synchronization technology(s)
• Events
• AWS Database Migration
Services
• Generic batch process
Read
Backwards L-shaped pattern
19
Write
Read
S
y
n
c
h
r
o
n
i
z
e
Old New
Monolith Strangler
Read
S
y
n
c
h
r
o
n
i
z
e
Use case(s)
• Data structure differs
• Data content is
expanded upon
• Immediate
consistency required
• Golden copy moves
for the expanded
data to the new
database and
remains with existing
data in the old
database
Synchronization
technology(s)
• Amazon SQS
• Amazon Kinesis
• Amazon MQ
• Amazon MSK
• AWS Lambda
• Generic queue process
Inverted Y-shaped pattern
20
Write
Read
Use case(s)
• Data structure remains
consistent
• Data content remains
consistent
• Immediate consistency
required
• Golden copy remains
with old, and only,
database
Old
Monolith Strangler
Synchronize technology(s)
• Amazon ElastiCache
• Generic caching
Read
Slanted V-shaped pattern
21
Broad Database and Analytics Services Portfolio
Relational
Databases
Nonrelational
Databases
Data
Warehouses
Hadoop
and Spark
Amazon
Redshift
Amazon
EMR
Operational
Analytics
Amazon
Elasticsearch
Service
Amazon
Aurora
Amazon
DynamoDB
Business
Intelligence
Amazon
QuickSight
Amazon
RDS
Amazon
DocumentDB
Amazon
ElastiCache
Real-time
Analytics
Amazon
Managed
Streaming for
Apache Kafka
PostgreSQL
Logstash
Elasticsearch
Kibana
Microsoft SQL
Server
Microsoft SQL
Server
22
AWS Cloud
VPC
Region
Users
API
Gateway
Lambda function hot
spot 1
EC2
instances
ELB
Amazon RDS
master
Synchronous
replication
RDS
standby
Auto Scaling
group
EC2
instances
Amazon
DynamoDB
AWS Database
Migration Service
Function
invocations
T
h
e
i
m
a
g
e
p
a
r
t
w
i
t
h
r
e
l
a
t
i
o
n
s
h
i
p
I
D
r
I
d
2
8
w
a
s
n
o
t
f
Step 5: Canary release
Web and
app layer
Database
layer
24
X-Ray canary service map
25
Step 6: Iteratively strangulate
AWS Cloud
VPC
EC2
instance
EC2
instance
ELB
Amazon RDS
master
Synchronous
replication
RDS
standby
Region
Users
Auto Scaling
group
API
Gateway
Lambda function
hot spot 1
Function
invocations
DynamoDB
EC2
instances
ELB
Amazon Aurora
AWS Database
Migration
Service
Web and
app layer
Database
layer
26
Step 7: “Not with a bang but a whimper”
AWS Cloud
VPC
ELB
Region
Users
API
Gateway
Lambda function
hot spot 1
DynamoDB
EC2
instances
ELB
Aurora
RDS
AWS
Fargate
Function
invocations
27
Step 7: ”Not with a bang but a whimper”
AWS Cloud
VPC
Region
Users
API
Gateway
ELB
API
Gateway
Lambda function hot
spot 1
Function
invocations
DynamoDB
EC2
instances
ELB
Aurora
RDS
Fargate
28
Takeaways
• “Just move it”1 (Jim Scholefield, Nike Global CIO) is often good advice
• Customers have seen 25%-30% saves without going “cloud native”
• Re-hosting offers lowest time to value and is a platform for more value
• Re-architecting might be appropriate for applications with a bright
future
• Consider the strangler pattern to realize that value incrementally
• AWS services like API Gateway and Lambda are accelerators
• And, they don’t require you to “spend to save” – no extra infrastructure
• Leverage canaries and other modern techniques to validate new
features
29
Thank you!
Thanh Nguyen
nnthanh@amazon.com
@nnthanh101

More Related Content

What's hot (20)

PPT
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
PPTX
DevOps Patterns - Team Topologies
Matthew Skelton
 
PPTX
Cloud migration slides
Erika Barron
 
PPTX
What is AWS?
Martin Yan
 
PPTX
Google App Engine
Urmi510
 
PPTX
Aws ppt
RamyaG50
 
PDF
Cloud computing saas
Yukti Kaura
 
PPTX
Azure dev ops
Swaminathan Vetri
 
PPTX
Introduction to Google Cloud Services / Platforms
Nilanchal
 
PDF
Cloud computing Basics
Sagar Sane
 
PPTX
Cloud Native: what is it? Why?
Juan Pablo Genovese
 
PPS
Software Devlopment Life Cycle
Vivek Gupta
 
PPTX
DevOps Engineer Day-to-Day Activities
Intellipaat
 
PPTX
GitHub Copilot.pptx
Luis Beltran
 
PPTX
Scalability and Reliability in the Cloud
gmthomps
 
PDF
AWS Cloud Adoption Framework and Workshops
Tom Laszewski
 
PPTX
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Floyd DCosta
 
PDF
Microsoft Azure Cloud Services
David J Rosenthal
 
PPTX
Requirements analysis and modeling
Syed Zaid Irshad
 
PDF
Introduction to Google Cloud Platform
Sujai Prakasam
 
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
DevOps Patterns - Team Topologies
Matthew Skelton
 
Cloud migration slides
Erika Barron
 
What is AWS?
Martin Yan
 
Google App Engine
Urmi510
 
Aws ppt
RamyaG50
 
Cloud computing saas
Yukti Kaura
 
Azure dev ops
Swaminathan Vetri
 
Introduction to Google Cloud Services / Platforms
Nilanchal
 
Cloud computing Basics
Sagar Sane
 
Cloud Native: what is it? Why?
Juan Pablo Genovese
 
Software Devlopment Life Cycle
Vivek Gupta
 
DevOps Engineer Day-to-Day Activities
Intellipaat
 
GitHub Copilot.pptx
Luis Beltran
 
Scalability and Reliability in the Cloud
gmthomps
 
AWS Cloud Adoption Framework and Workshops
Tom Laszewski
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Floyd DCosta
 
Microsoft Azure Cloud Services
David J Rosenthal
 
Requirements analysis and modeling
Syed Zaid Irshad
 
Introduction to Google Cloud Platform
Sujai Prakasam
 

Similar to Migrating Monolithic Applications with the Strangler Pattern (20)

PPTX
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
nwcloud
 
PPTX
Aws Migration Strategies
LyticswareTechnologi
 
PDF
AWS Summit Seoul 2015 - AWS 최신 서비스 살펴보기 - Aurora, Lambda, EFS, Machine Learn...
Amazon Web Services Korea
 
PPTX
Evolving your api architecture with the strangler pattern
dwcarter74
 
PPTX
Converged Infrastructures on Kubernetes with Kubevirt
kloia
 
PDF
Migrating to Microservices Patterns and Technologies (edition 2023)
Ahmed Misbah
 
PDF
Application modernization patterns with apache kafka, debezium, and kubernete...
Bilgin Ibryam
 
PPT
Technology Overview
Liran Zelkha
 
PPTX
Architecting Cloud Apps
jineshvaria
 
PDF
Container Days: Architecting Modern Apps on AWS
Tara Walker
 
PPTX
Presentación Marcos Grilanda /Amazon Web Services - eCommerce Day Santiago 2017
eCommerce Institute
 
PPTX
Monoliths, Migrations, and Microservices
Randy Shoup
 
PDF
Cloud application architecture with Microsoft Azure
Guillermo Zepeda Selman
 
PPTX
Cloud First Architecture
Cameron Vetter
 
PPTX
Building a mature foundation for life in the cloud
Impetus Technologies
 
PDF
2020-04-02 DevConf - How to migrate an existing application to serverless
Marcia Villalba
 
PDF
Accelerating Migrations = Recommendations
isBullShit
 
PDF
CRM Trilogix; Migrating Legacy Systems to the Cloud
Craig F.R Read
 
PDF
Big data and Analytics on AWS
2nd Watch
 
PDF
Deep dive session - how to achieve database freedom
Ritesh Toshniwal
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
nwcloud
 
Aws Migration Strategies
LyticswareTechnologi
 
AWS Summit Seoul 2015 - AWS 최신 서비스 살펴보기 - Aurora, Lambda, EFS, Machine Learn...
Amazon Web Services Korea
 
Evolving your api architecture with the strangler pattern
dwcarter74
 
Converged Infrastructures on Kubernetes with Kubevirt
kloia
 
Migrating to Microservices Patterns and Technologies (edition 2023)
Ahmed Misbah
 
Application modernization patterns with apache kafka, debezium, and kubernete...
Bilgin Ibryam
 
Technology Overview
Liran Zelkha
 
Architecting Cloud Apps
jineshvaria
 
Container Days: Architecting Modern Apps on AWS
Tara Walker
 
Presentación Marcos Grilanda /Amazon Web Services - eCommerce Day Santiago 2017
eCommerce Institute
 
Monoliths, Migrations, and Microservices
Randy Shoup
 
Cloud application architecture with Microsoft Azure
Guillermo Zepeda Selman
 
Cloud First Architecture
Cameron Vetter
 
Building a mature foundation for life in the cloud
Impetus Technologies
 
2020-04-02 DevConf - How to migrate an existing application to serverless
Marcia Villalba
 
Accelerating Migrations = Recommendations
isBullShit
 
CRM Trilogix; Migrating Legacy Systems to the Cloud
Craig F.R Read
 
Big data and Analytics on AWS
2nd Watch
 
Deep dive session - how to achieve database freedom
Ritesh Toshniwal
 
Ad

More from Thanh Nguyen (20)

PPTX
Building a NFT Marketplace DApp
Thanh Nguyen
 
PPTX
Serverless Architecture 101 ⚡
Thanh Nguyen
 
PPTX
The fundamentals of AWS Cloud Security 🛠⛅️🚀
Thanh Nguyen
 
PDF
E301 Elastic Beanstalk PaaS
Thanh Nguyen
 
PDF
Serverless Data Lake on AWS
Thanh Nguyen
 
PPSX
SmartChat WhatsApp-clone using AWS Amplify AppSync
Thanh Nguyen
 
PDF
Introduction to Ethereum Blockchain & Smart Contract
Thanh Nguyen
 
PPTX
Amazon AWS Free-Tier
Thanh Nguyen
 
PPT
Rapid Software Development Process
Thanh Nguyen
 
PDF
PMI ACP Classroom Question Paper
Thanh Nguyen
 
PDF
PMI ACP Classroom Question Paper with Answers
Thanh Nguyen
 
PDF
PMI-ACP Case Study
Thanh Nguyen
 
PDF
PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
Thanh Nguyen
 
PDF
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
Thanh Nguyen
 
PDF
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
Thanh Nguyen
 
PDF
PMI-ACP Lesson 12 Knowledge and Skills Nugget 1
Thanh Nguyen
 
PDF
PMI-ACP Lesson 11 Agile Value Stream Analysis
Thanh Nguyen
 
PDF
PMI-ACP Lesson 10 Agile Metrics
Thanh Nguyen
 
PDF
PMI-ACP Lesson 9 Agile Risk Management
Thanh Nguyen
 
PDF
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
Thanh Nguyen
 
Building a NFT Marketplace DApp
Thanh Nguyen
 
Serverless Architecture 101 ⚡
Thanh Nguyen
 
The fundamentals of AWS Cloud Security 🛠⛅️🚀
Thanh Nguyen
 
E301 Elastic Beanstalk PaaS
Thanh Nguyen
 
Serverless Data Lake on AWS
Thanh Nguyen
 
SmartChat WhatsApp-clone using AWS Amplify AppSync
Thanh Nguyen
 
Introduction to Ethereum Blockchain & Smart Contract
Thanh Nguyen
 
Amazon AWS Free-Tier
Thanh Nguyen
 
Rapid Software Development Process
Thanh Nguyen
 
PMI ACP Classroom Question Paper
Thanh Nguyen
 
PMI ACP Classroom Question Paper with Answers
Thanh Nguyen
 
PMI-ACP Case Study
Thanh Nguyen
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
Thanh Nguyen
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 3
Thanh Nguyen
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
Thanh Nguyen
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 1
Thanh Nguyen
 
PMI-ACP Lesson 11 Agile Value Stream Analysis
Thanh Nguyen
 
PMI-ACP Lesson 10 Agile Metrics
Thanh Nguyen
 
PMI-ACP Lesson 9 Agile Risk Management
Thanh Nguyen
 
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
Thanh Nguyen
 
Ad

Recently uploaded (20)

PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
July Patch Tuesday
Ivanti
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
July Patch Tuesday
Ivanti
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 

Migrating Monolithic Applications with the Strangler Pattern

  • 1. 1 Migrating Monolithic Applications with the Strangler Pattern Thanh Nguyen Senior Solutions Architect BUILDING MODERN APPLICATIONS 🌥🎯🚀
  • 2. 2 q Strangler Pattern 101 q Strangler Pattern Strategy in action q Data Access Patterns q Canary release q Deploy & Scale Monolith using ElasticBeanstalk PaaS Agenda
  • 3. 3 Reasons to Modernize Cost reduction Data center consolidation Digital transformation Agility/dev productivity Business Modernization
  • 4. 4 The 6 Rs: Application Migration Strategies R e - a r c h i t e c t ( r e w r i t i n g / d e c o u p l i n g a p p l i c a t i o n s ) Redesign application/ infrastructure architecture Application code development Full ALM/ SDLC Integration Re-purchase (replace – drop & shop) Purchase COTS/ SaaS & licensing Manual install & setup Re-platform (lift & reshape) Modify underlying infrastructure Determine new platform Retain/ revisit Manual Manual config Manual deploy Manual install Retire/ decommission Re-host (lift & shift) Discover/assess/prioritize applications Determine migration path Use migration tools Transition Production Validation Automate
  • 5. 5 Re-host migration strategy The re-host migration strategy, referred to as the “lift and shift” approach, is to move applications without changes In large-scale, legacy migrations, organizations are looking to move quickly to meet business objectives The majority of these applications are re-hosted Discover/assess/ prioritize applications Determine migration path Automate Use migration tools Validation Transition Production
  • 6. 6 Comparison of Migration Strategies Effort (time & cost) Opportunity to optimize Retire N/A N/A Retain N/A Re-host Re-purchase Re-platform Re-architect Strangler
  • 7. 7 Martin Fowler’s Strangler Pattern “…gradually create a new system around the edges of the old, letting it grow slowly over several years until the old system is strangled.” Martin Fowler June 29, 2004
  • 8. 8 Creating a new system around the edges Monolith Browser DB Proxy Browser Service DB Proxy Browser Service DB Service DB Service DB DB DB Monolith Monolith
  • 10. 10 Corporate Data Center Monolith AWS Cloud VPC Availability Zone 1 Availability Zone 2 Web & App layer Amazon EC2 instances ELB Amazon RDS master Database layer Synchronous replication RDS standby Region Users Auto Scaling Group EC2 instances Step 1: Re-host application
  • 11. 11 Corporate Data Center Monolith AWS Cloud VPC Availability Zone 1 Availability Zone 2 Synchronous replication RDS standby Region Users EC2 instances Step 1: Re-host application Amazon EC2 instances ELB Amazon RDS master Auto Scaling group Web & App layer Database layer
  • 12. 12 Step 2: Facade with Amazon API Gateway AWS Cloud VPC Availability Zone 1 Availability Zone 2 Region Users API Gateway EC2 instances ELB Amazon RDS master Synchronous replication RDS standby Auto Scaling group EC2 instances Web & App layer Database layer
  • 13. 13 Step 2: Facade with API Gateway – Setup
  • 14. 14 AWS Cloud VPC Availability Zone 1 Availability Zone 2 Region Users API Gateway Amazon CloudWatch EC2 instances ELB Amazon RDS master Synchronous replication RDS standby Auto Scaling group EC2 instances Step 3: Detect & measure hot spots Web & App layer Database layer
  • 15. 15 Step 3: Detect & measure hot spots AWS Cloud VPC Availability Zone 1 Availability Zone 2 Region Users API Gateway AWS X-Ray EC2 instances ELB Amazon RDS master Synchronous replication RDS standby Auto Scaling group EC2 instances Web & App layer Database layer
  • 16. 16 AWS Cloud VPC Region Users API Gateway Lambda function hot spot 1 EC2 instances ELB Amazon RDS master Synchronous replication RDS standby Auto Scaling group EC2 instances AWS Database Migration Service Amazon DynamoDB Step 4: Create AWS Lambda for top hot spot Web & App layer Database layer
  • 17. 17 Write Read Synchronize Use case(s) • Data structure stays consistent • Data content stays consistent • Eventual consistency acceptable o Batch synchronize • Golden copy remains with old database Old New Monolith Strangler Synchronization technology(s) • Triggers • AWS Database Migration Service • Generic batch process Read L-shaped pattern
  • 18. 18 Write Read Synchronize Use case(s) • Data structure differs • Data content is expanded upon • Eventual consistency acceptable o Batch synchronize • Golden copy for expanded schema to new database and remains with existing data in the old database Old New Monolith Strangler Synchronization technology(s) • Events • AWS Database Migration Services • Generic batch process Read Backwards L-shaped pattern
  • 19. 19 Write Read S y n c h r o n i z e Old New Monolith Strangler Read S y n c h r o n i z e Use case(s) • Data structure differs • Data content is expanded upon • Immediate consistency required • Golden copy moves for the expanded data to the new database and remains with existing data in the old database Synchronization technology(s) • Amazon SQS • Amazon Kinesis • Amazon MQ • Amazon MSK • AWS Lambda • Generic queue process Inverted Y-shaped pattern
  • 20. 20 Write Read Use case(s) • Data structure remains consistent • Data content remains consistent • Immediate consistency required • Golden copy remains with old, and only, database Old Monolith Strangler Synchronize technology(s) • Amazon ElastiCache • Generic caching Read Slanted V-shaped pattern
  • 21. 21 Broad Database and Analytics Services Portfolio Relational Databases Nonrelational Databases Data Warehouses Hadoop and Spark Amazon Redshift Amazon EMR Operational Analytics Amazon Elasticsearch Service Amazon Aurora Amazon DynamoDB Business Intelligence Amazon QuickSight Amazon RDS Amazon DocumentDB Amazon ElastiCache Real-time Analytics Amazon Managed Streaming for Apache Kafka PostgreSQL Logstash Elasticsearch Kibana Microsoft SQL Server Microsoft SQL Server
  • 22. 22 AWS Cloud VPC Region Users API Gateway Lambda function hot spot 1 EC2 instances ELB Amazon RDS master Synchronous replication RDS standby Auto Scaling group EC2 instances Amazon DynamoDB AWS Database Migration Service Function invocations T h e i m a g e p a r t w i t h r e l a t i o n s h i p I D r I d 2 8 w a s n o t f Step 5: Canary release Web and app layer Database layer
  • 24. 25 Step 6: Iteratively strangulate AWS Cloud VPC EC2 instance EC2 instance ELB Amazon RDS master Synchronous replication RDS standby Region Users Auto Scaling group API Gateway Lambda function hot spot 1 Function invocations DynamoDB EC2 instances ELB Amazon Aurora AWS Database Migration Service Web and app layer Database layer
  • 25. 26 Step 7: “Not with a bang but a whimper” AWS Cloud VPC ELB Region Users API Gateway Lambda function hot spot 1 DynamoDB EC2 instances ELB Aurora RDS AWS Fargate Function invocations
  • 26. 27 Step 7: ”Not with a bang but a whimper” AWS Cloud VPC Region Users API Gateway ELB API Gateway Lambda function hot spot 1 Function invocations DynamoDB EC2 instances ELB Aurora RDS Fargate
  • 27. 28 Takeaways • “Just move it”1 (Jim Scholefield, Nike Global CIO) is often good advice • Customers have seen 25%-30% saves without going “cloud native” • Re-hosting offers lowest time to value and is a platform for more value • Re-architecting might be appropriate for applications with a bright future • Consider the strangler pattern to realize that value incrementally • AWS services like API Gateway and Lambda are accelerators • And, they don’t require you to “spend to save” – no extra infrastructure • Leverage canaries and other modern techniques to validate new features