SlideShare a Scribd company logo
1 of 65
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Paul Johnston, Senior Serverless Developer Advocate,
EMEA
April 24, 2018
Tips and Tricks for Deploying
Serverless Apps In Minutes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Session Objectives
1. Understand what the AWS Serverless Application Repository is
2. Learn some best practices for creating serverless applications
3. Give hands on examples for building and deploying serverless
applications
4. Show how you can build more complex examples by linking
services/applications together
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Serverless Application Repository
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Overview
• Quickly deploy code samples, components and complete applications
for common use cases (web back end, logging etc)
• Apps are packaged using AWS Serverless Application Model (SAM)
• Publicly shared apps also include a link to the source code
• No additional charge to use Serverless Application Repository - you
only pay for the resources used
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying 3rd Party Apps Can Be Difficult
🔎
Directed to a repo
e.g. in Github
Search/ask in forum
for solution
Read installation
instructions
📄
Attempt to
install it
… follow installation instructions …
… edit more files …
… integrate with existing solution …
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Discovery And Deployment
• Finding the “right” serverless apps is hard e.g. Github search
• Knowing whether they are good or even right for my use case is
difficult to judge
• Quality and provenance is important
• Apps are often disconnected from infrastructure
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless Application Repository
✅ Search and find applications for your use case
✅ Repository displays the publisher, a link to the source code, and an
explanation of how the application works
✅ Each app can be deployed into your AWS Account by clicking “Deploy”
and entering any required parameters
✅ No need to know the language for any AWS Lambda functions as
each application is self contained and runs in its own environment
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless Application Repository
✅ Public and Private applications
✅ Private applications can be shared within an AWS Account or with
other AWS Accounts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using The Serverless Application Repository
🔎
Search for elements
in Serverless
Application
Repository
Examples from the repository include a serverless web
uploader or an AWS Lambda site generator
View Readme and
License
📄
Click Deploy to install to your AWS Account
as an AWS CloudFormation Stack
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Defining Serverless Applications
Apps in the Serverless Application
Repository are defined using the
AWS Serverless Application Model
aka SAM
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS SAM
AWS SAM extends AWS CloudFormation
to simplify definition of resources for
serverless applications
SAM Translator transforms SAM
templates into AWS CloudFormation
templates
Open Source specification and
implementation (Apache 2.0 License)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Resources:
ExampleFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam_demo_bucket/lambda_code.zip
Handler: index.handler
Runtime: nodejs6.10
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
Example SAM Template
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Resources:
ExampleFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam_demo_bucket/lambda_code.zip
Handler: index.handler
Runtime: nodejs6.10
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
Example SAM Template
Tells CloudFormation this is
a SAM template
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Resources:
ExampleFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam_demo_bucket/lambda_code.zip
Handler: index.handler
Runtime: nodejs6.10
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
Example SAM Template
AWS Lambda function defined
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Resources:
ExampleFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam_demo_bucket/lambda_code.zip
Handler: index.handler
Runtime: nodejs6.10
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
Example SAM Template
Amazon API Gateway
interface defined and
connected to Lambda
Function
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Resources:
ExampleFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam_demo_bucket/lambda_code.zip
Handler: index.handler
Runtime: nodejs6.10
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
Example SAM Template
Amazon DynamoDB Table
defined for use by Lambda
function
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS SAM Permissions And Policies: Quick Tips
Only certain policy templates are allowed
You cannot create custom policies for
Serverless Application Repository Apps
For the full list of supported AWS Policies
and permissions go here:
https://docs.aws.amazon.com/serverlessr
epo/latest/devguide/using-aws-sam.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless Application Definitions
AWS SAM template
+
Amazon S3 stored code (CodeUri block)
=
Serverless Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Best Practices For
Creating Serverless Applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Keep Your Applications Well Defined
• Don’t do too much in each application
• A few resources per application should suffice
• Consider combining multiple apps together so you can save time by
leveraging pre-built templates and build more complex solutions
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Small Applications
Amazon S3
Source
Bucket
Amazon S3
Output
Bucket
(defined by
parameter)
Lambda
Function
Output
Application
Definition
Put images
into bucket
Event
Trigger
SAM template:
https://github.com/evanchiu/serverless-
galleria/blob/master/sepia/template.yml
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Parameters: Insights And Tips
• Your deployed app resources are in a single unit called a stack
• Parameters enable you to input custom values to your template each time
you create or update a stack
• Parameters enable users to define deployment configurations
• e.g. defining anAmazon S3 bucket to use as a source or destination in an
application
• Tip: Consider security of API Keys and similar e.g.AWS Key Management
Management Service (KMS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Parameters
...
Parameters:
SplunkHttpEventCollectorURL:
Type: "String"
Description: "URL address of your Splunk HTTP event
collector endpoint"
...
Resources:
IoTFunction:
Type: AWS::Serverless::Function
Properties:
...
Environment:
Variables:
SPLUNK_HEC_URL: !Ref SplunkHttpEventCollectorURL
...
SAM template:
https://github.com/splunk/splunk-aws-
serverless-apps/blob/master/splunk-iot-
processor/template.yaml
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Outputs
• Each Application deploys as a CloudFormation Stack
• The Outputs section declares output values that you can import into
other stacks, return in response (to describe stack calls), or view in the
AWS CloudFormation console.
• Allows you to do cross-stack referencing
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Outputs
...
SplunkHttpEventCollectorToken:
Type: "String"
Description: "Token of your Splunk HTTP event
collector endpoint"
Outputs:
SplunkIoTProcessorFunction:
Description: "Splunk IoT Serverless Function"
Value: !GetAtt IoTFunction.Arn
Resources:
IoTFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
...
SAM template:
https://github.com/splunk/splunk-aws-
serverless-apps/blob/master/splunk-iot-
processor/template.yaml
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Consider Input/Output For Your Application
How will your application be triggered?
How will the user configure where they want the output to go?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Consider Input/Output For Your Application
Amazon
CloudWatch
Amazon
DynamoDB
TwitterSearchPoller
Async invoke
Application
Definition
Search API
Polling
Schedule
(Input)
Search
Checkpoint
Lambda function
output specified as
parameter
SAM template:
https://github.com/awslabs/aws-
serverless-twitter-event-
source/blob/master/app.template.yml
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Private Apps
• Useful for sharing internal resources and patterns
• Private apps are region specific
• Private apps can be shared across users and accounts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Building And Deploying
Serverless Applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Before You Start Building…
Check:
• Does your application already exist?
• Does something similar exist that you can copy?
https://serverlessrepo.aws.amazon.com/applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Build, Publish And Share Quality Apps
Core application consists of:
• SAM template (YAML or JSON)
• Associated code and template files e.g. Lambda function code
To see great examples that cover monitoring, media processing, machine
learning, and more, visit the Serverless Application Repository
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Build, Publish And Share Quality Apps
• Unit Testing – e.g. `npm test`
• Local Testing - `sam local start-api`
• Deploy to personal CloudFormation Stack & test - `sam package` &
`sam deploy`
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing Applications
• SAM Template
• An AWS CloudFormation package - `sam package`
• Source code URL e.g. Github
• A readme.txt file that describes your application & how the
parameters allow users to configure it on deployment
• A license.txt file
• An Amazon S3 bucket containing your build artifacts & grants service
read permissions to Serverless Application Repository
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
Go to:
https://console.aws.amazon.com/serverlessrepo
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing an application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing An Application: Quick Tips
• Clicking on the Visibility switch will make the application public
• Leaving it switched off leaves the application private
• Private applications are region specific
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Publishing A New Version Of An Application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Combining Serverless Applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless Applications
• No application sits in isolation
• An organization may have many serverless applications in production
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Combining Applications: Benefits
• You can create a new application by combining 2 or more applications
• e.g. an application that reads tweets with a specific phrase from the
twitter search API can then post to a Lambda function in another
application.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Combining Applications
Amazon
CloudWatch
Amazon
DynamoDB
TwitterSearchPoller
Async invoke
Application
Definition
Search API
Polling
Schedule
(Input)
Search
Checkpoint
Application
Definition
AnalyseTweet
Amazon SNS
Publish to
Topic
Output via subscription
to SNS Topic
aws-serverless-twitter-event-source Proposed application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Combining Applications
• It’s a complete application
• Large parts of development are done for you
• The applications are combined by the user
• Can combine public and private applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Combining Applications: More Benefits
• Additional Lambda functions for routing between applications can
make for rapid application development
• Allows for combinations to be put together and easily broken apart
• Easily composable
• Easily broken down
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Combining Applications With Lambda functions
Amazon
CloudWatch
Amazon
DynamoDB
TwitterSearchPoller
Async invoke
Application
Definition
Search API
Polling
Schedule
(Input)
Search
Checkpoint
Application
Definition
AnalyseTweet
Amazon SNS
Publish to
Topic
Output via subscription
to SNS Topic
aws-serverless-twitter-event-source Proposed application
Routing Lambda
Other application?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Conclusion
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What We Learned
1. What the AWS Serverless Application Repository is
2. Some best practices for creating serverless applications
3. How to build and deploy serverless applications
4. How you can build more complex examples by combining
applications together
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Paul Johnston, Senior Serverless Developer Advocate, EMEA
April 24, 2018
Tips and Tricks for Deploying
Serverless Apps In Minutes

More Related Content

What's hot

ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksAmazon Web Services
 
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Amazon Web Services
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018Amazon Web Services
 
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...Amazon Web Services
 
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)Amazon Web Services
 
