SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
© 2020, Amazon Web Services, Inc. or its Affiliates.
How to migrate an existing
application to serverless
Marcia Villalba
Developer Advocate AWS
@mavi888uy
© 2020, Amazon Web Services, Inc. or its Affiliates.
About me
AWS Developer Advocate
Working with serverless since 2015
Host of FooBar YouTube Channel
https://youtube.com/foobar_codes
@mavi888uy
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
2 stories
rovio
Not that
successful story
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.© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, 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
© 2020, 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
APIs
Business
logic
© 2020, Amazon Web Services, Inc. or its Affiliates.
Managed services
Amazon S3
Amazon SQS
DynamoDB
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.© 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.
Managing unknowns
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Lack of technology knowledge
© 2020, Amazon Web Services, Inc. or its Affiliates.
Will this solve my problem?
© 2020, Amazon Web Services, Inc. or its Affiliates.
Foundational work
© 2020, 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
© 2020, Amazon Web Services, Inc. or its Affiliates.
Pick your tools
- Programming languages
- Deployment frameworks
- Developer tools
© 2020, 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
© 2020, Amazon Web Services, Inc. or its Affiliates.
CI/CD
© 2020, Amazon Web Services, Inc. or its Affiliates.
Check my other talk in the
conference later today J
© 2020, 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
© 2020, Amazon Web Services, Inc. or its Affiliates.
Observability in AWS
CloudWatch
Insights
CloudWatch
Alarms
CloudWatch
Dashboard
CloudWatch
ServiceLens
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda Power Tools
Tracing - Decorators and utilities to trace Lambda function handlers, and both
synchronous and asynchronous functions
Logging - Structured logging made easier, and decorator to enrich structured
logging with key Lambda context details
Metrics - Custom Metrics created asynchronously via CloudWatch Embedded
Metric Format (EMF)
https://github.com/awslabs/aws-lambda-powertools-python
https://github.com/awslabs/aws-lambda-powertools-java
https://github.com/getndazn/dazn-lambda-powertools
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
The big rewrite
Please don’t do it
© 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.
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.
The strangler pattern
© 2020, Amazon Web Services, Inc. or its Affiliates.
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.© 2020, 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
© 2020, 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.
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
© 2020, Amazon Web Services, Inc. or its Affiliates.
Package1
Repository1
Package2
Repository2
PackageN
Repository
N
Monolithic application
DB
Step 2 – Organizing the data
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
© 2020, 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
© 2020, 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
🤔
© 2020, Amazon Web Services, Inc. or its Affiliates.
Recommended strategy
Start with the least critical
part of your system (2 or 3
services)
Then move the most critical
part
© 2020, Amazon Web Services, Inc. or its Affiliates.
Express tips to design serverless
applications
© 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
Logical Microservices
© 2020, Amazon Web Services, Inc. or its Affiliates.
Microservices architectures
Mobile client
Client
IoT
API
Gateway
Shipping DB
Inventory DB
Store Front
Web App
Shipment
Query
Inventory
Query
Logical microservice
AWS Lambda
AWS Lambda
AWS Lambda
SQS
Amazon DynamoDB
© 2020, Amazon Web Services, Inc. or its Affiliates.
Integration options from AWS
Amazon
API Gateway
Amazon
SQS
Amazon
SNS
AWS
Step Functions
APIs Choreography Orchestration
Amazon
EventBridge
© 2020, Amazon Web Services, Inc. or its Affiliates.
APIs are the front door of microservices
© 2020, Amazon Web Services, Inc. or its Affiliates.
Microservices architectures
Shipment
serviceCustomer
service
API
Gateway
© 2020, Amazon Web Services, Inc. or its Affiliates.
Track status of data
and execution
Remove
redundant code
Build workflows to orchestrate everything
© 2020, 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
© 2020, 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
However, you need to find the right balance on
the size of the function – not to big or too small
© 2020, Amazon Web Services, Inc. or its Affiliates.
DB
Coordinating functions can be hard
Queue
© 2020, Amazon Web Services, Inc. or its Affiliates.
Turning functions into microservices
“I want to select functions based on data”
“I want to retry functions”
“I want try/catch/finally”
“I have code that runs for hours”
“I want to sequence functions”
“I want to run functions in parallel”
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Step Functions
Resilient workflow automation
Built-in error handling
Powerful AWS service integration
First-class support for integrating with
your own services
Auditable execution history and visual monitoring
Fully-managed state machines on AWS
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Cloud
House owners
AWS Step Functions workflow
Validate owner
Validate property
Validation Successful
Validation Not Successful
Validated?
Amazon API Gateway
Add a
property
Amazon EventBridge
Properties
service
Messaging
service
Validator service
© 2020, Amazon Web Services, Inc. or its Affiliates.
Choreography
Event-driven architectures
© 2020, Amazon Web Services, Inc. or its Affiliates.
Decouple state from code using messaging
Queues
Simple
Fully-managed
Any volume
Pub/sub
Simple
Fully-managed
Flexible
Amazon Simple
Queue Service
Amazon Simple
Notification
Service
Messaging
Synchronization
Rapid
Fully-managed
Real-time
Amazon
EventBridge
- Independent releases
- Scalability
- Modular code
- Easy to maintain and to work on
- Adds resiliency to the application
© 2020, Amazon Web Services, Inc. or its Affiliates.
So why we need decoupling?
© 2020, Amazon Web Services, Inc. or its Affiliates.
Event bus to help us to decouple our microservices
© 2020, Amazon Web Services, Inc. or its Affiliates.
Mobile client
Client
IoT
API
Gateway
Shipping DB
Inventory DB
Store Front
Web App
Shipment
Query
Inventory
Query
Logical microservice
AWS Lambda
AWS Lambda
AWS Lambda
SQS
Amazon DynamoDB
© 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.
Serverless analytics pipeline
Amazon Cognito
Amazon S3 Users
Amazon
Kinesis Data
Firehose
Amazon
Athena
AWS Glue Amazon
QuickSight
S3
Bucket
AWS Cloud
Client
© 2020, 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.
© 2020, 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
© 2020, 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
© 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
Marcia Villalba
@mavi888uy
FooBar YouTube Channel
https://youtube.com/foobar_codes

