SlideShare a Scribd company logo
1 of 54
Download to read offline
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless:
State of the Union
Danilo Poccia
Technical Evangelist
danilop@amazon.com
@danilop
danilop
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A typical day for a developer…
Manager “We need an app to let our customers update preference settings –
our competitors just launched the same thing, so I need it fast. I don’t want to
pay a lot for it, especially when no one is using it. But remember that we’re
growing, so make sure it scales great and is easy to manage and operate. And
you’re on your own – sorry!”
Developer “Not a problem. I’ll make it serverless…”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless means…
No Server Management Flexible Scaling
No Idle Capacity
$
High Availability
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Joe promised his boss an app.
Now what?
Step 1: Find a working example!
Serverless web app with
…an API hosted on Amazon API Gateway
…access to existing data stored in Amazon DynamoDB
…static content served by Amazon S3 and Amazon CloudFront
…dynamic content/business logic encoded as Lambda functions
What we need
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Search and browse ready-made apps
and samples
• Customize open source apps to get
started quickly
• Share apps privately or publically
•Monetize APIs using theAWS
Marketplace
• Powered by AWS Serverless
Application Model (AWS SAM)!
AWS Serverless Application Repository
(preview)
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
Lambda Function Editor
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
• Edit multiple files at once!
• Create new files for existing
packages
• Run tests and view results
and logs without leaving the
editor
• Save test inputs and reuse
them later
Serverless app benefits
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
Go from concept to working code in under 5 minutes. And
your app isn’t just a prototype…
• 1,000 concurrent executions (10K TPS) by default.
• Every account in good standing is automatically
approved to 3X the default!
• 1,000 concurrent executions (10K
TPS) by default. Auto-approvals for
everyone to triple.
Faster perf with
cold-start
optimization!
Up to 80% reduction in start
times for larger functions
Serverless app benefits
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
• 1,000 concurrent executions (10K
TPS) by default. Auto-approvals for
everyone to triple.
• Up to 80% faster cold start times
Built-in logging and
monitoring, now with:
“grab-n-go” logs in the
Lambda console
Serverless app benefits
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
• 1,000 concurrent executions (10K
TPS) by default. Auto-approvals for
everyone to triple.
• Up to 80% faster cold start times
• Find Lambda logs instantly 1.5GB
Serverless app benefits
3GB
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
Top memory size
of…
• 1,000 concurrent executions (10K
TPS) by default. Auto-approvals for
everyone to triple.
• Up to 80% faster cold start times
• Find Lambda logs instantly
• Top memory size of 3GB
Go
Serverless!
Serverless app benefits
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Next, Joe needs to make some changes.
Step 2: Customize and share
Need an IDE for local dev/test/debug
Customize the app we deployed in step 1
Set up a CI/CD pipeline for the team
Deploy (safely!)
What we need
to do
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Easy-to-use IDE in the cloud
Builtin GitHub support
Builtin Lambda blueprint support
Builtin SAM Local:
Local testing!
IDE debugging!
Deploy directly to Lambda and/or push
updates to GitHub
New
AWS Cloud9
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Automated CI/CD process
Git push your changes from Cloud9
when ready to share…
Set up an AWS CodePipeline to build
automatically on updates
Local Testing
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I need to deploy Lambda functions
safely and incrementally.
Customer feedback
How can I deploy multiple
functions and APIs in a
coordinated way?
How do I roll back
automatically?
How can I shape traffic
between two versions of
an API?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Safe, incremental serverless deployment
Lambda: Weighted aliases
• Set percentage of traffic between two versions of the same
function
API Gateway: Sub-stages for incremental deployments
• Share traffic between two stages
AWS CodeDeploy: Automated support for safe serverless
deployments
• Amazon CloudWatch metrics-driven rollout/rollback
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Another typical day…
Manager: “That app you built is working great, but now we need to include
data from a relational DB and one of our legacy services in our VPC. Is your
serverless architecture going to handle that?”
Developer “Not a problem.”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Next up: Deal with legacy stuff.
Step 3: Connect to enterprise systems
Monitor concurrency
Limit concurrency for legacy connectivity
Hook up APIs to VPC-based services
Audit and log all invocations
What we need
to do
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I need a way to protect the capacity of a
Lambda function from others running in
the same account.
Customer feedback
I want to temporarily disable
a function.
Can you create a “dev mode”
for functions?
Lambda can overwhelm
my legacy systems with
too many calls
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I need a way to protect the capacity of a
Lambda function from others running in
the same account.
Customer Feedback
I want to temporarily disable
a function.
Can you create a “dev mode”
for functions?
Lambda can overwhelm
my legacy systems with
too many calls
Insight: Concurrency control is a key
element of managing functions in a
serverless app.
Lambda: Concurrency metric
Lambda: Per-function concurrency throttles
Enterprise connectivity
What you can do with it
1. Limit concurrency to legacy systems
2. Protect serverless production services from
other functions in the same account
3. Temporarily disable a function
4. Develop functions with limited billing and
“runaway” protection
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
VPC (PrivateLink) integrations
Access services and data in
your VPC from an API
Regional endpoints
Fast, region-specific API
endpoints
Enterprise connectivity: API Gateway
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API Gateway connectivity solutions
To
From
Internet
Regional
AWS Service
Customer VPC
Internet
Regional
AWS Service
Existing Service
(Edge-optimized, public integrations)
Private VPC
Region-optimized Endpoints
Region Endpoints
+Private VPC
Recent
New
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Log and audit
Structured logging for APIs
AWS CloudTrail support for
Lambda functions
Serverless for the enterprise: checklist
Uptime
Scale
Performance
Management
Safe deploys
Concurrency controls
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What about GraphQL?
GraphQL
Open, declarative data-fetching specification
!= Graph database
Use NoSQL, Relational, HTTP, etc.
Traditional data-fetching GraphQL
/posts
/postInfo
/postJustTitle
/postsByAuthor
/postNameStartsWithX
/commentsOnPost
How does GraphQL work?
{
"id": "1",
"name": "Get Milk",
“priority": "1"
},
{
"id": “2",
"name": “Go to gym",
“priority": “5"
},…
type Query {
getTodos: [Todo]
}
type Todo {
id: ID!
name: String
description: String
priority: Int
duedate: String
}
query {
getTodos {
id
name
priority
}
}
Model data with
application schema
Client requests what it
needs
Only that data is
returned
GraphQL
Schema
type Event {
id: ID!
name: String
where: String
when: String
description: String
comments: [Comment]
}
type Comment {
commentId: String!
eventId: ID!
content: String!
createdAt: String!
}
GraphQL
Schema
Mutation
type Mutation {
createEvent(
name: String!,
when: String!,
where: String!,
description: String!
): Event
deleteEvent(id: ID!): Event
commentOnEvent(
eventId: ID!,
content: String!,
createdAt: String!
): Comment
}
GraphQL
Schema
Mutation
Query
type Query {
getEvent(id: ID!): Event
listEvents(
limit: Int,
nextToken: String
): EventConnection
}
GraphQL
Schema
Mutation
Query
Subscription
type Subscription {
subscribeToEventComments(eventId: String!): Comment
@aws_subscribe(mutations: ["commentOnEvent"])
}
GraphQL
Schema
Mutation
Query
Subscription
Realtime? YES
Batching? YES
Pagination? YES
Relations? YES
Aggregations? YES
Search? YES
Offline? YES
AWS AppSync
DynamoDB
Table
Lambda
Function Elasticsearch
Service
GraphQL
Schema
Upload
Schema
GraphQL
Query
Mutation
Subscription
Real-time
Offline
AppSync
API
Cognito
User Pool
AWS AppSync
DynamoDB
Table
Lambda
Function Elasticsearch
Service
GraphQL
Schema
Upload
Schema
GraphQL
Query
Mutation
Subscription
Real-time
Offline
AppSync
API
Cognito
User Pool
Legacy
Application
AWS AppSync
DynamoDB
Table
Lambda
Function Elasticsearch
Service
GraphQL
Schema
Upload
Schema
GraphQL
Query
Mutation
Subscription
Real-time
Offline
DynamoDB to Elasticsearch
Sync Function
AppSync
API
Cognito
User Pool
AWS AppSync
DynamoDB
Table
Lambda
Function Elasticsearch
Service
GraphQL
Schema
Autogenerate
Schema
GraphQL
Query
Mutation
Subscription
Real-time
Offline
AppSync
API
Cognito
User Pool
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo:
AWS AppSync & GraphQL
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless for everything
Lambda and API Gateway in every commercial AWS Region +
AWS GovCloud
Lambda@Edge new features:
• Content-based Dynamic Origin Selection
• Network Calls from Viewer Events
• Advanced Response Generation
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless for everything
• Faster cold start performance
• Assurance programs: ISO, PCI, HIPAA
• …and now SOC 1, SOC 2, and SOC 3
• Lambda for devices (AWS Greengrass, AWS Snowball Edge)
• Lambda for Windows – CoreCLR 2.0
An expanding Serverless ecosystem
Build and CI/CD
Logging and MonitoringApplications and Deployment
Chalice Framework Serverless Java Container
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
• Turn any Go program into a
Lambda function by adding 2
lines
• Open source connector
• Now available!
Golang in Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless:
State of the Union
Danilo Poccia
Technical Evangelist
danilop@amazon.com
@danilop
danilop