Let me graph that for you - Amazon Neptune
Let me graph that for you - Amazon NeptuneLet me graph that for you - Amazon Neptune
Let me graph that for you - Amazon NeptuneAmazon Web Services
 
Building low latency apps with a serverless architecture and in-memory data I...
Building low latency apps with a serverless architecture and in-memory data I...Building low latency apps with a serverless architecture and in-memory data I...
Building low latency apps with a serverless architecture and in-memory data I...AWS Germany
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)Amazon Web Services
 
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...Amazon Web Services
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Amazon Web Services
 
雲端推動的人工智能革命
雲端推動的人工智能革命雲端推動的人工智能革命
雲端推動的人工智能革命Amazon Web Services
 
Choose the right DB for the Job - Builders Day Israel
Choose the right DB for the Job - Builders Day IsraelChoose the right DB for the Job - Builders Day Israel
Choose the right DB for the Job - Builders Day IsraelAmazon Web Services
 
Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)Amazon Web Services
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Amazon Web Services
 
Secure Your Customers' Data From Day One
Secure Your Customers' Data From Day OneSecure Your Customers' Data From Day One
Secure Your Customers' Data From Day OneAmazon Web Services
 
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...Amazon Web Services
 
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Amazon Web Services
 
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...Amazon Web Services
 