Mais conteúdo relacionado

Mais procurados

Optimize your Machine Learning workloads | AWS Summit Tel Aviv 2019
Optimize your Machine Learning workloads  | AWS Summit Tel Aviv 2019Optimize your Machine Learning workloads  | AWS Summit Tel Aviv 2019
Optimize your Machine Learning workloads | AWS Summit Tel Aviv 2019AWS Summits
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSAmazon Web Services
 
Twelve-Factor Serverless Applications
Twelve-Factor Serverless ApplicationsTwelve-Factor Serverless Applications
Twelve-Factor Serverless ApplicationsAmazon Web Services
 
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...Amazon Web Services
 
AWS DeepLens Workshop: Building Computer Vision Applications
AWS DeepLens Workshop: Building Computer Vision ApplicationsAWS DeepLens Workshop: Building Computer Vision Applications
AWS DeepLens Workshop: Building Computer Vision ApplicationsAmazon Web Services
 
AWS 如何協助客戶建立 DevOps 流程
AWS 如何協助客戶建立 DevOps 流程AWS 如何協助客戶建立 DevOps 流程
AWS 如何協助客戶建立 DevOps 流程Amazon Web Services
 
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
 
Serverless is dead.
Serverless is dead.Serverless is dead.
Serverless is dead.Chris Munns
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...Chris Munns
 
All the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessAll the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessChris Munns
 
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSExciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSAmazon Web Services
 
Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Amazon Web Services
 
Java Developer on AWS 在AWS上開發Java應用
Java Developer on AWS 在AWS上開發Java應用Java Developer on AWS 在AWS上開發Java應用
Java Developer on AWS 在AWS上開發Java應用Amazon Web Services
 
Programming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDKProgramming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDKDonnie Prakoso
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019AWS Summits
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessAmazon Web Services
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWSAmazon Web Services
 
Deep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentDeep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentAmazon Web Services
 
Building serverless applications with Amazon S3
Building serverless applications with Amazon S3Building serverless applications with Amazon S3
Building serverless applications with Amazon S3Chris Munns
 

Mais procurados (20)

Optimize your Machine Learning workloads | AWS Summit Tel Aviv 2019
Optimize your Machine Learning workloads  | AWS Summit Tel Aviv 2019Optimize your Machine Learning workloads  | AWS Summit Tel Aviv 2019
Optimize your Machine Learning workloads | AWS Summit Tel Aviv 2019
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
Twelve-Factor Serverless Applications
Twelve-Factor Serverless ApplicationsTwelve-Factor Serverless Applications
Twelve-Factor Serverless Applications
 
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
Running Containers without Servers: Introduction to AWS Fargate - SRV214 - To...
 
AWS DeepLens Workshop: Building Computer Vision Applications
AWS DeepLens Workshop: Building Computer Vision ApplicationsAWS DeepLens Workshop: Building Computer Vision Applications
AWS DeepLens Workshop: Building Computer Vision Applications
 
AWS 如何協助客戶建立 DevOps 流程
AWS 如何協助客戶建立 DevOps 流程AWS 如何協助客戶建立 DevOps 流程
AWS 如何協助客戶建立 DevOps 流程
 
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 ...
 
Serverless is dead.
Serverless is dead.Serverless is dead.
Serverless is dead.
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
 