More Related Content

What's hot

What's hot (20)

Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent ...
Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent ...Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent ...
Build a Game for Echo Buttons - an Alexa Gadget! (ALX405-R2) - AWS re:Invent ...
 
Serverless Architectural Patterns I AWS Dev Day 2018
Serverless Architectural Patterns I AWS Dev Day 2018Serverless Architectural Patterns I AWS Dev Day 2018
Serverless Architectural Patterns I AWS Dev Day 2018
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Containers State of the Union I AWS Dev Day 2018
Containers State of the Union I AWS Dev Day 2018Containers State of the Union I AWS Dev Day 2018
Containers State of the Union I AWS Dev Day 2018
 
Building Mobile Apps with AWS Amplify
Building Mobile Apps with AWS AmplifyBuilding Mobile Apps with AWS Amplify
Building Mobile Apps with AWS Amplify
 
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
 
Serverless Architectural Patterns: Collision 2018
Serverless Architectural Patterns: Collision 2018Serverless Architectural Patterns: Collision 2018
Serverless Architectural Patterns: Collision 2018
 
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
 
AWS Lambda Layers, the Runtime API, & Nested Applications
AWS Lambda Layers, the Runtime API, & Nested ApplicationsAWS Lambda Layers, the Runtime API, & Nested Applications
AWS Lambda Layers, the Runtime API, & Nested Applications
 
Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018Building a Serverless AI Powered Twitter Bot: Collision 2018
Building a Serverless AI Powered Twitter Bot: Collision 2018
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
Building Global Multi-Region, Active-Active Serverless Backends I AWS Dev Day...
 
