SlideShare a Scribd company logo
1 of 43
Download to read offline
© 2020, Amazon Web Services, Inc. or its Affiliates.
How to migrate an existing
application to serverless
Marcia Villalba
@mavi888uy
© 2020, Amazon Web Services, Inc. or its Affiliates.
About me
AWS Developer Advocate
Coding for more than 15 years
Host of FooBar YouTube Channel
https://youtube.com/foobar_codes
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
2 stories
rovio
Successful story
Not that
successful story
© 2020, Amazon Web Services, Inc. or its Affiliates.
Serverless
”Serverless is a
methodology for
planning, building and
deploying software in a
way that maximizes value
by minimizing
undifferentiated heavy
lifting…”
Jeremy Daly
© 2020, Amazon Web Services, Inc. or its Affiliates.
What it means that something is serverless?
No managing infrastructure High availability built in
Pay for what you useScales automagically
© 2020, Amazon Web Services, Inc. or its Affiliates.
@theburningmonk
© 2020, Amazon Web Services, Inc. or its Affiliates.
Story 1
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
The big
rewrite
Please don’t do it
Strategy 1
© 2020, Amazon Web Services, Inc. or its Affiliates.
Story 2
© 2020, Amazon Web Services, Inc. or its Affiliates.
SCALING CHALLENGES
350
DONATIONS PER SECOND
© 2020, Amazon Web Services, Inc. or its Affiliates.
2016
Drupal 7 monolith
- Static content
- Pay-in fundraising
- Gift aid declaration
- Fundraiser gallery
- Contact us
Giving
Pages
Donate
© 2020, Amazon Web Services, Inc. or its Affiliates.
Where to start migrating?
Strategy 1
Start with the least critical
part of your system
Strategy 2
Start with the part of the
system with the highest
return of invested time
🤔
© 2020, Amazon Web Services, Inc. or its Affiliates.
2017
Drupal 7 monolith
- Static content
- Contact us
Drupal 8
- Static content
Pay-in
fund-
raising
SMS
Gift aid
Fundraise
gallery
Giving
Pages
Donate
© 2020, Amazon Web Services, Inc. or its Affiliates.
2018
Drupal 8
- Static content
Pay-in fund-
raising
SMS
Gift aid
Giving
Pages
Donate
Contact
us
Red Nose
Comp
School
step calc
© 2020, Amazon Web Services, Inc. or its Affiliates.
2018
Drupal 8
- Static content
Pay-in fund-
raising
SMS
Gift aid
Contact
usGiving
Pages
Donate
Red Nose
Comp
School
step calc
Mailer Service
Postcode lookup
© 2020, Amazon Web Services, Inc. or its Affiliates.
2019
Drupal 8
- Static content
Pay-in fund-
raising
Contact
us
Payment Service layer
Image uploader service
Marketing preferences service
Mailer Service
Postcode lookup service
SMS Gift
Aid
Donate
Donate
bit.ly/cr-donate-blueprint
OLD VS NEW
March 2019 cost*
$5,393
March 2015 cost*
$83,908
*All hosting costs are paid for through corporate partnerships.
100% of public donations go to the projects we fund.
WE COULD DO
IT ALL AGAIN TOMORROW
Serverless services cost
$92
© 2020, Amazon Web Services, Inc. or its Affiliates.
comicrelief.com/donate
© 2020, Amazon Web Services, Inc. or its Affiliates.
Strategy 2 - Strangler pattern
Monolith
Users
DB
Monolith
Service1
LB
Users
DBDB
Monolith
LB
Service1 Service n
Users
DB DB DB
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps for doing the strangler pattern
Migrating to serverless in 5 steps
© 2020, Amazon Web Services, Inc. or its Affiliates.
Foundational work
© 2020, Amazon Web Services, Inc. or its Affiliates.
Things to do before getting started
- Reverse Conway manuover
- Pick your tools
- Use infrastructure as code
- CI/CD pipeline
- Monitoring and observability
© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps
1. Find the seams of the code – if you have a monolith
© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps
1. Find the seams of the code – if you have a monolith
2. Organize the code inside the monolith
© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps
1. Find the seams of the code – if you have a monolith
2. Organize the code inside the monolith
3. Move the code gracefully
© 2020, Amazon Web Services, Inc. or its Affiliates.
Express tips to design serverless
applications
© 2020, Amazon Web Services, Inc. or its Affiliates.
EXPRESS TIPS TO DESIGN SERVERLESS APPS
1. Logical microservices
© 2020, Amazon Web Services, Inc. or its Affiliates.
Tidy Monolith
LB
Users
Logical microservice
AWS Lambda AWS Lambda
AWS Lambda AWS Lambda
AWS Lambda
DB
DB
© 2020, Amazon Web Services, Inc. or its Affiliates.
EXPRESS TIPS TO DESIGN SERVERLESS APPS
1. Logical microservices
2. Event – driven architectures
© 2020, Amazon Web Services, Inc. or its Affiliates.
Decoupling the services and functions
- Independent releases
- Scalability
- Modular code
- Easy to maintain and to work on
- Adds resiliency to the application Amazon Simple
Notification
Service
Amazon Simple
Queue Service
Amazon
EventBridge
© 2020, Amazon Web Services, Inc. or its Affiliates.
Why do you need a router?
© 2020, Amazon Web Services, Inc. or its Affiliates.
EXPRESS TIPS TO DESIGN SERVERLESS APPS
1. Logical microservices
2. Event – driven architectures
3. Replace what you can with managed services
© 2020, Amazon Web Services, Inc. or its Affiliates.
Replace existing functionality with managed services
Amazon Cognito
Order service
Customer
service
Items service
Users
© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps
1. Find the seams of the code – if you have a monolith
2. Organize the code inside the monolith
3. Move the code gracefully
4. Break the database
© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps
1. Find the seams of the code – if you have a monolith
2. Organize the code inside the monolith
3. Move the code gracefully
4. Break the database
5. Break the APIs
© 2020, Amazon Web Services, Inc. or its Affiliates.
Closing remarks
© 2020, Amazon Web Services, Inc. or its Affiliates.
Steps start migrating
1 – Do the foundational work
2 – Move your monolith to the cloud if needed
3 – Find the seams for your code
4 – Organize the data layer
5 – Move the code to serverless
6 – Break the database
7 – Break the APIs
8 – Repeat from step 5 until 7 until you are done
© 2020, Amazon Web Services, Inc. or its Affiliates.
Thanks a lot
Marcia Villalba
Developer Advocate AWS
Twitter: @mavi888uy
YouTube: https://youtube.com/foobar_codes