All the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessAll the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev Serverless
 
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSExciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
 
Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts Secure your AWS Account and your Organization's Accounts
Secure your AWS Account and your Organization's Accounts
 
Java Developer on AWS 在AWS上開發Java應用
Java Developer on AWS 在AWS上開發Java應用Java Developer on AWS 在AWS上開發Java應用
Java Developer on AWS 在AWS上開發Java應用
 
Programming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDKProgramming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDK
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni Serverless
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWS
 
Deep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentDeep Dive on Serverless Application Development
Deep Dive on Serverless Application Development
 
Building serverless applications with Amazon S3
Building serverless applications with Amazon S3Building serverless applications with Amazon S3
Building serverless applications with Amazon S3
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 

Semelhante a 20201013 - Serverless Architecture Conference - How to migrate your existing app to serverless?

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 serverlessMarcia 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
 
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
 
5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patterns5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patternsDavidVictoria12
 
20200513 - CloudComputing UCU
20200513 - CloudComputing UCU20200513 - CloudComputing UCU
20200513 - CloudComputing UCUMarcia Villalba
 
re:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdf
re:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdfre:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdf
re:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdfHeitor Lessa
 
Innovate - Breaking Down The Monolith
Innovate - Breaking Down The MonolithInnovate - Breaking Down The Monolith
Innovate - Breaking Down The MonolithShouvikKnightmare
 
Crea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightCrea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesRohini Gaonkar
 
Serverless-First Function: Serverless application security
Serverless-First Function: Serverless application securityServerless-First Function: Serverless application security
Serverless-First Function: Serverless application securityRobSutter2
 
Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...
Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...
Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...Amazon Web Services
 
Message-Driven Architecture on AWS
Message-Driven Architecture on AWSMessage-Driven Architecture on AWS
Message-Driven Architecture on AWSjeromevdl
 
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...Darko Mesaroš
 
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
 
클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발
클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발
클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발Amazon Web Services Korea
 

Semelhante a 20201013 - Serverless Architecture Conference - How to migrate your existing app to serverless? (20)

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
 
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
 
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
 
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
 
5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patterns5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patterns
 
20200513 - CloudComputing UCU
20200513 - CloudComputing UCU20200513 - CloudComputing UCU
20200513 - CloudComputing UCU
 
re:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdf
re:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdfre:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdf
re:Invent OPN306 AWS Lambda Powertools Lessons 10M downloads.pdf
 
Innovate - Breaking Down The Monolith
Innovate - Breaking Down The MonolithInnovate - Breaking Down The Monolith
Innovate - Breaking Down The Monolith
 
Crea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightCrea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSight
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Serverless-First Function: Serverless application security
Serverless-First Function: Serverless application securityServerless-First Function: Serverless application security
Serverless-First Function: Serverless application security
 
Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...
Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...
Solving for Identity and Authentication with .NET Apps on AWS (GPSWS408) - AW...
 
Message-Driven Architecture on AWS
Message-Driven Architecture on AWSMessage-Driven Architecture on AWS
Message-Driven Architecture on AWS
 
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
 
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
 
클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발
클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발
클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발
 
Vue presentation
Vue presentationVue presentation
Vue presentation
 

Mais de 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
 
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
 

Mais de Marcia Villalba (11)

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...
 
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
 

Último

Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 

Último (20)

Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 