Build a Serverless Backend for Requesting a Ride
Build a Serverless Backend for Requesting a RideBuild a Serverless Backend for Requesting a Ride
Build a Serverless Backend for Requesting a Ride
 
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
 
Serverless SaaS apllications on AWS
Serverless SaaS apllications on AWSServerless SaaS apllications on AWS
Serverless SaaS apllications on AWS
 
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
 
Intro To AI & ML at Amazon: Collision 2018
Intro To AI & ML at Amazon: Collision 2018Intro To AI & ML at Amazon: Collision 2018
Intro To AI & ML at Amazon: Collision 2018
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
 

Similar to Serverless - State of the Union

How to Build Scalable Serverless Applications
How to Build Scalable Serverless ApplicationsHow to Build Scalable Serverless Applications
How to Build Scalable Serverless Applications
Amazon Web Services
 

Similar to Serverless - State of the Union (20)

What's New in Serverless
What's New in ServerlessWhat's New in Serverless
What's New in Serverless
 
Introduction to the Serverless Cloud
Introduction to the Serverless CloudIntroduction to the Serverless Cloud
Introduction to the Serverless Cloud
 
How to Build Scalable Serverless Applications
How to Build Scalable Serverless ApplicationsHow to Build Scalable Serverless Applications
How to Build Scalable Serverless Applications
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWS
 
Serverless: State Of the Union
Serverless: State Of the UnionServerless: State Of the Union
Serverless: State Of the Union
 
Serverless - State Of the Union
Serverless - State Of the UnionServerless - State Of the Union
Serverless - State Of the Union
 
SID301_Using AWS Lambda as a Security Team
SID301_Using AWS Lambda as a Security TeamSID301_Using AWS Lambda as a Security Team
SID301_Using AWS Lambda as a Security Team
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
CON320_Monitoring, Logging and Debugging Containerized Services
CON320_Monitoring, Logging and Debugging Containerized ServicesCON320_Monitoring, Logging and Debugging Containerized Services
CON320_Monitoring, Logging and Debugging Containerized Services
 
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
 
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
 
End-User Computing on AWS with Amazon WorkSpaces and Amazon AppStream 2.0 - E...
End-User Computing on AWS with Amazon WorkSpaces and Amazon AppStream 2.0 - E...End-User Computing on AWS with Amazon WorkSpaces and Amazon AppStream 2.0 - E...
End-User Computing on AWS with Amazon WorkSpaces and Amazon AppStream 2.0 - E...
 
