SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its Affiliates.
How to migrate an existing
application to serverless
Marcia Villalba
@mavi888uy
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, 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
© 2019, 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
© 2019, 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
© 2019, Amazon Web Services, Inc. or its Affiliates.
Function as a Service (FaaS)
“AWS Lambda lets you run code without
provisioning or managing servers. ...
…Just upload your code and Lambda takes care
of everything required to run and scale your code
with high availability.
You can set up your code to automatically
trigger from other AWS services or call it directly
from any web or mobile app”
AWS – Lambda definition
AWS
Lambda
© 2019, Amazon Web Services, Inc. or its Affiliates.
How AWS Lambda works?
Event source Function Services
Node.js
Python
Java
C#
Go
Custom runtimes
Changes in
data state
Requests to
endpoints
Changes in
resource state
Amazon S3
DynamoDB
Amazon
SQS
© 2019, Amazon Web Services, Inc. or its Affiliates.
Managed services
Amazon S3
Amazon SQS
DynamoDB
© 2019, Amazon Web Services, Inc. or its Affiliates.
Managing unknowns
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Lack of technology knowledge
© 2019, Amazon Web Services, Inc. or its Affiliates.
Will this solve my problem?
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Foundational work
© 2019, Amazon Web Services, Inc. or its Affiliates.
Conway Law
”Any organization that designs a system will inevitably
produce a design whose structure is a copy of the
organization communication structure…”
Melvin Conway
Reverse Conway’s maneuver
Structure your organization to match the software you
would like to build
Small, agile teams – Two pizza teams
© 2019, Amazon Web Services, Inc. or its Affiliates.
Pick your tools
- Programming languages
- Deployment frameworks
- Developer tools
© 2019, Amazon Web Services, Inc. or its Affiliates.
Use Infrastructure as code
1. Minimize risk and bugs
2. Make infrastructure changes
repeatable and predictable
3. infrastructure changes using the
same tools as code changes
© 2019, Amazon Web Services, Inc. or its Affiliates.
CI/CD
© 2019, Amazon Web Services, Inc. or its Affiliates.
Monitoring and observability
Make sure that all your services send
metrics and logs
Pick a centralized tool for handling this
© 2019, Amazon Web Services, Inc. or its Affiliates.
Migration strategies
The real fun part 😅
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
The big rewrite
Please don’t do it
Strategy 1
© 2019, Amazon Web Services, Inc. or its Affiliates.
Strategy 2 - The monolithic function
Move your existing monolith with the least amount of changes to a big
function.
If you application is too big, move it to AWS Fargate – Serverless containers
© 2019, Amazon Web Services, Inc. or its Affiliates.
Strategy 2 - The monolithic function
Good option if you want to migrate from an on-prem to the cloud
Combined with the next pattern it can be the first step
Some tools to help you out:
• For NodeJS:
- Serverless express (https://serverless.com/plugins/serverless-express/)
- Serverless HTTP (https://github.com/dougmoscrop/serverless-http)
• For Java
- Serverless Java Container (https://github.com/awslabs/aws-serverless-java-
container)
© 2019, Amazon Web Services, Inc. or its Affiliates.
Strategy 3 - Strangler pattern
Monolith
Users
DB
Monolith
Service1
LB
Users
DBDB
Monolith
LB
Service1 Service n
Users
DB DB DB
© 2019, Amazon Web Services, Inc. or its Affiliates.
The strangler pattern
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Steps for doing the strangler pattern
Migrating to serverless in 5 steps
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Big mess of Customer, orders and inventory business logic
OrderId Order info
CustomerId Customer
info…
CustomerId OrderId OrderId ItemId
ItemId Item info
DB manager
Authentication / User management
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Step 1 – Find the seams in the code
”… a seam is a portion of the code that can be treated
in isolation and worked on without impacting the rest
of the codebase…”
Michael Feathers
© 2019, Amazon Web Services, Inc. or its Affiliates.
Step 1 – Find the bounded context in the code
Examples of seams in Java
Package content
- Organize your code inside different packages if its not done already
Example of seams in Javascript
Modules
- Be careful when moving things around if you don’t have unit tests.
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
ItemsCustomersOrders
OrderId Order info
CustomerId Customer
info…
CustomerId OrderId OrderId ItemId
ItemId Item info
DB manager
Authentication / User management
© 2019, Amazon Web Services, Inc. or its Affiliates.
Package1
Repository1
Package2
Repository2
PackageN
Repository
N
Monolithic application
DB
Step 2 – Organizing the data
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
ItemsCustomers Orders
OrderId Order info
CustomerId Customer
info…
CustomerId OrderId
OrderId ItemId
ItemId Item info
DB order manager
DB customer
manager
DB items manager
Authentication / User management
© 2019, Amazon Web Services, Inc. or its Affiliates.
Step 3 – Move the code gracefully
1. Choose what to
migrate first
2. Rebuild it as a
serverless component
Tidy
Monolith
Users
DB
Tidy
Monolith
Service1
LB
Users
DBDB
© 2019, Amazon Web Services, Inc. or its Affiliates.
Where to start?
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
🤔
© 2019, Amazon Web Services, Inc. or its Affiliates.
My strategy
Start with the least critical
part of your system (2 or 3
services)
Then move the most
critical part
© 2019, Amazon Web Services, Inc. or its Affiliates.
Some things to rethink when
moving to serverless
© 2019, 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
© 2019, Amazon Web Services, Inc. or its Affiliates.
Evolutionary architecture
- Modularity and decoupling
- Organized around business capabilities
- Experimentation
Rebecca Parsons and Neal Ford
© 2019, Amazon Web Services, Inc. or its Affiliates.
Single responsibility principle
“A class should have only one reason to change”
Robert C. Martin – Uncle Bob
In the serverless worlds this means:
- Simpler functions – easier to know what they are doing
- Less code to test
- Single purpose functions are more secure
- Single purpose functions perform better
© 2019, Amazon Web Services, Inc. or its Affiliates.
Orchestration pattern
Process manager will handle all the incoming events
Knows the status of all the processes running
Knows how to make all the services work together
© 2019, Amazon Web Services, Inc. or its Affiliates.
Get order
detailsGet order
details
Orchestration pattern
Get customer
orders
DB
Eg. Get customer orders
Get order
details
Order service
Generate
results
© 2019, Amazon Web Services, Inc. or its Affiliates.
Choreography and event driven architectures
Add a customer
Save
customer info
DB
Generate
thumbnail
Update
customer info
with
thumbnail
DBStorage
© 2019, Amazon Web Services, Inc. or its Affiliates.
Components emit events and other components react to those events
We don’t want components talking to each other as this adds a lot of coupling
Choreography and event driven architectures
© 2019, Amazon Web Services, Inc. or its Affiliates.
So we need a router
© 2019, Amazon Web Services, Inc. or its Affiliates.
Why do you need a router?
© 2019, 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
© 2019, Amazon Web Services, Inc. or its Affiliates.
Replace existing functionality with managed services
Amazon Cognito
Order service
Customer
service
Items service
Users
© 2019, Amazon Web Services, Inc. or its Affiliates.
Serverless analytics pipeline
Amazon Cognito
Amazon S3 Users
Amazon
Kinesis Data
Firehose
Amazon
Athena
AWS Glue Amazon
QuickSight
S3
Bucket
AWS Cloud
Client
© 2019, Amazon Web Services, Inc. or its Affiliates.
Step 4 - Breaking the database
Logical microservices should own their data
Migrate the data to the new database
Rethink how your data is stored – noSQL, files, SQL,
ect.
© 2019, Amazon Web Services, Inc. or its Affiliates.
Step 5 – Breaking the APIs
We need to keep the APIS compatible after migration for our clients
We want to switch the traffic to the new service gradually
© 2019, Amazon Web Services, Inc. or its Affiliates.
Move traffic gradually to the new service
Tidy Monolith with
old service 1
Service1
Application Load
Balancer
Users
30% traffic
70% traffic
ALB Weighted Target Groups
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Case Study
© 2019, Amazon Web Services, Inc. or its Affiliates.
© 2019, Amazon Web Services, Inc. or its Affiliates.
SCALING CHALLENGES
350
DONATIONS PER SECOND
© 2019, 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
© 2019, 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
© 2019, 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
© 2019, 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
© 2019, 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
© 2019, Amazon Web Services, Inc. or its Affiliates.
Donate
bit.ly/cr-donate-blueprint
© 2019, Amazon Web Services, Inc. or its Affiliates.
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.
© 2019, Amazon Web Services, Inc. or its Affiliates.
WE COULD DO
IT ALL AGAIN TOMORROW
Serverless services cost
$92
© 2019, Amazon Web Services, Inc. or its Affiliates.
comicrelief.com/donate
© 2019, Amazon Web Services, Inc. or its Affiliates.
Closing remarks
© 2019, Amazon Web Services, Inc. or its Affiliates.
Best practices
Automate everything
Decompose for agility
Standardized tools
Infrastructure as code
© 2019, 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
© 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
Thank you!
Marcia Villalba
@mavi888uy

More Related Content

What's hot

Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Amazon Web Services
 
AWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureAWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructure
Cobus Bernard
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
Amazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Rohini Gaonkar
 
AWS Sydney Summit 2019 Re:Cap
AWS Sydney Summit 2019 Re:CapAWS Sydney Summit 2019 Re:Cap
AWS Sydney Summit 2019 Re:Cap
Injae Kwak
 
Security and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizationsSecurity and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizations
Reham Maher El-Safarini
 
Building Modern Applications on AWS
Building Modern Applications on AWSBuilding Modern Applications on AWS
Building Modern Applications on AWS
Injae Kwak
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
Amazon Web Services
 
The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...
The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...
The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...
Amazon Web Services Korea
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdf
Amazon Web Services
 
The Future of API Management Is Serverless
The Future of API Management Is ServerlessThe Future of API Management Is Serverless
The Future of API Management Is Serverless
Chris Munns
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
Reham Maher El-Safarini
 
No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ...
 No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ... No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ...
No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ...
AWS Summits
 
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Amazon Web Services
 
The new Normal - AWS at F5 Forum
The new Normal - AWS at F5 Forum The new Normal - AWS at F5 Forum
The new Normal - AWS at F5 Forum
Amazon Web Services
 
Rapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the CloudRapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the Cloud
Amazon Web Services
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
Amazon Web Services
 
Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...
Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...
Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...
Amazon Web Services
 
Simplify Your Front End Apps with Serverless Backend in the Cloud.
Simplify Your Front End Apps with Serverless Backend in the Cloud.Simplify Your Front End Apps with Serverless Backend in the Cloud.
Simplify Your Front End Apps with Serverless Backend in the Cloud.
Amazon Web Services
 
Welcome To Day One
Welcome To Day OneWelcome To Day One
Welcome To Day One
Amazon Web Services
 

What's hot (20)

Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
 
AWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureAWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructure
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AWS Sydney Summit 2019 Re:Cap
AWS Sydney Summit 2019 Re:CapAWS Sydney Summit 2019 Re:Cap
AWS Sydney Summit 2019 Re:Cap
 
Security and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizationsSecurity and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizations
 
Building Modern Applications on AWS
Building Modern Applications on AWSBuilding Modern Applications on AWS
Building Modern Applications on AWS
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...
The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...
The Next Wave of Retailing, An AWS Perspective - Tom Litchford 월드와이드 리테일 사업 개...
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdf
 
The Future of API Management Is Serverless
The Future of API Management Is ServerlessThe Future of API Management Is Serverless
The Future of API Management Is Serverless
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ...
 No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ... No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ...
No Hassle NoSQL - Amazon DynamoDB & Amazon DocumentDB | AWS Summit Tel Aviv ...
 
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
 
The new Normal - AWS at F5 Forum
The new Normal - AWS at F5 Forum The new Normal - AWS at F5 Forum
The new Normal - AWS at F5 Forum
 
Rapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the CloudRapid API Prototyping Using Serverless Backend in the Cloud
Rapid API Prototyping Using Serverless Backend in the Cloud
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
 
Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...
Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...
Accelerate your cloud strategy with AWS Training and Certification - ANC201 -...
 
Simplify Your Front End Apps with Serverless Backend in the Cloud.
Simplify Your Front End Apps with Serverless Backend in the Cloud.Simplify Your Front End Apps with Serverless Backend in the Cloud.
Simplify Your Front End Apps with Serverless Backend in the Cloud.
 
Welcome To Day One
Welcome To Day OneWelcome To Day One
Welcome To Day One
 

Similar to 2020-04-02 DevConf - How to migrate an existing application to serverless

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
Marcia Villalba
 
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
 
20200522 - How to migrate an existing app to serverless
20200522 - How to migrate an existing app to serverless20200522 - How to migrate an existing app to serverless
20200522 - How to migrate an existing app to serverless
Marcia Villalba
 
以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構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 Startup
Amazon Web Services LATAM
 
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
Amazon Web Services LATAM
 
AWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applicationsAWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applications
Cobus Bernard
 
Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.
Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.
Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.
Amazon Web Services LATAM
 
Building Business Workflows with AWS Step Functions
Building Business Workflows with AWS Step FunctionsBuilding Business Workflows with AWS Step Functions
Building Business Workflows with AWS Step Functions
Amazon Web Services
 
De un monolito a microservicios
De un monolito a microserviciosDe un monolito a microservicios
De un monolito a microservicios
Amazon Web Services
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
CI/CD for Modern Applications
CI/CD for Modern ApplicationsCI/CD for Modern Applications
CI/CD for Modern Applications
Amazon Web Services
 
Moving to DevOps
Moving to DevOpsMoving to DevOps
Moving to DevOps
Amazon Web Services
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWS
javier ramirez
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Introduction to Serverless Computing - OOP Munich
 Introduction to Serverless Computing - OOP Munich Introduction to Serverless Computing - OOP Munich
Introduction to Serverless Computing - OOP Munich
Boaz Ziniman
 
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
 
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
Amazon Web Services
 
Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...
Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...
Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...
Amazon Web Services
 
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Amazon Web Services
 

Similar to 2020-04-02 DevConf - How to migrate an existing application to serverless (20)

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
 
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 ...
 
20200522 - How to migrate an existing app to serverless
20200522 - How to migrate an existing app to serverless20200522 - How to migrate an existing app to serverless
20200522 - How to migrate an existing app to serverless
 
以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構以容器技術為基礎的混合雲設計架構
以容器技術為基礎的混合雲設計架構
 
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
 
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 DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applicationsAWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applications
 
Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.
Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.
Inovação Rápida: O caso de negócio para desenvolvimento de aplicações modernas.
 
Building Business Workflows with AWS Step Functions
Building Business Workflows with AWS Step FunctionsBuilding Business Workflows with AWS Step Functions
Building Business Workflows with AWS Step Functions
 
De un monolito a microservicios
De un monolito a microserviciosDe un monolito a microservicios
De un monolito a microservicios
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
CI/CD for Modern Applications
CI/CD for Modern ApplicationsCI/CD for Modern Applications
CI/CD for Modern Applications
 
Moving to DevOps
Moving to DevOpsMoving to DevOps
Moving to DevOps
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWS
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Introduction to Serverless Computing - OOP Munich
 Introduction to Serverless Computing - OOP Munich Introduction to Serverless Computing - OOP Munich
Introduction to Serverless Computing - OOP Munich
 
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-...
 
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
 
Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...
Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...
Move to SaaS: Deliver Desktop Apps with Amazon AppStream 2.0 (BAP312-R1) - AW...
 
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
 

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 nube
Marcia 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 @ HELTECH
Marcia Villalba
 
Building a personal brand
Building a personal brandBuilding a personal brand
Building a personal brand
Marcia Villalba
 
20200513 - CloudComputing UCU
20200513 - CloudComputing UCU20200513 - CloudComputing UCU
20200513 - CloudComputing UCU
Marcia Villalba
 
20200513 Getting started with AWS Amplify
20200513   Getting started with AWS Amplify20200513   Getting started with AWS Amplify
20200513 Getting started with AWS Amplify
Marcia 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 2020
Marcia Villalba
 
ReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsReInvent 2019 reCap Nordics
ReInvent 2019 reCap Nordics
Marcia 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 GraphQL
Marcia 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 GraphQL
Marcia 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 Conference
Marcia 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 steps
Marcia 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 practicas
Marcia Villalba
 
Serverless Empowering people
Serverless Empowering peopleServerless Empowering people
Serverless Empowering people
Marcia Villalba
 

More from Marcia Villalba (14)

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 - CloudComputing UCU
20200513 - CloudComputing UCU20200513 - CloudComputing UCU
20200513 - CloudComputing UCU
 
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

Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Steel & Timber Design according to British Standard
Steel & Timber Design according to British StandardSteel & Timber Design according to British Standard
Steel & Timber Design according to British Standard
AkolbilaEmmanuel1
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Basic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparelBasic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparel
top1002
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Steel & Timber Design according to British Standard
Steel & Timber Design according to British StandardSteel & Timber Design according to British Standard
Steel & Timber Design according to British Standard
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Basic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparelBasic Industrial Engineering terms for apparel
Basic Industrial Engineering terms for apparel
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 

2020-04-02 DevConf - How to migrate an existing application to serverless

  • 1. © 2019, Amazon Web Services, Inc. or its Affiliates. How to migrate an existing application to serverless Marcia Villalba @mavi888uy
  • 2. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
  • 3. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates.
  • 4. © 2019, 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
  • 5. © 2019, 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
  • 6. © 2019, 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
  • 7. © 2019, Amazon Web Services, Inc. or its Affiliates. Function as a Service (FaaS) “AWS Lambda lets you run code without provisioning or managing servers. ... …Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app” AWS – Lambda definition AWS Lambda
  • 8. © 2019, Amazon Web Services, Inc. or its Affiliates. How AWS Lambda works? Event source Function Services Node.js Python Java C# Go Custom runtimes Changes in data state Requests to endpoints Changes in resource state Amazon S3 DynamoDB Amazon SQS
  • 9. © 2019, Amazon Web Services, Inc. or its Affiliates. Managed services Amazon S3 Amazon SQS DynamoDB
  • 10. © 2019, Amazon Web Services, Inc. or its Affiliates. Managing unknowns
  • 11. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Lack of technology knowledge
  • 12. © 2019, Amazon Web Services, Inc. or its Affiliates. Will this solve my problem?
  • 13. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Foundational work
  • 14. © 2019, Amazon Web Services, Inc. or its Affiliates. Conway Law ”Any organization that designs a system will inevitably produce a design whose structure is a copy of the organization communication structure…” Melvin Conway Reverse Conway’s maneuver Structure your organization to match the software you would like to build Small, agile teams – Two pizza teams
  • 15. © 2019, Amazon Web Services, Inc. or its Affiliates. Pick your tools - Programming languages - Deployment frameworks - Developer tools
  • 16. © 2019, Amazon Web Services, Inc. or its Affiliates. Use Infrastructure as code 1. Minimize risk and bugs 2. Make infrastructure changes repeatable and predictable 3. infrastructure changes using the same tools as code changes
  • 17. © 2019, Amazon Web Services, Inc. or its Affiliates. CI/CD
  • 18. © 2019, Amazon Web Services, Inc. or its Affiliates. Monitoring and observability Make sure that all your services send metrics and logs Pick a centralized tool for handling this
  • 19. © 2019, Amazon Web Services, Inc. or its Affiliates. Migration strategies The real fun part 😅
  • 20. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. The big rewrite Please don’t do it Strategy 1
  • 21. © 2019, Amazon Web Services, Inc. or its Affiliates. Strategy 2 - The monolithic function Move your existing monolith with the least amount of changes to a big function. If you application is too big, move it to AWS Fargate – Serverless containers
  • 22. © 2019, Amazon Web Services, Inc. or its Affiliates. Strategy 2 - The monolithic function Good option if you want to migrate from an on-prem to the cloud Combined with the next pattern it can be the first step Some tools to help you out: • For NodeJS: - Serverless express (https://serverless.com/plugins/serverless-express/) - Serverless HTTP (https://github.com/dougmoscrop/serverless-http) • For Java - Serverless Java Container (https://github.com/awslabs/aws-serverless-java- container)
  • 23. © 2019, Amazon Web Services, Inc. or its Affiliates. Strategy 3 - Strangler pattern Monolith Users DB Monolith Service1 LB Users DBDB Monolith LB Service1 Service n Users DB DB DB
  • 24. © 2019, Amazon Web Services, Inc. or its Affiliates. The strangler pattern
  • 25. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Steps for doing the strangler pattern Migrating to serverless in 5 steps
  • 26. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Big mess of Customer, orders and inventory business logic OrderId Order info CustomerId Customer info… CustomerId OrderId OrderId ItemId ItemId Item info DB manager Authentication / User management
  • 27. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Step 1 – Find the seams in the code ”… a seam is a portion of the code that can be treated in isolation and worked on without impacting the rest of the codebase…” Michael Feathers
  • 28. © 2019, Amazon Web Services, Inc. or its Affiliates. Step 1 – Find the bounded context in the code Examples of seams in Java Package content - Organize your code inside different packages if its not done already Example of seams in Javascript Modules - Be careful when moving things around if you don’t have unit tests.
  • 29. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. ItemsCustomersOrders OrderId Order info CustomerId Customer info… CustomerId OrderId OrderId ItemId ItemId Item info DB manager Authentication / User management
  • 30. © 2019, Amazon Web Services, Inc. or its Affiliates. Package1 Repository1 Package2 Repository2 PackageN Repository N Monolithic application DB Step 2 – Organizing the data
  • 31. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. ItemsCustomers Orders OrderId Order info CustomerId Customer info… CustomerId OrderId OrderId ItemId ItemId Item info DB order manager DB customer manager DB items manager Authentication / User management
  • 32. © 2019, Amazon Web Services, Inc. or its Affiliates. Step 3 – Move the code gracefully 1. Choose what to migrate first 2. Rebuild it as a serverless component Tidy Monolith Users DB Tidy Monolith Service1 LB Users DBDB
  • 33. © 2019, Amazon Web Services, Inc. or its Affiliates. Where to start? 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 🤔
  • 34. © 2019, Amazon Web Services, Inc. or its Affiliates. My strategy Start with the least critical part of your system (2 or 3 services) Then move the most critical part
  • 35. © 2019, Amazon Web Services, Inc. or its Affiliates. Some things to rethink when moving to serverless
  • 36. © 2019, 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
  • 37. © 2019, Amazon Web Services, Inc. or its Affiliates. Evolutionary architecture - Modularity and decoupling - Organized around business capabilities - Experimentation Rebecca Parsons and Neal Ford
  • 38. © 2019, Amazon Web Services, Inc. or its Affiliates. Single responsibility principle “A class should have only one reason to change” Robert C. Martin – Uncle Bob In the serverless worlds this means: - Simpler functions – easier to know what they are doing - Less code to test - Single purpose functions are more secure - Single purpose functions perform better
  • 39. © 2019, Amazon Web Services, Inc. or its Affiliates. Orchestration pattern Process manager will handle all the incoming events Knows the status of all the processes running Knows how to make all the services work together
  • 40. © 2019, Amazon Web Services, Inc. or its Affiliates. Get order detailsGet order details Orchestration pattern Get customer orders DB Eg. Get customer orders Get order details Order service Generate results
  • 41. © 2019, Amazon Web Services, Inc. or its Affiliates. Choreography and event driven architectures Add a customer Save customer info DB Generate thumbnail Update customer info with thumbnail DBStorage
  • 42. © 2019, Amazon Web Services, Inc. or its Affiliates. Components emit events and other components react to those events We don’t want components talking to each other as this adds a lot of coupling Choreography and event driven architectures
  • 43. © 2019, Amazon Web Services, Inc. or its Affiliates. So we need a router
  • 44. © 2019, Amazon Web Services, Inc. or its Affiliates. Why do you need a router?
  • 45. © 2019, 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
  • 46. © 2019, Amazon Web Services, Inc. or its Affiliates. Replace existing functionality with managed services Amazon Cognito Order service Customer service Items service Users
  • 47. © 2019, Amazon Web Services, Inc. or its Affiliates. Serverless analytics pipeline Amazon Cognito Amazon S3 Users Amazon Kinesis Data Firehose Amazon Athena AWS Glue Amazon QuickSight S3 Bucket AWS Cloud Client
  • 48. © 2019, Amazon Web Services, Inc. or its Affiliates. Step 4 - Breaking the database Logical microservices should own their data Migrate the data to the new database Rethink how your data is stored – noSQL, files, SQL, ect.
  • 49. © 2019, Amazon Web Services, Inc. or its Affiliates. Step 5 – Breaking the APIs We need to keep the APIS compatible after migration for our clients We want to switch the traffic to the new service gradually
  • 50. © 2019, Amazon Web Services, Inc. or its Affiliates. Move traffic gradually to the new service Tidy Monolith with old service 1 Service1 Application Load Balancer Users 30% traffic 70% traffic ALB Weighted Target Groups
  • 51. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Case Study
  • 52. © 2019, Amazon Web Services, Inc. or its Affiliates.
  • 53. © 2019, Amazon Web Services, Inc. or its Affiliates. SCALING CHALLENGES 350 DONATIONS PER SECOND
  • 54. © 2019, 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
  • 55. © 2019, 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
  • 56. © 2019, 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
  • 57. © 2019, 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
  • 58. © 2019, 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
  • 59. © 2019, Amazon Web Services, Inc. or its Affiliates. Donate bit.ly/cr-donate-blueprint
  • 60. © 2019, Amazon Web Services, Inc. or its Affiliates. 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.
  • 61. © 2019, Amazon Web Services, Inc. or its Affiliates. WE COULD DO IT ALL AGAIN TOMORROW Serverless services cost $92
  • 62. © 2019, Amazon Web Services, Inc. or its Affiliates. comicrelief.com/donate
  • 63. © 2019, Amazon Web Services, Inc. or its Affiliates. Closing remarks
  • 64. © 2019, Amazon Web Services, Inc. or its Affiliates. Best practices Automate everything Decompose for agility Standardized tools Infrastructure as code
  • 65. © 2019, 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
  • 66. © 2019, Amazon Web Services, Inc. or its Affiliates.© 2019, Amazon Web Services, Inc. or its Affiliates. Thank you! Marcia Villalba @mavi888uy