20201013 - Serverless Architecture Conference - How to migrate your existing app to serverless?

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. How to migrate an existing application to serverless Marcia Villalba Developer Advocate AWS @mavi888uy
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. About me AWS Developer Advocate Working with serverless since 2015 Host of FooBar YouTube Channel https://youtube.com/foobar_codes @mavi888uy
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. 2 stories rovio Not that successful story 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.© 2020, Amazon Web Services, Inc. or its Affiliates.
  • 7. © 2020, 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. © 2020, 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 APIs Business logic
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates. Managed services Amazon S3 Amazon SQS DynamoDB
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.@theburningmonk
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. Story 1
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. Managing unknowns
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Lack of technology knowledge
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. Will this solve my problem?
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. Foundational work
  • 18. © 2020, 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
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. Pick your tools - Programming languages - Deployment frameworks - Developer tools
  • 20. © 2020, 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
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. CI/CD
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. Check my other talk in the conference later today J
  • 23. © 2020, 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
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. Observability in AWS CloudWatch Insights CloudWatch Alarms CloudWatch Dashboard CloudWatch ServiceLens
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda Power Tools Tracing - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions Logging - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) https://github.com/awslabs/aws-lambda-powertools-python https://github.com/awslabs/aws-lambda-powertools-java https://github.com/getndazn/dazn-lambda-powertools
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. The big rewrite Please don’t do it
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. Story 2
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 30. © 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
  • 31. © 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
  • 32. © 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
  • 33. © 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
  • 34. © 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
  • 36. 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.
  • 37. WE COULD DO IT ALL AGAIN TOMORROW Serverless services cost $92
  • 38. © 2020, Amazon Web Services, Inc. or its Affiliates. comicrelief.com/donate
  • 39. © 2020, Amazon Web Services, Inc. or its Affiliates. The strangler pattern
  • 40. © 2020, Amazon Web Services, Inc. or its Affiliates. Strangler pattern Monolith Users DB Monolith Service1 LB Users DBDB Monolith LB Service1 Service n Users DB DB DB
  • 41. © 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
  • 42. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
  • 43. © 2020, 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.
  • 44. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
  • 45. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
  • 46. © 2020, Amazon Web Services, Inc. or its Affiliates. Package1 Repository1 Package2 Repository2 PackageN Repository N Monolithic application DB Step 2 – Organizing the data
  • 47. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, 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
  • 48. © 2020, 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
  • 49. © 2020, 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 🤔
  • 50. © 2020, Amazon Web Services, Inc. or its Affiliates. Recommended strategy Start with the least critical part of your system (2 or 3 services) Then move the most critical part
  • 51. © 2020, Amazon Web Services, Inc. or its Affiliates. Express tips to design serverless applications
  • 52. © 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 Logical Microservices
  • 53. © 2020, Amazon Web Services, Inc. or its Affiliates. Microservices architectures Mobile client Client IoT API Gateway Shipping DB Inventory DB Store Front Web App Shipment Query Inventory Query Logical microservice AWS Lambda AWS Lambda AWS Lambda SQS Amazon DynamoDB
  • 54. © 2020, Amazon Web Services, Inc. or its Affiliates. Integration options from AWS Amazon API Gateway Amazon SQS Amazon SNS AWS Step Functions APIs Choreography Orchestration Amazon EventBridge
  • 55. © 2020, Amazon Web Services, Inc. or its Affiliates. APIs are the front door of microservices
  • 56. © 2020, Amazon Web Services, Inc. or its Affiliates. Microservices architectures Shipment serviceCustomer service API Gateway
  • 57. © 2020, Amazon Web Services, Inc. or its Affiliates. Track status of data and execution Remove redundant code Build workflows to orchestrate everything
  • 58. © 2020, 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
  • 59. © 2020, 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 However, you need to find the right balance on the size of the function – not to big or too small
  • 60. © 2020, Amazon Web Services, Inc. or its Affiliates. DB Coordinating functions can be hard Queue
  • 61. © 2020, Amazon Web Services, Inc. or its Affiliates. Turning functions into microservices “I want to select functions based on data” “I want to retry functions” “I want try/catch/finally” “I have code that runs for hours” “I want to sequence functions” “I want to run functions in parallel”
  • 62. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Step Functions Resilient workflow automation Built-in error handling Powerful AWS service integration First-class support for integrating with your own services Auditable execution history and visual monitoring Fully-managed state machines on AWS
  • 63. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Cloud House owners AWS Step Functions workflow Validate owner Validate property Validation Successful Validation Not Successful Validated? Amazon API Gateway Add a property Amazon EventBridge Properties service Messaging service Validator service
  • 64. © 2020, Amazon Web Services, Inc. or its Affiliates. Choreography Event-driven architectures
  • 65. © 2020, Amazon Web Services, Inc. or its Affiliates. Decouple state from code using messaging Queues Simple Fully-managed Any volume Pub/sub Simple Fully-managed Flexible Amazon Simple Queue Service Amazon Simple Notification Service Messaging Synchronization Rapid Fully-managed Real-time Amazon EventBridge - Independent releases - Scalability - Modular code - Easy to maintain and to work on - Adds resiliency to the application
  • 66. © 2020, Amazon Web Services, Inc. or its Affiliates. So why we need decoupling?
  • 67. © 2020, Amazon Web Services, Inc. or its Affiliates. Event bus to help us to decouple our microservices
  • 68. © 2020, Amazon Web Services, Inc. or its Affiliates. Mobile client Client IoT API Gateway Shipping DB Inventory DB Store Front Web App Shipment Query Inventory Query Logical microservice AWS Lambda AWS Lambda AWS Lambda SQS Amazon DynamoDB
  • 69. © 2020, Amazon Web Services, Inc. or its Affiliates. Replace existing functionality with managed services Amazon Cognito Order service Customer service Items service Users
  • 70. © 2020, 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
  • 71. © 2020, 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.
  • 72. © 2020, 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
  • 73. © 2020, 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
  • 74. © 2020, Amazon Web Services, Inc. or its Affiliates. Closing remarks
  • 75. © 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
  • 76. © 2020, Amazon Web Services, Inc. or its Affiliates. Thanks Marcia Villalba @mavi888uy FooBar YouTube Channel https://youtube.com/foobar_codes