SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thinking serverless: From business
problem to serverless solution
James Beswick
S V S 2 1 3 - R
Senior Developer Advocate, AWS Serverless
Amazon Web Services
About me
• James Beswick
• Email: jbeswick@amazon.com
• Twitter: @jbesw
• Senior Developer Advocate – AWS Serverless
• Serverless geek
• Software developer and product manager
• Previously:
• Multiple-startup tech guy
• Rackspace, USAA, Morgan Stanley, J.P. Morgan …
• AWS customer since 2012
Agenda
• Where we have come from – Servers
• Where to start with serverless
• Good practices of serverless design
• Whiteboarding
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do we use servers?
• State management
• Monolithic container for functionality
• One version, one server
• Server is an atomic unit of thinking
• The challenges of this model
https://github.com/aws-samples/aws-refarch-wordpress
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Understanding how AWS Lambda fits in
Attributes:
• Runs on demand
• Supports many runtimes
• Responds to events
• Stateless
• Automatically scales
Best practices:
• Avoid lifting-and-shifting
• One Lambda function per
purpose
• Keep functions small
• Choose the right runtime for the
job
• Use your functions for business
logic and plumbing between
services
General approach to thinking serverlessly
Avoid monolithic
thinking
The key to
scaling effectively
Don’t reinvent
the wheel
Make data
decisions early on
Events are triggers
that cause action
What are serverless services?
Amazon
DynamoDB
Amazon API
Gateway
AWS
Lambda
AWS Step
Functions
Amazon S3
Amazon
EventBridge
Amazon Simple
Notification Service
(Amazon SNS)
Amazon Simple
Queue Service
(Amazon SQS)
Amazon
Kinesis
AWS
IoT Core
Amazon Elastic
Transcoder
Integrating with other AWS services
Amazon
Comprehend
Amazon
Rekognition
Amazon
Textract
Amazon
Transcribe
Amazon
Translate
Good serverless practices
• Infrastructure is disposable
• Asynchronous versus synchronous processing
• You can mix and match runtimes
• Security still matters—build in from the start
• Automation …
Introducing AWS SAM
AWS Serverless Application Model (SAM)
• AWS CloudFormation extension
optimized for serverless
• New serverless resource types:
functions, APIs, tables
• Supports anything AWS
CloudFormation supports
• Open specification (Apache 2.0)
https://github.com/awslabs/serverless-application-model
AWS SAM template
Tells AWS CloudFormation this is an AWS
SAM template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
AWS SAM template
Tells AWS CloudFormation this is an AWS
SAM template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
AWS SAM template
Tells AWS CloudFormation this is an AWS
SAM template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
AWS SAM template
Tells AWS CloudFormation this is an AWS
SAM template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
AWS SAM template
Tells AWS CloudFormation this is an AWS
SAM template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
AWS SAM transforms YAML into infrastructure
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
1. Form upload
Create a serverless application to support a customer review form
submitted from a webpage
2. Create a virtual queue
A global retailer wants to implement a virtual queue for customers. Use
an IoT button to manage a “now serving” counter.
3. Web application
Create a serverless web application to support a national e-commerce
business
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Free, on-demand courses on serverless, including
Visit the Learning Library at https://aws.training
Additional digital and classroom trainings cover modern
application development and computing
Learn serverless with AWS Training and Certification
Resources created by the experts at AWS to help you learn modern application development
• Introduction to Serverless
Development
• Getting into the Serverless
Mindset
• AWS Lambda Foundations
• Amazon API Gateway for
Serverless Applications
• Amazon DynamoDB for Serverless
Architectures
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
James Beswick
jbeswick@amazon.com
jbesw@
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Amazon Web Services
 
Amazon WorkSpaces: Advanced Topics and Application Delivery
Amazon WorkSpaces: Advanced Topics and Application DeliveryAmazon WorkSpaces: Advanced Topics and Application Delivery
Amazon WorkSpaces: Advanced Topics and Application Delivery
Amazon Web Services
 
Amazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon WorkSpaces - Aadvanced Topics & Application DeliveryAmazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon Web Services
 
Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...
Amazon Web Services
 
AWS Serverless Development
AWS Serverless DevelopmentAWS Serverless Development
AWS Serverless Development
Amazon Web Services
 
Customer Sharing: 17 Media - Scale to 12,000,000 Users with AWS
Customer Sharing: 17 Media - Scale to 12,000,000 Users with AWSCustomer Sharing: 17 Media - Scale to 12,000,000 Users with AWS
Customer Sharing: 17 Media - Scale to 12,000,000 Users with AWS
Amazon Web Services
 
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 -...
Amazon Web Services
 
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Amazon Web Services
 
AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...
AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...
AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...
Amazon Web Services
 
AWS Q3 2011 Update - Seattle AWS User Group
AWS Q3 2011 Update - Seattle AWS User GroupAWS Q3 2011 Update - Seattle AWS User Group
AWS Q3 2011 Update - Seattle AWS User Group
Amazon Web Services
 
Authoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAMAuthoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAM
Amazon Web Services
 
AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)
AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)
AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)
Francesco Lerro
 
How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018
Amazon Web Services
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018
Amazon Web Services
 
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Amazon Web Services
 
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureUsing AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Amazon Web Services
 
re:Invent 2018: AI/ML Services
re:Invent 2018: AI/ML Servicesre:Invent 2018: AI/ML Services
re:Invent 2018: AI/ML Services
Amazon Web Services
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API Gateway
Amazon Web Services
 
Thinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGThinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UG
Eric Johnson
 
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
Amazon Web Services
 

What's hot (20)

Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Amazon WorkSpaces: Advanced Topics and Application Delivery
Amazon WorkSpaces: Advanced Topics and Application DeliveryAmazon WorkSpaces: Advanced Topics and Application Delivery
Amazon WorkSpaces: Advanced Topics and Application Delivery
 
Amazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon WorkSpaces - Aadvanced Topics & Application DeliveryAmazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon WorkSpaces - Aadvanced Topics & Application Delivery
 
Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...
 
AWS Serverless Development
AWS Serverless DevelopmentAWS Serverless Development
AWS Serverless Development
 
Customer Sharing: 17 Media - Scale to 12,000,000 Users with AWS
Customer Sharing: 17 Media - Scale to 12,000,000 Users with AWSCustomer Sharing: 17 Media - Scale to 12,000,000 Users with AWS
Customer Sharing: 17 Media - Scale to 12,000,000 Users with AWS
 
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 -...
 
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
 
AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...
AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...
AWS April Webinar Series - Deploying and Managing Applications in Amazon Work...
 
AWS Q3 2011 Update - Seattle AWS User Group
AWS Q3 2011 Update - Seattle AWS User GroupAWS Q3 2011 Update - Seattle AWS User Group
AWS Q3 2011 Update - Seattle AWS User Group
 
Authoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAMAuthoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAM
 
AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)
AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)
AWS ❤ SAM - Serverless on stage #9 (Milan, 20/02/2018)
 
How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018
 
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshop
 
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureUsing AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
 
re:Invent 2018: AI/ML Services
re:Invent 2018: AI/ML Servicesre:Invent 2018: AI/ML Services
re:Invent 2018: AI/ML Services
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API Gateway
 
Thinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGThinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UG
 
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
 

Similar to Thinking Serverless (SVS213 AWS re:Invent 2019)

Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM
Amazon Web Services
 
Serverless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about serversServerless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about servers
Amazon Web Services
 
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWSServerless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
CodeOps Technologies LLP
 
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless CloudSRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
Amazon Web Services
 
Serverless Functions Deep Dive
Serverless Functions Deep DiveServerless Functions Deep Dive
Serverless Functions Deep Dive
Amazon Web Services
 
Devops on serverless
Devops on serverlessDevops on serverless
Devops on serverless
Sébastien ☁ Stormacq
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
Amazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
Amazon Web Services
 
Serverless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversServerless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about servers
Amazon Web Services
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
Amazon Web Services
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
Amazon Web Services
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
Amazon Web Services
 
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Amazon Web Services
 
Architetture Serverless: concentrarsi sull'idea, non sull'infrastruttura
Architetture Serverless: concentrarsi sull'idea, non sull'infrastrutturaArchitetture Serverless: concentrarsi sull'idea, non sull'infrastruttura
Architetture Serverless: concentrarsi sull'idea, non sull'infrastruttura
Amazon Web Services
 
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
Cloud Native Day Tel Aviv
 
Serverless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best PracticesServerless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best Practices
Amazon Web Services
 
Getting started with Serverless on AWS
Getting started with Serverless on AWSGetting started with Serverless on AWS
Getting started with Serverless on AWS
Adrian Hornsby
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
Amazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
Amazon Web Services
 

Similar to Thinking Serverless (SVS213 AWS re:Invent 2019) (20)

Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM
 
Serverless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about serversServerless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about servers
 
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWSServerless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
 
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless CloudSRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
 
Serverless Functions Deep Dive
Serverless Functions Deep DiveServerless Functions Deep Dive
Serverless Functions Deep Dive
 
Devops on serverless
Devops on serverlessDevops on serverless
Devops on serverless
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Serverless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversServerless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about servers
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
 
Architetture Serverless: concentrarsi sull'idea, non sull'infrastruttura
Architetture Serverless: concentrarsi sull'idea, non sull'infrastrutturaArchitetture Serverless: concentrarsi sull'idea, non sull'infrastruttura
Architetture Serverless: concentrarsi sull'idea, non sull'infrastruttura
 
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
 
Serverless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best PracticesServerless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best Practices
 
Getting started with Serverless on AWS
Getting started with Serverless on AWSGetting started with Serverless on AWS
Getting started with Serverless on AWS
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 

More from James Beswick