Monitoring and Troubleshooting in a Serverless World - SRV303 - re:Invent 2017
Monitoring and Troubleshooting in a Serverless World - SRV303 - re:Invent 2017Monitoring and Troubleshooting in a Serverless World - SRV303 - re:Invent 2017
Monitoring and Troubleshooting in a Serverless World - SRV303 - re:Invent 2017
 
RET304_Rapidly Respond to Demanding Retail Customers with the Same Serverless...
RET304_Rapidly Respond to Demanding Retail Customers with the Same Serverless...RET304_Rapidly Respond to Demanding Retail Customers with the Same Serverless...
RET304_Rapidly Respond to Demanding Retail Customers with the Same Serverless...
 
How serverless helps startups innovate and scale
How serverless helps startups innovate and scaleHow serverless helps startups innovate and scale
How serverless helps startups innovate and scale
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
SRV210 Improving Microservice and Serverless Observability with Monitoring Data
SRV210 Improving Microservice and Serverless Observability with Monitoring DataSRV210 Improving Microservice and Serverless Observability with Monitoring Data
SRV210 Improving Microservice and Serverless Observability with Monitoring Data
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

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

Serverless - State of the Union

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless: State of the Union Danilo Poccia Technical Evangelist danilop@amazon.com @danilop danilop
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A typical day for a developer… Manager “We need an app to let our customers update preference settings – our competitors just launched the same thing, so I need it fast. I don’t want to pay a lot for it, especially when no one is using it. But remember that we’re growing, so make sure it scales great and is easy to manage and operate. And you’re on your own – sorry!” Developer “Not a problem. I’ll make it serverless…”
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless means… No Server Management Flexible Scaling No Idle Capacity $ High Availability
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Joe promised his boss an app. Now what? Step 1: Find a working example! Serverless web app with …an API hosted on Amazon API Gateway …access to existing data stored in Amazon DynamoDB …static content served by Amazon S3 and Amazon CloudFront …dynamic content/business logic encoded as Lambda functions What we need
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 8. • Search and browse ready-made apps and samples • Customize open source apps to get started quickly • Share apps privately or publically •Monetize APIs using theAWS Marketplace • Powered by AWS Serverless Application Model (AWS SAM)! AWS Serverless Application Repository (preview) © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 9. Lambda Function Editor © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved. • Edit multiple files at once! • Create new files for existing packages • Run tests and view results and logs without leaving the editor • Save test inputs and reuse them later
  • 10. Serverless app benefits © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved. Go from concept to working code in under 5 minutes. And your app isn’t just a prototype… • 1,000 concurrent executions (10K TPS) by default. • Every account in good standing is automatically approved to 3X the default!
  • 11. • 1,000 concurrent executions (10K TPS) by default. Auto-approvals for everyone to triple. Faster perf with cold-start optimization! Up to 80% reduction in start times for larger functions Serverless app benefits © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 12. • 1,000 concurrent executions (10K TPS) by default. Auto-approvals for everyone to triple. • Up to 80% faster cold start times Built-in logging and monitoring, now with: “grab-n-go” logs in the Lambda console Serverless app benefits © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 13. • 1,000 concurrent executions (10K TPS) by default. Auto-approvals for everyone to triple. • Up to 80% faster cold start times • Find Lambda logs instantly 1.5GB Serverless app benefits 3GB © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved. Top memory size of…
  • 14. • 1,000 concurrent executions (10K TPS) by default. Auto-approvals for everyone to triple. • Up to 80% faster cold start times • Find Lambda logs instantly • Top memory size of 3GB Go Serverless! Serverless app benefits © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Next, Joe needs to make some changes. Step 2: Customize and share Need an IDE for local dev/test/debug Customize the app we deployed in step 1 Set up a CI/CD pipeline for the team Deploy (safely!) What we need to do
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Easy-to-use IDE in the cloud Builtin GitHub support Builtin Lambda blueprint support Builtin SAM Local: Local testing! IDE debugging! Deploy directly to Lambda and/or push updates to GitHub New AWS Cloud9
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Automated CI/CD process Git push your changes from Cloud9 when ready to share… Set up an AWS CodePipeline to build automatically on updates Local Testing
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I need to deploy Lambda functions safely and incrementally. Customer feedback How can I deploy multiple functions and APIs in a coordinated way? How do I roll back automatically? How can I shape traffic between two versions of an API?
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Safe, incremental serverless deployment Lambda: Weighted aliases • Set percentage of traffic between two versions of the same function API Gateway: Sub-stages for incremental deployments • Share traffic between two stages AWS CodeDeploy: Automated support for safe serverless deployments • Amazon CloudWatch metrics-driven rollout/rollback
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Another typical day… Manager: “That app you built is working great, but now we need to include data from a relational DB and one of our legacy services in our VPC. Is your serverless architecture going to handle that?” Developer “Not a problem.”
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Next up: Deal with legacy stuff. Step 3: Connect to enterprise systems Monitor concurrency Limit concurrency for legacy connectivity Hook up APIs to VPC-based services Audit and log all invocations What we need to do
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I need a way to protect the capacity of a Lambda function from others running in the same account. Customer feedback I want to temporarily disable a function. Can you create a “dev mode” for functions? Lambda can overwhelm my legacy systems with too many calls
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I need a way to protect the capacity of a Lambda function from others running in the same account. Customer Feedback I want to temporarily disable a function. Can you create a “dev mode” for functions? Lambda can overwhelm my legacy systems with too many calls Insight: Concurrency control is a key element of managing functions in a serverless app.
  • 31. Lambda: Concurrency metric Lambda: Per-function concurrency throttles Enterprise connectivity What you can do with it 1. Limit concurrency to legacy systems 2. Protect serverless production services from other functions in the same account 3. Temporarily disable a function 4. Develop functions with limited billing and “runaway” protection © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 32. VPC (PrivateLink) integrations Access services and data in your VPC from an API Regional endpoints Fast, region-specific API endpoints Enterprise connectivity: API Gateway © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. API Gateway connectivity solutions To From Internet Regional AWS Service Customer VPC Internet Regional AWS Service Existing Service (Edge-optimized, public integrations) Private VPC Region-optimized Endpoints Region Endpoints +Private VPC Recent New
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Log and audit Structured logging for APIs AWS CloudTrail support for Lambda functions
  • 36. Serverless for the enterprise: checklist Uptime Scale Performance Management Safe deploys Concurrency controls © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What about GraphQL?
  • 38. GraphQL Open, declarative data-fetching specification != Graph database Use NoSQL, Relational, HTTP, etc. Traditional data-fetching GraphQL /posts /postInfo /postJustTitle /postsByAuthor /postNameStartsWithX /commentsOnPost
  • 39. How does GraphQL work? { "id": "1", "name": "Get Milk", “priority": "1" }, { "id": “2", "name": “Go to gym", “priority": “5" },… type Query { getTodos: [Todo] } type Todo { id: ID! name: String description: String priority: Int duedate: String } query { getTodos { id name priority } } Model data with application schema Client requests what it needs Only that data is returned
  • 40. GraphQL Schema type Event { id: ID! name: String where: String when: String description: String comments: [Comment] } type Comment { commentId: String! eventId: ID! content: String! createdAt: String! }
  • 41. GraphQL Schema Mutation type Mutation { createEvent( name: String!, when: String!, where: String!, description: String! ): Event deleteEvent(id: ID!): Event commentOnEvent( eventId: ID!, content: String!, createdAt: String! ): Comment }
  • 42. GraphQL Schema Mutation Query type Query { getEvent(id: ID!): Event listEvents( limit: Int, nextToken: String ): EventConnection }
  • 43. GraphQL Schema Mutation Query Subscription type Subscription { subscribeToEventComments(eventId: String!): Comment @aws_subscribe(mutations: ["commentOnEvent"]) }
  • 44. GraphQL Schema Mutation Query Subscription Realtime? YES Batching? YES Pagination? YES Relations? YES Aggregations? YES Search? YES Offline? YES
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo: AWS AppSync & GraphQL
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless for everything Lambda and API Gateway in every commercial AWS Region + AWS GovCloud Lambda@Edge new features: • Content-based Dynamic Origin Selection • Network Calls from Viewer Events • Advanced Response Generation
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless for everything • Faster cold start performance • Assurance programs: ISO, PCI, HIPAA • …and now SOC 1, SOC 2, and SOC 3 • Lambda for devices (AWS Greengrass, AWS Snowball Edge) • Lambda for Windows – CoreCLR 2.0
  • 52. An expanding Serverless ecosystem Build and CI/CD Logging and MonitoringApplications and Deployment Chalice Framework Serverless Java Container © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 53. • Turn any Go program into a Lambda function by adding 2 lines • Open source connector • Now available! Golang in Lambda © 2017, Amazon Web Services, Inc. or its Affiliates.All rights reserved.
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless: State of the Union Danilo Poccia Technical Evangelist danilop@amazon.com @danilop danilop