More Related Content

What's hot

The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...Amazon Web Services
 
Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...
Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...
Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...Amazon Web Services
 
Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...
Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...
Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...Amazon Web Services
 
AWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAmazon Web Services LATAM
 
Promuovi il tuo progetto open source
Promuovi il tuo progetto open sourcePromuovi il tuo progetto open source
Promuovi il tuo progetto open sourceAmazon Web Services
 
Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...Amazon Web Services
 
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...AWS Summits
 
Continuous Integration and Continuous Delivery Best Practices for Building Mo...
Continuous Integration and Continuous Delivery Best Practices for Building Mo...Continuous Integration and Continuous Delivery Best Practices for Building Mo...
Continuous Integration and Continuous Delivery Best Practices for Building Mo...Amazon Web Services
 
Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019
Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019 Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019
Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019 Amazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesRohini Gaonkar
 
GPSBUS213-Success in the Public Sector Market
GPSBUS213-Success in the Public Sector MarketGPSBUS213-Success in the Public Sector Market
GPSBUS213-Success in the Public Sector MarketAmazon Web Services
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.James Beswick
 
Modern Applications Development on AWS
Modern Applications Development on AWSModern Applications Development on AWS
Modern Applications Development on AWSBoaz Ziniman
 
ai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisions
ai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisionsai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisions
ai mlLeverage Data and AI/ML to Drive New Experiences and Make Better DecisionsAmazon Web Services
 
From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo...
 From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo... From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo...
From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo...Amazon Web Services
 
Implementation of Amazon Connect, Powered By Accenture
Implementation of Amazon Connect, Powered By AccentureImplementation of Amazon Connect, Powered By Accenture
Implementation of Amazon Connect, Powered By AccentureAmazon Web Services
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019AWS Summits
 

What's hot (20)

The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
The Zen of governance - Establish guardrails and empower builders - SVC201 - ...
 
Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...
Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...
Migrate an existing application RESTful API’s to GraphQL using AWS Amplify an...
 