Compliance and Security Mitigation Techniques
Compliance and Security Mitigation TechniquesCompliance and Security Mitigation Techniques
Compliance and Security Mitigation TechniquesAmazon Web Services
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...Amazon Web Services
 

What's hot (20)

ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
 
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
 
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
 
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
 
Let me graph that for you - Amazon Neptune
Let me graph that for you - Amazon NeptuneLet me graph that for you - Amazon Neptune
Let me graph that for you - Amazon Neptune
 
Building low latency apps with a serverless architecture and in-memory data I...
Building low latency apps with a serverless architecture and in-memory data I...Building low latency apps with a serverless architecture and in-memory data I...
Building low latency apps with a serverless architecture and in-memory data I...
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
 
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
From One to Many: Diving Deeper into Evolving VPC Design (ARC310-R2) - AWS re...
 
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
Architecting ASP.NET Core Microservices Applications on AWS (WIN401) - AWS re...
 
雲端推動的人工智能革命
雲端推動的人工智能革命雲端推動的人工智能革命
雲端推動的人工智能革命
 
Choose the right DB for the Job - Builders Day Israel
Choose the right DB for the Job - Builders Day IsraelChoose the right DB for the Job - Builders Day Israel
Choose the right DB for the Job - Builders Day Israel
 
Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
 