20 ways event-driven architectures can improve your development - Copy.pptx
20 ways event-driven architectures can improve your development - Copy.pptx20 ways event-driven architectures can improve your development - Copy.pptx
20 ways event-driven architectures can improve your development - Copy.pptx
James Beswick
 
Building Event-driven Architectures with Amazon EventBridge
Building Event-driven Architectures with Amazon EventBridge Building Event-driven Architectures with Amazon EventBridge
Building Event-driven Architectures with Amazon EventBridge
James Beswick
 
Build a serverless web app for a theme park
Build a serverless web app for a theme parkBuild a serverless web app for a theme park
Build a serverless web app for a theme park
James Beswick
 
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
James Beswick
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.
James Beswick
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and you
James Beswick
 

More from James Beswick (6)

20 ways event-driven architectures can improve your development - Copy.pptx
20 ways event-driven architectures can improve your development - Copy.pptx20 ways event-driven architectures can improve your development - Copy.pptx
20 ways event-driven architectures can improve your development - Copy.pptx
 
Building Event-driven Architectures with Amazon EventBridge
Building Event-driven Architectures with Amazon EventBridge Building Event-driven Architectures with Amazon EventBridge
Building Event-driven Architectures with Amazon EventBridge
 
Build a serverless web app for a theme park
Build a serverless web app for a theme parkBuild a serverless web app for a theme park
Build a serverless web app for a theme park
 
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
Thinking Serverless (AWS re:Invent 2019 chalk talk SVS213). Solutions slides.
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and you
 

Recently uploaded

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 

Recently uploaded (20)

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 

Thinking Serverless (SVS213 AWS re:Invent 2019)

  • 1.
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thinking serverless: From business problem to serverless solution James Beswick S V S 2 1 3 - R Senior Developer Advocate, AWS Serverless Amazon Web Services
  • 3. About me • James Beswick • Email: jbeswick@amazon.com • Twitter: @jbesw • Senior Developer Advocate – AWS Serverless • Serverless geek • Software developer and product manager • Previously: • Multiple-startup tech guy • Rackspace, USAA, Morgan Stanley, J.P. Morgan … • AWS customer since 2012
  • 4. Agenda • Where we have come from – Servers • Where to start with serverless • Good practices of serverless design • Whiteboarding
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. How do we use servers? • State management • Monolithic container for functionality • One version, one server • Server is an atomic unit of thinking • The challenges of this model
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. Understanding how AWS Lambda fits in Attributes: • Runs on demand • Supports many runtimes • Responds to events • Stateless • Automatically scales Best practices: • Avoid lifting-and-shifting • One Lambda function per purpose • Keep functions small • Choose the right runtime for the job • Use your functions for business logic and plumbing between services
  • 10. General approach to thinking serverlessly Avoid monolithic thinking The key to scaling effectively Don’t reinvent the wheel Make data decisions early on Events are triggers that cause action
  • 11. What are serverless services? Amazon DynamoDB Amazon API Gateway AWS Lambda AWS Step Functions Amazon S3 Amazon EventBridge Amazon Simple Notification Service (Amazon SNS) Amazon Simple Queue Service (Amazon SQS) Amazon Kinesis AWS IoT Core Amazon Elastic Transcoder
  • 12. Integrating with other AWS services Amazon Comprehend Amazon Rekognition Amazon Textract Amazon Transcribe Amazon Translate
  • 13. Good serverless practices • Infrastructure is disposable • Asynchronous versus synchronous processing • You can mix and match runtimes • Security still matters—build in from the start • Automation …
  • 15. AWS Serverless Application Model (SAM) • AWS CloudFormation extension optimized for serverless • New serverless resource types: functions, APIs, tables • Supports anything AWS CloudFormation supports • Open specification (Apache 2.0) https://github.com/awslabs/serverless-application-model
  • 16. AWS SAM template Tells AWS CloudFormation this is an AWS SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 17. AWS SAM template Tells AWS CloudFormation this is an AWS SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 18. AWS SAM template Tells AWS CloudFormation this is an AWS SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 19. AWS SAM template Tells AWS CloudFormation this is an AWS SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 20. AWS SAM template Tells AWS CloudFormation this is an AWS SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 21. AWS SAM transforms YAML into infrastructure
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. 1. Form upload Create a serverless application to support a customer review form submitted from a webpage
  • 24. 2. Create a virtual queue A global retailer wants to implement a virtual queue for customers. Use an IoT button to manage a “now serving” counter.
  • 25. 3. Web application Create a serverless web application to support a national e-commerce business
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Free, on-demand courses on serverless, including Visit the Learning Library at https://aws.training Additional digital and classroom trainings cover modern application development and computing Learn serverless with AWS Training and Certification Resources created by the experts at AWS to help you learn modern application development • Introduction to Serverless Development • Getting into the Serverless Mindset • AWS Lambda Foundations • Amazon API Gateway for Serverless Applications • Amazon DynamoDB for Serverless Architectures
  • 28. Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. James Beswick jbeswick@amazon.com jbesw@
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.