.NET on AWS
.NET on AWS.NET on AWS
.NET on AWS
 
Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...
Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...
Simplified data protection with Veeam, N2WS, and AWS - DEM10 - Santa Clara AW...
 
AWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your Startup
 
Promuovi il tuo progetto open source
Promuovi il tuo progetto open sourcePromuovi il tuo progetto open source
Promuovi il tuo progetto open source
 
AWS 如何加速國際化發展
AWS 如何加速國際化發展AWS 如何加速國際化發展
AWS 如何加速國際化發展
 
Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...
 
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
 
Continuous Integration and Continuous Delivery Best Practices for Building Mo...
Continuous Integration and Continuous Delivery Best Practices for Building Mo...Continuous Integration and Continuous Delivery Best Practices for Building Mo...
Continuous Integration and Continuous Delivery Best Practices for Building Mo...
 
Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019
Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019 Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019
Harnessing diversity to solve a people problem - FND312 - AWS re:Inforce 2019
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Welcome To Day One
Welcome To Day OneWelcome To Day One
Welcome To Day One
 
GPSBUS213-Success in the Public Sector Market
GPSBUS213-Success in the Public Sector MarketGPSBUS213-Success in the Public Sector Market
GPSBUS213-Success in the Public Sector Market
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.
 
Modern Applications Development on AWS
Modern Applications Development on AWSModern Applications Development on AWS
Modern Applications Development on AWS
 
ai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisions
ai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisionsai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisions
ai mlLeverage Data and AI/ML to Drive New Experiences and Make Better Decisions
 
From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo...
 From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo... From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo...
From Unattended Ground Sensors (UGS) to Installations; Leveraging AWS IoT fo...
 
Implementation of Amazon Connect, Powered By Accenture
Implementation of Amazon Connect, Powered By AccentureImplementation of Amazon Connect, Powered By Accenture
Implementation of Amazon Connect, Powered By Accenture
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 

Similar to 20200522 - How to migrate an existing app to serverless

20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...Marcia Villalba
 
2020-04-02 DevConf - How to migrate an existing application to serverless
2020-04-02 DevConf - How to migrate an existing application to serverless2020-04-02 DevConf - How to migrate an existing application to serverless
2020-04-02 DevConf - How to migrate an existing application to serverlessMarcia Villalba
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
AWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSAWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSCobus Bernard
 
JFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverlessJFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverlessMarcia Villalba
 
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusPengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusDicodingEvent
 
20200513 - CloudComputing UCU
20200513 - CloudComputing UCU20200513 - CloudComputing UCU
20200513 - CloudComputing UCUMarcia Villalba
 
What can you do with Serverless in 2020
What can you do with Serverless in 2020What can you do with Serverless in 2020
What can you do with Serverless in 2020Boaz Ziniman
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless Marcia Villalba
 
AWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAmazon Web Services LATAM
 
AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...Heitor Lessa
 
以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構Amazon Web Services
 
Best Practices for Using AWS Credits
Best Practices for Using AWS CreditsBest Practices for Using AWS Credits
Best Practices for Using AWS CreditsTechSoup
 
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitHow to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitAmazon Web Services
 
以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構Amazon Web Services
 
Building Like Amazon
Building Like AmazonBuilding Like Amazon
Building Like AmazonAggregage
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesAmazon Web Services
 

Similar to 20200522 - How to migrate an existing app to serverless (20)

20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...
 
2020-04-02 DevConf - How to migrate an existing application to serverless
2020-04-02 DevConf - How to migrate an existing application to serverless2020-04-02 DevConf - How to migrate an existing application to serverless
2020-04-02 DevConf - How to migrate an existing application to serverless
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
AWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSAWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWS
 
JFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverlessJFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverless
 
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi BarusPengantar Cloud Computing dengan AWS - Petra Novandi Barus
Pengantar Cloud Computing dengan AWS - Petra Novandi Barus
 
De un monolito a microservicios
De un monolito a microserviciosDe un monolito a microservicios
De un monolito a microservicios
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
20200513 - CloudComputing UCU
20200513 - CloudComputing UCU20200513 - CloudComputing UCU
20200513 - CloudComputing UCU
 
What can you do with Serverless in 2020
What can you do with Serverless in 2020What can you do with Serverless in 2020
What can you do with Serverless in 2020
 