Secure Your Customers' Data From Day One
Secure Your Customers' Data From Day OneSecure Your Customers' Data From Day One
Secure Your Customers' Data From Day One
 
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
 
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
 
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
 
Compliance and Security Mitigation Techniques
Compliance and Security Mitigation TechniquesCompliance and Security Mitigation Techniques
Compliance and Security Mitigation Techniques
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
 

Similar to Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS Online Tech Talks

Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Amazon Web Services
 
Ci/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubCi/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubBoaz Ziniman
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Amazon Web Services
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Amazon Web Services
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...AWS Germany
 
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
 
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...Amazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupCI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupBoaz Ziniman
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal ServerlessAmazon Web Services
 
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...Amazon Web Services
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWSAmazon Web Services
 
Serverless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventServerless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventBoaz Ziniman
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessAmazon Web Services
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural PatternsAmazon Web Services
 
Building serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS SummitBuilding serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS SummitAmazon Web Services
 
Building CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsBuilding CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsAmazon Web Services
 
Build your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS AmplifyBuild your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS AmplifyAmazon Web Services
 
Intro to AWS Amplify Toolchain: Mobile Week SF
Intro to AWS Amplify Toolchain: Mobile Week SFIntro to AWS Amplify Toolchain: Mobile Week SF
Intro to AWS Amplify Toolchain: Mobile Week SFAmazon Web Services
 

Similar to Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS Online Tech Talks (20)

Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
 
Ci/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubCi/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO Club
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
 
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
 
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupCI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal Serverless
 
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
Serverless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventServerless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless Event
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni Serverless
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Building serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS SummitBuilding serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS Summit
 
Building CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsBuilding CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless Applications
 
Build your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS AmplifyBuild your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS Amplify
 
Serverless for Developers
Serverless for DevelopersServerless for Developers
Serverless for Developers
 
Intro to AWS Amplify Toolchain: Mobile Week SF
Intro to AWS Amplify Toolchain: Mobile Week SFIntro to AWS Amplify Toolchain: Mobile Week SF
Intro to AWS Amplify Toolchain: Mobile Week SF
 

More from Amazon Web Services

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...Amazon Web Services
 
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...Amazon Web Services
 
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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
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 Amazon Web Services
 
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...Amazon Web Services
 
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...Amazon Web Services
 
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 WorkloadsAmazon Web Services
 
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 sfatareAmazon Web Services
 
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 NodeJSAmazon Web Services
 
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 webAmazon Web Services
 
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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon 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
 

Tips and Tricks for Building and Deploying Serverless Apps In Minutes - AWS Online Tech Talks

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Paul Johnston, Senior Serverless Developer Advocate, EMEA April 24, 2018 Tips and Tricks for Deploying Serverless Apps In Minutes
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Session Objectives 1. Understand what the AWS Serverless Application Repository is 2. Learn some best practices for creating serverless applications 3. Give hands on examples for building and deploying serverless applications 4. Show how you can build more complex examples by linking services/applications together
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Serverless Application Repository
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Overview • Quickly deploy code samples, components and complete applications for common use cases (web back end, logging etc) • Apps are packaged using AWS Serverless Application Model (SAM) • Publicly shared apps also include a link to the source code • No additional charge to use Serverless Application Repository - you only pay for the resources used
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying 3rd Party Apps Can Be Difficult 🔎 Directed to a repo e.g. in Github Search/ask in forum for solution Read installation instructions 📄 Attempt to install it … follow installation instructions … … edit more files … … integrate with existing solution …
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Discovery And Deployment • Finding the “right” serverless apps is hard e.g. Github search • Knowing whether they are good or even right for my use case is difficult to judge • Quality and provenance is important • Apps are often disconnected from infrastructure
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless Application Repository ✅ Search and find applications for your use case ✅ Repository displays the publisher, a link to the source code, and an explanation of how the application works ✅ Each app can be deployed into your AWS Account by clicking “Deploy” and entering any required parameters ✅ No need to know the language for any AWS Lambda functions as each application is self contained and runs in its own environment
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless Application Repository ✅ Public and Private applications ✅ Private applications can be shared within an AWS Account or with other AWS Accounts
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Using The Serverless Application Repository 🔎 Search for elements in Serverless Application Repository Examples from the repository include a serverless web uploader or an AWS Lambda site generator View Readme and License 📄 Click Deploy to install to your AWS Account as an AWS CloudFormation Stack
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying An Application
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying An Application
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying An Application
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying An Application
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying An Application
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying An Application
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Defining Serverless Applications Apps in the Serverless Application Repository are defined using the AWS Serverless Application Model aka SAM
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS SAM AWS SAM extends AWS CloudFormation to simplify definition of resources for serverless applications SAM Translator transforms SAM templates into AWS CloudFormation templates Open Source specification and implementation (Apache 2.0 License)
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Resources: ExampleFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam_demo_bucket/lambda_code.zip Handler: index.handler Runtime: nodejs6.10 Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable Example SAM Template
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Resources: ExampleFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam_demo_bucket/lambda_code.zip Handler: index.handler Runtime: nodejs6.10 Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable Example SAM Template Tells CloudFormation this is a SAM template
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Resources: ExampleFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam_demo_bucket/lambda_code.zip Handler: index.handler Runtime: nodejs6.10 Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable Example SAM Template AWS Lambda function defined
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Resources: ExampleFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam_demo_bucket/lambda_code.zip Handler: index.handler Runtime: nodejs6.10 Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable Example SAM Template Amazon API Gateway interface defined and connected to Lambda Function
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Resources: ExampleFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam_demo_bucket/lambda_code.zip Handler: index.handler Runtime: nodejs6.10 Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable Example SAM Template Amazon DynamoDB Table defined for use by Lambda function
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS SAM Permissions And Policies: Quick Tips Only certain policy templates are allowed You cannot create custom policies for Serverless Application Repository Apps For the full list of supported AWS Policies and permissions go here: https://docs.aws.amazon.com/serverlessr epo/latest/devguide/using-aws-sam.html
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless Application Definitions AWS SAM template + Amazon S3 stored code (CodeUri block) = Serverless Application
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Best Practices For Creating Serverless Applications
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Keep Your Applications Well Defined • Don’t do too much in each application • A few resources per application should suffice • Consider combining multiple apps together so you can save time by leveraging pre-built templates and build more complex solutions
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Small Applications Amazon S3 Source Bucket Amazon S3 Output Bucket (defined by parameter) Lambda Function Output Application Definition Put images into bucket Event Trigger SAM template: https://github.com/evanchiu/serverless- galleria/blob/master/sepia/template.yml
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Parameters: Insights And Tips • Your deployed app resources are in a single unit called a stack • Parameters enable you to input custom values to your template each time you create or update a stack • Parameters enable users to define deployment configurations • e.g. defining anAmazon S3 bucket to use as a source or destination in an application • Tip: Consider security of API Keys and similar e.g.AWS Key Management Management Service (KMS)
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Parameters ... Parameters: SplunkHttpEventCollectorURL: Type: "String" Description: "URL address of your Splunk HTTP event collector endpoint" ... Resources: IoTFunction: Type: AWS::Serverless::Function Properties: ... Environment: Variables: SPLUNK_HEC_URL: !Ref SplunkHttpEventCollectorURL ... SAM template: https://github.com/splunk/splunk-aws- serverless-apps/blob/master/splunk-iot- processor/template.yaml
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Outputs • Each Application deploys as a CloudFormation Stack • The Outputs section declares output values that you can import into other stacks, return in response (to describe stack calls), or view in the AWS CloudFormation console. • Allows you to do cross-stack referencing
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Outputs ... SplunkHttpEventCollectorToken: Type: "String" Description: "Token of your Splunk HTTP event collector endpoint" Outputs: SplunkIoTProcessorFunction: Description: "Splunk IoT Serverless Function" Value: !GetAtt IoTFunction.Arn Resources: IoTFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler ... SAM template: https://github.com/splunk/splunk-aws- serverless-apps/blob/master/splunk-iot- processor/template.yaml
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Consider Input/Output For Your Application How will your application be triggered? How will the user configure where they want the output to go?
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Consider Input/Output For Your Application Amazon CloudWatch Amazon DynamoDB TwitterSearchPoller Async invoke Application Definition Search API Polling Schedule (Input) Search Checkpoint Lambda function output specified as parameter SAM template: https://github.com/awslabs/aws- serverless-twitter-event- source/blob/master/app.template.yml
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Private Apps • Useful for sharing internal resources and patterns • Private apps are region specific • Private apps can be shared across users and accounts
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Building And Deploying Serverless Applications
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Before You Start Building… Check: • Does your application already exist? • Does something similar exist that you can copy? https://serverlessrepo.aws.amazon.com/applications
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Build, Publish And Share Quality Apps Core application consists of: • SAM template (YAML or JSON) • Associated code and template files e.g. Lambda function code To see great examples that cover monitoring, media processing, machine learning, and more, visit the Serverless Application Repository
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Build, Publish And Share Quality Apps • Unit Testing – e.g. `npm test` • Local Testing - `sam local start-api` • Deploy to personal CloudFormation Stack & test - `sam package` & `sam deploy`
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing Applications • SAM Template • An AWS CloudFormation package - `sam package` • Source code URL e.g. Github • A readme.txt file that describes your application & how the parameters allow users to configure it on deployment • A license.txt file • An Amazon S3 bucket containing your build artifacts & grants service read permissions to Serverless Application Repository
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application Go to: https://console.aws.amazon.com/serverlessrepo
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing an application
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing An Application: Quick Tips • Clicking on the Visibility switch will make the application public • Leaving it switched off leaves the application private • Private applications are region specific
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Publishing A New Version Of An Application
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Combining Serverless Applications
  • 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless Applications • No application sits in isolation • An organization may have many serverless applications in production
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Combining Applications: Benefits • You can create a new application by combining 2 or more applications • e.g. an application that reads tweets with a specific phrase from the twitter search API can then post to a Lambda function in another application.
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Combining Applications Amazon CloudWatch Amazon DynamoDB TwitterSearchPoller Async invoke Application Definition Search API Polling Schedule (Input) Search Checkpoint Application Definition AnalyseTweet Amazon SNS Publish to Topic Output via subscription to SNS Topic aws-serverless-twitter-event-source Proposed application
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Combining Applications • It’s a complete application • Large parts of development are done for you • The applications are combined by the user • Can combine public and private applications
  • 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Combining Applications: More Benefits • Additional Lambda functions for routing between applications can make for rapid application development • Allows for combinations to be put together and easily broken apart • Easily composable • Easily broken down
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Combining Applications With Lambda functions Amazon CloudWatch Amazon DynamoDB TwitterSearchPoller Async invoke Application Definition Search API Polling Schedule (Input) Search Checkpoint Application Definition AnalyseTweet Amazon SNS Publish to Topic Output via subscription to SNS Topic aws-serverless-twitter-event-source Proposed application Routing Lambda Other application?
  • 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Conclusion
  • 62. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What We Learned 1. What the AWS Serverless Application Repository is 2. Some best practices for creating serverless applications 3. How to build and deploy serverless applications 4. How you can build more complex examples by combining applications together
  • 63. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 64. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you
  • 65. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Paul Johnston, Senior Serverless Developer Advocate, EMEA April 24, 2018 Tips and Tricks for Deploying Serverless Apps In Minutes

Editor's Notes

  1. ??? Add in SAM template here ???
  2. Outputs – allows you to define a variable for use in another stack Why is this important? Because you can then avoid hard coding values into another stack that needs to reference the resources in this stack Consider also providing a ResourceID parameter or similar and using that as an Export Value so that if the application is deployed multiple times you can have different output values.