Moving to DevOps the Amazon Way
Moving to DevOps the Amazon WayMoving to DevOps the Amazon Way
Moving to DevOps the Amazon Way
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless
 
AWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your Startup
 
AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...AWS Community Day Ireland - Building roads and bridges in the last decade of ...
AWS Community Day Ireland - Building roads and bridges in the last decade of ...
 
以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構
 
Best Practices for Using AWS Credits
Best Practices for Using AWS CreditsBest Practices for Using AWS Credits
Best Practices for Using AWS Credits
 
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitHow to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
 
以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構
 
Building Like Amazon
Building Like AmazonBuilding Like Amazon
Building Like Amazon
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless Architectures
 

More from Marcia Villalba

20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nube20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nubeMarcia Villalba
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...Marcia Villalba
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECHMarcia Villalba
 
Building a personal brand
Building a personal brandBuilding a personal brand
Building a personal brandMarcia Villalba
 
20200513 Getting started with AWS Amplify
20200513   Getting started with AWS Amplify20200513   Getting started with AWS Amplify
20200513 Getting started with AWS AmplifyMarcia Villalba
 
Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Marcia Villalba
 
ReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsMarcia Villalba
 
Serverless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLServerless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLMarcia Villalba
 
AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLMarcia Villalba
 
Serverless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture ConferenceServerless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture ConferenceMarcia Villalba
 
Serverless Computing London 2018 - Migrating services to serverless in 10 steps
Serverless Computing London 2018 - Migrating services to serverless in 10 stepsServerless Computing London 2018 - Migrating services to serverless in 10 steps
Serverless Computing London 2018 - Migrating services to serverless in 10 stepsMarcia Villalba
 
Octubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicas
Octubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicasOctubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicas
Octubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicasMarcia Villalba
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering peopleMarcia Villalba
 

More from Marcia Villalba (13)

20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nube20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nube
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH
 
Building a personal brand
Building a personal brandBuilding a personal brand
Building a personal brand
 
20200513 Getting started with AWS Amplify
20200513   Getting started with AWS Amplify20200513   Getting started with AWS Amplify
20200513 Getting started with AWS Amplify
 
Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020
 
ReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsReInvent 2019 reCap Nordics
ReInvent 2019 reCap Nordics
 
Serverless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLServerless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQL
 
AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQL
 
Serverless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture ConferenceServerless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture Conference
 
Serverless Computing London 2018 - Migrating services to serverless in 10 steps
Serverless Computing London 2018 - Migrating services to serverless in 10 stepsServerless Computing London 2018 - Migrating services to serverless in 10 steps
Serverless Computing London 2018 - Migrating services to serverless in 10 steps
 
Octubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicas
Octubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicasOctubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicas
Octubre 2018 - AWS UG Montevideo - Intro a Serverless y buenas practicas
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering people
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

20200522 - How to migrate an existing app to serverless

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. How to migrate an existing application to serverless Marcia Villalba @mavi888uy
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. About me AWS Developer Advocate Coding for more than 15 years Host of FooBar YouTube Channel https://youtube.com/foobar_codes
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. 2 stories rovio Successful story Not that successful story
  • 4. © 2020, Amazon Web Services, Inc. or its Affiliates. Serverless ”Serverless is a methodology for planning, building and deploying software in a way that maximizes value by minimizing undifferentiated heavy lifting…” Jeremy Daly
  • 5. © 2020, Amazon Web Services, Inc. or its Affiliates. What it means that something is serverless? No managing infrastructure High availability built in Pay for what you useScales automagically
  • 6. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 8. © 2020, Amazon Web Services, Inc. or its Affiliates. Story 1
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. The big rewrite Please don’t do it Strategy 1
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. Story 2
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. 2016 Drupal 7 monolith - Static content - Pay-in fundraising - Gift aid declaration - Fundraiser gallery - Contact us Giving Pages Donate
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. Where to start migrating? Strategy 1 Start with the least critical part of your system Strategy 2 Start with the part of the system with the highest return of invested time 🤔
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. 2017 Drupal 7 monolith - Static content - Contact us Drupal 8 - Static content Pay-in fund- raising SMS Gift aid Fundraise gallery Giving Pages Donate
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. 2018 Drupal 8 - Static content Pay-in fund- raising SMS Gift aid Giving Pages Donate Contact us Red Nose Comp School step calc
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates. 2018 Drupal 8 - Static content Pay-in fund- raising SMS Gift aid Contact usGiving Pages Donate Red Nose Comp School step calc Mailer Service Postcode lookup
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. 2019 Drupal 8 - Static content Pay-in fund- raising Contact us Payment Service layer Image uploader service Marketing preferences service Mailer Service Postcode lookup service SMS Gift Aid Donate
  • 21. OLD VS NEW March 2019 cost* $5,393 March 2015 cost* $83,908 *All hosting costs are paid for through corporate partnerships. 100% of public donations go to the projects we fund.
  • 22. WE COULD DO IT ALL AGAIN TOMORROW Serverless services cost $92
  • 23. © 2020, Amazon Web Services, Inc. or its Affiliates. comicrelief.com/donate
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. Strategy 2 - Strangler pattern Monolith Users DB Monolith Service1 LB Users DBDB Monolith LB Service1 Service n Users DB DB DB
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Steps for doing the strangler pattern Migrating to serverless in 5 steps
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates. Foundational work
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. Things to do before getting started - Reverse Conway manuover - Pick your tools - Use infrastructure as code - CI/CD pipeline - Monitoring and observability
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates. Steps 1. Find the seams of the code – if you have a monolith
  • 29. © 2020, Amazon Web Services, Inc. or its Affiliates. Steps 1. Find the seams of the code – if you have a monolith 2. Organize the code inside the monolith
  • 30. © 2020, Amazon Web Services, Inc. or its Affiliates. Steps 1. Find the seams of the code – if you have a monolith 2. Organize the code inside the monolith 3. Move the code gracefully
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. Express tips to design serverless applications
  • 32. © 2020, Amazon Web Services, Inc. or its Affiliates. EXPRESS TIPS TO DESIGN SERVERLESS APPS 1. Logical microservices
  • 33. © 2020, Amazon Web Services, Inc. or its Affiliates. Tidy Monolith LB Users Logical microservice AWS Lambda AWS Lambda AWS Lambda AWS Lambda AWS Lambda DB DB
  • 34. © 2020, Amazon Web Services, Inc. or its Affiliates. EXPRESS TIPS TO DESIGN SERVERLESS APPS 1. Logical microservices 2. Event – driven architectures
  • 35. © 2020, Amazon Web Services, Inc. or its Affiliates. Decoupling the services and functions - Independent releases - Scalability - Modular code - Easy to maintain and to work on - Adds resiliency to the application Amazon Simple Notification Service Amazon Simple Queue Service Amazon EventBridge
  • 36. © 2020, Amazon Web Services, Inc. or its Affiliates. Why do you need a router?
  • 37. © 2020, Amazon Web Services, Inc. or its Affiliates. EXPRESS TIPS TO DESIGN SERVERLESS APPS 1. Logical microservices 2. Event – driven architectures 3. Replace what you can with managed services
  • 38. © 2020, Amazon Web Services, Inc. or its Affiliates. Replace existing functionality with managed services Amazon Cognito Order service Customer service Items service Users
  • 39. © 2020, Amazon Web Services, Inc. or its Affiliates. Steps 1. Find the seams of the code – if you have a monolith 2. Organize the code inside the monolith 3. Move the code gracefully 4. Break the database
  • 40. © 2020, Amazon Web Services, Inc. or its Affiliates. Steps 1. Find the seams of the code – if you have a monolith 2. Organize the code inside the monolith 3. Move the code gracefully 4. Break the database 5. Break the APIs
  • 41. © 2020, Amazon Web Services, Inc. or its Affiliates. Closing remarks
  • 42. © 2020, Amazon Web Services, Inc. or its Affiliates. Steps start migrating 1 – Do the foundational work 2 – Move your monolith to the cloud if needed 3 – Find the seams for your code 4 – Organize the data layer 5 – Move the code to serverless 6 – Break the database 7 – Break the APIs 8 – Repeat from step 5 until 7 until you are done
  • 43. © 2020, Amazon Web Services, Inc. or its Affiliates. Thanks a lot Marcia Villalba Developer Advocate AWS Twitter: @mavi888uy YouTube: https://youtube.com/foobar_codes