SlideShare a Scribd company logo
Serverless – walk the talk
Adrian Hornsby
Technical Evangelist @ AWS
@adhorn
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is that serverless thing?
Customers actually use it! how?
Show us some demos!
Bag of tricks
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Serverless offerings
And more !!
Lambda DynamoDB S3 Kinesis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is Lambda
Functions are the unit of deployment and scaling.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How does a Lambda function looks like?
def hello(event, context):
return {
"message": ”Hello World!",
"event": event
}
'use strict';
handlermodule.exports.hello = (event, context, cb) => cb(null,
{ message: ’Hello World!', event }
);
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
But what really *is* AWS Lambda?
• Linux containers as an implementation, not a programming or deployment
abstraction
– Process and network isolation, cgroups, seccomp, …
• Predictive capacity management
– Purpose-built, massively scaled language runtime delivery service
• Swagger interpreter (API Gateway)
• Cold vs Hot state
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How Lambda works
S3 event
notifications
DynamoDB
Streams
Kinesis
events
Cognito
events
SNS
events
Custom
events
CloudTrail
events LambdaDynamoDB
Kinesis S3
Any custom
Redshift
SNS
CloudWatch
events
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Continuous
scaling
No servers to
manage
Never pay for idle
– no cold servers
Benefits of AWS Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Pay-per request
• Buy compute time in
100 ms increments
• Low request charge
• No hourly, daily, or
monthly minimums
• No per-device fees
Never pay for idle!
Free Tier
1 million requests and 400,000 GBs of compute
every month, every customer
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using AWS Lambda
Bring your own code
• Node.js, Java, Python, C#
• Bring your own libraries
(even native ones)
Simple resource model
• Select power rating from
128 MB to 1.5 GB
• CPU and network allocated
proportionately
• Reports actual usage
Flexible authorization
• Securely grant access to
resources, including VPCs
• Fine-grained control over
who can call your functions
Flexible use
• Call or send events
• Integrated with other AWS
services
• Build whole serverless
ecosystems
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using AWS Lambda
Programming model
• AWS SDK built in (Python
and Node.js)
• Lambda is the front end
• Use processes, threads,
/tmp, sockets normally
Stateless
• Persist data using Amazon
DynamoDB, S3, or
ElastiCache
• No affinity to infrastructure
(can’t “log in to the box”)
Authoring functions
• Author directly using the
console WYSIWYG editor
• Package code as a .zip and
upload to Lambda or S3
• Plugins for Eclipse and
Visual Studio
• Command line tools
Monitoring and logging
• Built-in metrics for requests,
errors, latency, and throttles
• Built-in logs in Amazon
CloudWatch Logs
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monitoring and debugging
Lambda Functions
• AWS Lambda console includes
a dashboard for functions
• Lists all Lambda functions
• Easy editing of resources, event
sources and other settings
• At-a-glance metrics
• Metrics automatically reported
to Amazon CloudWatch for each
Lambda function
• Requests
• Errors
• Latency
• Throttles
• Logs captured by Amazon
CloudWatch Logging service
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Calling Lambda over the Internet – REST API
HTTP
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Calling Lambda over the Internet using API Gateway
HTTP
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Benefits of Amazon API Gateway
Create a unified API
front end for
multiple
microservices
DDoS protection
and throttling for
back-end systems
Authenticate and
authorize requests
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Method and integration
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Swagger support
• API definitions live in versioned source repository with the rest of the app.
• Can be used with other utilities in the Swagger toolset (for example,
documentation generation).
• API can be imported and deployed in build script.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Automating the workflow with Swagger
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Environment variables for Lambda functions
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C# and .NET Core
• Write Lambda functions
in C#
• netcoreapp 1.0 on
Amazon Linux
• Built-in logging and
metrics
• Supports common
AWS event types (S3,
SNS)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Easily create reliable end-to-end event processing solutions
• Sends all unprocessed events to your
SQS queue or SNS topic: 3 strikes rule
• Preserves events even if your code has
an issue or the call was throttled
• Per-function
• Works for all async invokes, including S3
and SNS events
Dead-letter queue for events
Amazon
SQS
Amazon
SNS
AWS
Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Attempt a function more than 3X
• Add callbacks to asynchronous functions
• Handle situations that require waiting
• Chain function execution (ABC)
• Supports long-running workflows
AWS Step Functions
Reliably orchestrate multiple Lambda functions
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + Use Cases
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Key scenarios
Data Triggers
Customize behavior
on data updates in
S3, SNS and DDB
Control systems
Customize responses and
response workflows to
state changes within AWS
Serverless
backends
Execute server side
backend logic in a
cross platform
fashion
Big data
Realtime processing
of streaming data
updates using
Kinesis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + Cloudwatch Events
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Security and Conformity
• “Trust but verify” with high confidence via events.
• Deployments verified with every change.
• Lambda guarantees that each instance is in
compliance with defined security rules.
• Triggers shutdown of violations and notifications.
• Compliance and readiness rules can be validated
with every resource change.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Auto Tagging resources as they start
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + Schedulers
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduled Event (CRON)
• Dev/QA Environments: Stop running instances
at 19:00 h and Start it again at 8:00 between
Monday to Friday.
• Log cleanup
• Batching up statistics
• Alarm clock
• Infrastructure automation
• Backup scheduler
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Auto Start/Shutdown of Instances
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + S3
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Dynamic data ingestion using S3+Lambda
Amazon S3 AWS Lambda
processes
the object
Amazon S3
New object
uploaded
Amazon
DynamoDB
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customers running S3 + Lambda pipelines
AWS
Lambda
Indexing
tables or
notifications
Apply custom logic to process content being
uploaded into S3.
• Watermarking / thumbnailing
• Transcoding
• Indexing and deduplication
• Aggregation and filtering
• Pre processing
• Content validation
• WAF updates
Amazon S3
Bucket
Events
Processed
files
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo: Auto Resize images to thumbnails
• Example: Amazon S3 bucket triggers
Amazon S3 bucket events
Original object
Compressed object
1
2
3
AWS Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + Kinesis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Real time stream processing with Kinesis+Lambda
Amazon
Kinesis
AWS Lambda
processes
the stream
Amazon
CloudWatch Logs
Amazon SNS
New data
available
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customers using real-time processing pipelines
AWS
Lambda
Aggregate
statistics
Real-time
analytics
Kinesis Stream
Apply custom logic to process data
being uploaded through Kinesis stream
• Client activity tracking
• Metrics generation
• Data cleansing
• Log filtering
• Indexing and searching
• Log routing
• Live alarms and notifications
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Real-Time Analytics
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + DynamoDB
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Triggers Workflow Using DynamoDB & Lambda
New data
available
Amazon DynamoDB AWS Lambda
Amazon
DynamoDB
Amazon
Redshift
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Indexing DynamoDB content using ElasticSearch
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + SNS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Real-Time Message Handling Workflow Using SNS & Lambda
New message
published
Amazon SNS AWS Lambda
Amazon SNS
Amazon Kinesis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Example workloads on SNS+Lambda
AWS
Lambda
Amazon SNS
“I want to run custom logic in response to
my CloudWatch Alarms”
“I want to customize messages before
publishing them to my target audience”
“I want to execute custom code when new
messages are posted on my (SNS)
message bus”
Amazon
CloudWatch
On-prem events
Customized
message
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda Powered APIs
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
An API Call Flow
Internet
Mobile Apps
Websites
Services
API
Gateway
AWS Lambda
functions
AWS
API Gateway
Cache
Endpoints on
Amazon EC2
Any other publicly
accessible endpoint
Amazon
CloudWatch
Monitoring
Amazon
CloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo: Serverless URL Shortener
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + Alexa
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Alexa apps + Slack = serverless bots!
Alexa, tell Slack to
send, “I’m giving the
demo now.”
Message retrieval through scheduled polling
Kevin says,
“Break a leg!”
Message upload (via
Slack API)
Team
(channel users)
Slack
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Developing Lambda How-to
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless (previously Jaws)
• http://serverless.com
• Supports Node.js, Python & Java.
• Manages the lifecycle of your serverless architecture (build, deploy, update,
delete).
• Safely deploy functions, events and their required resources together via
provider resource managers (e.g., AWS CloudFormation).
• Functions can be grouped ("serverless services") for easy management of
code, resources & processes, across large projects & teams.
• Built-in support for multiple stages.
• Logging support (serverless logs --function myfunction)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Chalice - Python Serverless Microframework for AWS
• Allows to quickly create and deploy applications
• It provides:
– A command line tool for creating, deploying, and managing your app
– A familiar and easy to use API for declaring views in python code
– Automatic IAM policy generation
– Logging support (chalice logs)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Python Serverless Microframework for AWS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Custom projects
• Bash scripts
– Create roles and policies
– Deploy functions & gateways
• Versioned with GIT
• Locally tests (emulambda)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CloudFormation
• All in one template
• Versioned with GIT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Serverless Application Model (“SAM”)
• A common language for describing the contents of a
serverless app.
• CloudFormation now “speaks serverless” with native support
for SAM.
• New CloudFormation tools to package and deploy Lambda-
based apps.
• Export Lambda blueprints and functions in SAM
from the AWS Lambda console.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources: GetHtmlFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://flourish-demo-bucket/todo_list.zip
Handler: index.gethtml
Runtime: nodejs4.3
Policies: AmazonDynamoDBReadOnlyAccess
Events:
GetHtml: Type: Api
Properties: Path: /{proxy+} Method: ANY
ListTable: Type: AWS::Serverless::SimpleTable
Functions
APIs
Storage
AWS Serverless Application Model
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources: GetHtmlFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://flourish-demo-bucket/todo_list.zip
Handler: index.gethtml
Runtime: nodejs4.3
Policies: AmazonDynamoDBReadOnlyAccess
Events:
GetHtml: Type: Api
Properties: Path: /{proxy+} Method: ANY
ListTable: Type: AWS::Serverless::SimpleTable
• AWSTemplateFormatVersion:
'2010-09-09'
• Resources:
• GetHtmlFunctionGetHtmlPermissio
nProd:
• Type: AWS::Lambda::Permission
• Properties:
• Action: lambda:invokeFunction
• Principal:
apigateway.amazonaws.com
• FunctionName:
• Ref: GetHtmlFunction
• SourceArn:
• Fn::Sub: arn:aws:execute-
api:${AWS::Region}:${AWS::Accou
ntId}:${ServerlessRestApi}/Prod/AN
Y/*
• ServerlessRestApiProdStage:
• Type: AWS::ApiGateway::Stage
• Properties:
• DeploymentId:
• Ref: ServerlessRestApiDeployment
• RestApiId:
• Ref: ServerlessRestApi
• StageName: Prod
• ListTable:
• Type: AWS::DynamoDB::Table
• Properties:
• ProvisionedThroughput:
• WriteCapacityUnits: 5
• ReadCapacityUnits: 5
• AttributeDefinitions:
• - AttributeName: id
• AttributeType: S
• KeySchema:
• - KeyType: HASH
• AttributeName: id
• GetHtmlFunction:
• Type: AWS::Lambda::Function
• Properties:
• Handler: index.gethtml
• Code:
• S3Bucket: flourish-demo-bucket
• S3Key: todo_list.zip
• Role:
• Fn::GetAtt:
• - GetHtmlFunctionRole
• - Arn
• Runtime: nodejs4.3
• GetHtmlFunctionRole:
• Type: AWS::IAM::Role
• Properties:
• ManagedPolicyArns:
• -
arn:aws:iam::aws:policy/AmazonDy
namoDBReadOnlyAccess
• - arn:aws:iam::aws:policy/service-
role/AWSLambdaBasicExecutionR
ole
• AssumeRolePolicyDocument:
• Version: '2012-10-17'
• Statement:
• - Action:
• - sts:AssumeRole
• Effect: Allow
• Principal:
• Service:
• - lambda.amazonaws.com
• ServerlessRestApiDeployment:
• Type:
AWS::ApiGateway::Deployment
• Properties:
• RestApiId:
• Ref: ServerlessRestApi
• Description: 'RestApi deployment
id:
127e3fb91142ab1ddc5f5446adb09
4442581a90d'
• StageName: Stage
• GetHtmlFunctionGetHtmlPermissio
nTest:
• Type: AWS::Lambda::Permission
• Properties:
• Action: lambda:invokeFunction
• Principal:
apigateway.amazonaws.com
• FunctionName:
• Ref: GetHtmlFunction
• SourceArn:
• Fn::Sub: arn:aws:execute-
api:${AWS::Region}:${AWS::Accou
ntId}:${ServerlessRestApi}/*/ANY/*
• ServerlessRestApi:
• Type: AWS::ApiGateway::RestApi
• Properties:
• Body:
• info:
• version: '1.0'
• title:
• Ref: AWS::StackName
• paths:
• "/{proxy+}":
• x-amazon-apigateway-any-method:
• x-amazon-apigateway-integration:
• httpMethod: ANY
• type: aws_proxy
• uri:
• Fn::Sub:
arn:aws:apigateway:${AWS::Regio
n}:lambda:path/2015-03-
• 31/functions/${GetHtmlFunction.Arn
}/invocations
• responses: {}
• swagger: '2.0'
AWS Serverless Application Model
REPLACES:
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Emulambda - Python emulator for AWS Lambda
>> emulambda nanny.lambda_handler - -v < event_bedtime.json
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
lambda-local - NodeJS emulator for AWS Lambda
>> lambda-local -l index.js -h handler -e event-samples/s3-put.js
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The serverless compute manifesto
• Functions are the unit of deployment and scaling.
• No machines, VMs, or containers visible in the programming model.
• Permanent storage lives elsewhere.
• Scales per request. Users cannot over- or under-provision capacity.
• Never pay for idle resources.
• Implicitly fault-tolerant because functions can run anywhere.
• BYOC – Bring your own code and ALWAYS package dependencies
• Metrics and logging are a universal right.
• Turn VPC on only if necessary.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thanks!

More Related Content

What's hot

Getting Started With Amazon Quick Sight
Getting Started With Amazon Quick SightGetting Started With Amazon Quick Sight
Getting Started With Amazon Quick Sight
Amazon Web Services
 
Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...
Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...
Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...
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
Ian Massingham
 
Building Intelligent Solutions with AWS IoT
Building Intelligent Solutions with AWS IoT Building Intelligent Solutions with AWS IoT
Building Intelligent Solutions with AWS IoT
Amazon Web Services
 
AWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:CapAWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:Cap
Ian Massingham
 
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Amazon Web Services
 
Modern data architectures for real time analytics and engagement
Modern data architectures for real time analytics and engagementModern data architectures for real time analytics and engagement
Modern data architectures for real time analytics and engagement
Amazon Web Services
 
Closing Keynote - AWS Summit Stockholm
Closing Keynote - AWS Summit StockholmClosing Keynote - AWS Summit Stockholm
Closing Keynote - AWS Summit Stockholm
Amazon Web Services
 
Customer Case Study: Achieving PCI Compliance in AWS
Customer Case Study: Achieving PCI Compliance in AWSCustomer Case Study: Achieving PCI Compliance in AWS
Customer Case Study: Achieving PCI Compliance in AWS
Amazon Web Services
 
AWS IoT Workshop Keynote
AWS IoT Workshop KeynoteAWS IoT Workshop Keynote
AWS IoT Workshop Keynote
Ian Massingham
 
Security Best Practices: AWS AWSome Day Management Track
Security Best Practices: AWS AWSome Day Management TrackSecurity Best Practices: AWS AWSome Day Management Track
Security Best Practices: AWS AWSome Day Management Track
Ian Massingham
 
AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
Ian Massingham
 
Soluzioni di Database completamente gestite: NoSQL, relazionali e Data Warehouse
Soluzioni di Database completamente gestite: NoSQL, relazionali e Data WarehouseSoluzioni di Database completamente gestite: NoSQL, relazionali e Data Warehouse
Soluzioni di Database completamente gestite: NoSQL, relazionali e Data Warehouse
Amazon Web Services
 
AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...
AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...
AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...
Amazon Web Services
 
Casi reali di Mass Migration nel Cloud: benefici tangibili ed intangibili
Casi reali di Mass Migration nel Cloud: benefici tangibili ed intangibiliCasi reali di Mass Migration nel Cloud: benefici tangibili ed intangibili
Casi reali di Mass Migration nel Cloud: benefici tangibili ed intangibili
Amazon Web Services
 
AWS AWSome Day Roadshow Intro
AWS AWSome Day Roadshow IntroAWS AWSome Day Roadshow Intro
AWS AWSome Day Roadshow Intro
Ian Massingham
 
Analisi dei dati con AWS: una panoramica degli strumenti disponibili
Analisi dei dati con AWS: una panoramica degli strumenti disponibiliAnalisi dei dati con AWS: una panoramica degli strumenti disponibili
Analisi dei dati con AWS: una panoramica degli strumenti disponibili
Amazon Web Services
 
Announcing AWS Greengrass - January 2017 AWS Online Tech Talks
Announcing AWS Greengrass - January 2017 AWS Online Tech TalksAnnouncing AWS Greengrass - January 2017 AWS Online Tech Talks
Announcing AWS Greengrass - January 2017 AWS Online Tech Talks
Amazon Web Services
 
AWS AWSome Day Roadshow
AWS AWSome Day RoadshowAWS AWSome Day Roadshow
AWS AWSome Day Roadshow
Ian Massingham
 

What's hot (19)

Getting Started With Amazon Quick Sight
Getting Started With Amazon Quick SightGetting Started With Amazon Quick Sight
Getting Started With Amazon Quick Sight
 
Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...
Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...
Gestire la sicurezza nel Cloud: come iniziare ad implementare un processo Dev...
 
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
 
Building Intelligent Solutions with AWS IoT
Building Intelligent Solutions with AWS IoT Building Intelligent Solutions with AWS IoT
Building Intelligent Solutions with AWS IoT
 
AWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:CapAWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:Cap
 
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
 
Modern data architectures for real time analytics and engagement
Modern data architectures for real time analytics and engagementModern data architectures for real time analytics and engagement
Modern data architectures for real time analytics and engagement
 
Closing Keynote - AWS Summit Stockholm
Closing Keynote - AWS Summit StockholmClosing Keynote - AWS Summit Stockholm
Closing Keynote - AWS Summit Stockholm
 
Customer Case Study: Achieving PCI Compliance in AWS
Customer Case Study: Achieving PCI Compliance in AWSCustomer Case Study: Achieving PCI Compliance in AWS
Customer Case Study: Achieving PCI Compliance in AWS
 
AWS IoT Workshop Keynote
AWS IoT Workshop KeynoteAWS IoT Workshop Keynote
AWS IoT Workshop Keynote
 
Security Best Practices: AWS AWSome Day Management Track
Security Best Practices: AWS AWSome Day Management TrackSecurity Best Practices: AWS AWSome Day Management Track
Security Best Practices: AWS AWSome Day Management Track
 
AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
 
Soluzioni di Database completamente gestite: NoSQL, relazionali e Data Warehouse
Soluzioni di Database completamente gestite: NoSQL, relazionali e Data WarehouseSoluzioni di Database completamente gestite: NoSQL, relazionali e Data Warehouse
Soluzioni di Database completamente gestite: NoSQL, relazionali e Data Warehouse
 
AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...
AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...
AWS re:Invent 2016: Unlocking the Four Seasons of Migrations and Operations: ...
 
Casi reali di Mass Migration nel Cloud: benefici tangibili ed intangibili
Casi reali di Mass Migration nel Cloud: benefici tangibili ed intangibiliCasi reali di Mass Migration nel Cloud: benefici tangibili ed intangibili
Casi reali di Mass Migration nel Cloud: benefici tangibili ed intangibili
 
AWS AWSome Day Roadshow Intro
AWS AWSome Day Roadshow IntroAWS AWSome Day Roadshow Intro
AWS AWSome Day Roadshow Intro
 
Analisi dei dati con AWS: una panoramica degli strumenti disponibili
Analisi dei dati con AWS: una panoramica degli strumenti disponibiliAnalisi dei dati con AWS: una panoramica degli strumenti disponibili
Analisi dei dati con AWS: una panoramica degli strumenti disponibili
 
Announcing AWS Greengrass - January 2017 AWS Online Tech Talks
Announcing AWS Greengrass - January 2017 AWS Online Tech TalksAnnouncing AWS Greengrass - January 2017 AWS Online Tech Talks
Announcing AWS Greengrass - January 2017 AWS Online Tech Talks
 
AWS AWSome Day Roadshow
AWS AWSome Day RoadshowAWS AWSome Day Roadshow
AWS AWSome Day Roadshow
 

Viewers also liked

AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
Adrian Hornsby
 
Derive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWSDerive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWS
Adrian Hornsby
 
Derive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWSDerive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWS
Adrian Hornsby
 
AWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:CapAWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:Cap
Adrian Hornsby
 
Lambda local - A local server for developing AWS Lambda function in Java
Lambda local - A local server for developing AWS Lambda function in JavaLambda local - A local server for developing AWS Lambda function in Java
Lambda local - A local server for developing AWS Lambda function in Java
Yenwen Feng
 
Space Invading: an approach to sensing
Space Invading: an approach to sensingSpace Invading: an approach to sensing
Space Invading: an approach to sensing
Adrian Hornsby
 
Cassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
daveconnors
 
Bringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potentialBringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potentialAdrian Hornsby
 
CI&CD with AWS - AWS Prague User Group - May 2015
CI&CD with AWS - AWS Prague User Group - May 2015CI&CD with AWS - AWS Prague User Group - May 2015
CI&CD with AWS - AWS Prague User Group - May 2015
Vladimir Simek
 
re:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloudre:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloud
Amazon Web Services
 
Travel hackathon
Travel hackathonTravel hackathon
Travel hackathon
Vladimir Simek
 
How to run your Hadoop Cluster in 10 minutes
How to run your Hadoop Cluster in 10 minutesHow to run your Hadoop Cluster in 10 minutes
How to run your Hadoop Cluster in 10 minutes
Vladimir Simek
 
AWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacksAWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacks
Emmanuel Quentin
 
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
Amazon Web Services
 
Lessons & Use-Cases at Scale - Dr. Pete Stanski
Lessons & Use-Cases at Scale - Dr. Pete StanskiLessons & Use-Cases at Scale - Dr. Pete Stanski
Lessons & Use-Cases at Scale - Dr. Pete Stanski
Amazon Web Services
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
Amazon Web Services
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
Hakim El Hattab
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
Amazon Web Services
 
Operating your Production API
Operating your Production APIOperating your Production API
Operating your Production API
Amazon Web Services
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
Amazon Web Services
 

Viewers also liked (20)

AWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:CapAWS re:Invent 2016 Day 1 Keynote re:Cap
AWS re:Invent 2016 Day 1 Keynote re:Cap
 
Derive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWSDerive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWS
 
Derive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWSDerive Insight from IoT data in minute with AWS
Derive Insight from IoT data in minute with AWS
 
AWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:CapAWS re:Invent 2016 Day 2 Keynote re:Cap
AWS re:Invent 2016 Day 2 Keynote re:Cap
 
Lambda local - A local server for developing AWS Lambda function in Java
Lambda local - A local server for developing AWS Lambda function in JavaLambda local - A local server for developing AWS Lambda function in Java
Lambda local - A local server for developing AWS Lambda function in Java
 
Space Invading: an approach to sensing
Space Invading: an approach to sensingSpace Invading: an approach to sensing
Space Invading: an approach to sensing
 
Cassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
 
Bringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potentialBringing Wireless Sensing to its full potential
Bringing Wireless Sensing to its full potential
 
CI&CD with AWS - AWS Prague User Group - May 2015
CI&CD with AWS - AWS Prague User Group - May 2015CI&CD with AWS - AWS Prague User Group - May 2015
CI&CD with AWS - AWS Prague User Group - May 2015
 
re:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloudre:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloud
 
Travel hackathon
Travel hackathonTravel hackathon
Travel hackathon
 
How to run your Hadoop Cluster in 10 minutes
How to run your Hadoop Cluster in 10 minutesHow to run your Hadoop Cluster in 10 minutes
How to run your Hadoop Cluster in 10 minutes
 
AWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacksAWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacks
 
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
 
Lessons & Use-Cases at Scale - Dr. Pete Stanski
Lessons & Use-Cases at Scale - Dr. Pete StanskiLessons & Use-Cases at Scale - Dr. Pete Stanski
Lessons & Use-Cases at Scale - Dr. Pete Stanski
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Operating your Production API
Operating your Production APIOperating your Production API
Operating your Production API
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 

Similar to Getting started with Serverless on AWS

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
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
Amazon Web Services
 
Building Serverless Microservices with AWS
Building Serverless Microservices with AWSBuilding Serverless Microservices with AWS
Building Serverless Microservices with AWS
Donnie Prakoso
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
Amazon Web Services
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
Adrian Hornsby
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture Patterns
Amazon Web Services
 
Introduction to Serverless Computing and AWS Lambda - AWS IL Meetup
Introduction to Serverless Computing and AWS Lambda - AWS IL MeetupIntroduction to Serverless Computing and AWS Lambda - AWS IL Meetup
Introduction to Serverless Computing and AWS Lambda - AWS IL Meetup
Boaz Ziniman
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Amazon Web Services
 
Serverless use cases with AWS Lambda
Serverless use cases with AWS Lambda Serverless use cases with AWS Lambda
Serverless use cases with AWS Lambda
Boaz Ziniman
 
AWSomeDay Zurich 2018 - How to go serverless
AWSomeDay Zurich 2018 - How to go serverless AWSomeDay Zurich 2018 - How to go serverless
AWSomeDay Zurich 2018 - How to go serverless
Roman Plessl
 
Serverless architecture-patterns-and-best-practices
Serverless architecture-patterns-and-best-practicesServerless architecture-patterns-and-best-practices
Serverless architecture-patterns-and-best-practices
saifam
 
Genomics on aws-webinar-april2018
Genomics on aws-webinar-april2018Genomics on aws-webinar-april2018
Genomics on aws-webinar-april2018
Brendan Bouffler
 
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
 
Create a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformCreate a Serverless Image Processing Platform
Create a Serverless Image Processing Platform
Amazon Web Services
 
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
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
 
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
Amazon Web Services
 
LFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdfLFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdf
Amazon Web Services
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
Amazon Web Services
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
Amazon Web Services
 

Similar to Getting started with Serverless on AWS (20)

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
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
 
Building Serverless Microservices with AWS
Building Serverless Microservices with AWSBuilding Serverless Microservices with AWS
Building Serverless Microservices with AWS
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture Patterns
 
Introduction to Serverless Computing and AWS Lambda - AWS IL Meetup
Introduction to Serverless Computing and AWS Lambda - AWS IL MeetupIntroduction to Serverless Computing and AWS Lambda - AWS IL Meetup
Introduction to Serverless Computing and AWS Lambda - AWS IL Meetup
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Serverless use cases with AWS Lambda
Serverless use cases with AWS Lambda Serverless use cases with AWS Lambda
Serverless use cases with AWS Lambda
 
AWSomeDay Zurich 2018 - How to go serverless
AWSomeDay Zurich 2018 - How to go serverless AWSomeDay Zurich 2018 - How to go serverless
AWSomeDay Zurich 2018 - How to go serverless
 
Serverless architecture-patterns-and-best-practices
Serverless architecture-patterns-and-best-practicesServerless architecture-patterns-and-best-practices
Serverless architecture-patterns-and-best-practices
 
Genomics on aws-webinar-april2018
Genomics on aws-webinar-april2018Genomics on aws-webinar-april2018
Genomics on aws-webinar-april2018
 
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
 
Create a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformCreate a Serverless Image Processing Platform
Create a Serverless Image Processing Platform
 
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
Create a Serverless Image Processing Platform - ARC326 - re:Invent 2017
 
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
 
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
High-Throughput Genomics on AWS - LFS309 - re:Invent 2017
 
LFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdfLFS309-High-Throughput Genomics on AWS.pdf
LFS309-High-Throughput Genomics on AWS.pdf
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 

More from Adrian Hornsby

How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
Adrian Hornsby
 
Can Automotive be as agile as Unicorns?
Can Automotive be as agile as Unicorns?Can Automotive be as agile as Unicorns?
Can Automotive be as agile as Unicorns?
Adrian Hornsby
 
Moving Forward with AI - as presented at the Prosessipäivät 2018
Moving Forward with AI - as presented at the Prosessipäivät 2018Moving Forward with AI - as presented at the Prosessipäivät 2018
Moving Forward with AI - as presented at the Prosessipäivät 2018
Adrian Hornsby
 
Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.
Adrian Hornsby
 
Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.
Adrian Hornsby
 
Model Serving for Deep Learning
Model Serving for Deep LearningModel Serving for Deep Learning
Model Serving for Deep Learning
Adrian Hornsby
 
AI in Finance: Moving forward!
AI in Finance: Moving forward!AI in Finance: Moving forward!
AI in Finance: Moving forward!
Adrian Hornsby
 
Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.
Adrian Hornsby
 
Moving Forward with AI
Moving Forward with AIMoving Forward with AI
Moving Forward with AI
Adrian Hornsby
 
AI: State of the Union
AI: State of the UnionAI: State of the Union
AI: State of the Union
Adrian Hornsby
 
re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...
re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...
re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...
Adrian Hornsby
 
re:Invent re:Cap - Big Data & IoT at Any Scale
re:Invent re:Cap - Big Data & IoT at Any Scalere:Invent re:Cap - Big Data & IoT at Any Scale
re:Invent re:Cap - Big Data & IoT at Any Scale
Adrian Hornsby
 
Innovations and the Cloud
Innovations and the CloudInnovations and the Cloud
Innovations and the Cloud
Adrian Hornsby
 
Serverless in Action on AWS
Serverless in Action on AWSServerless in Action on AWS
Serverless in Action on AWS
Adrian Hornsby
 
Innovations and The Cloud
Innovations and The CloudInnovations and The Cloud
Innovations and The Cloud
Adrian Hornsby
 
Devoxx: Building AI-powered applications on AWS
Devoxx: Building AI-powered applications on AWSDevoxx: Building AI-powered applications on AWS
Devoxx: Building AI-powered applications on AWS
Adrian Hornsby
 
10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS
Adrian Hornsby
 
Developing Sophisticated Serverless Applications with AI
Developing Sophisticated Serverless Applications with AIDeveloping Sophisticated Serverless Applications with AI
Developing Sophisticated Serverless Applications with AI
Adrian Hornsby
 
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the CloudAWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
Adrian Hornsby
 
Journey Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million UsersJourney Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million Users
Adrian Hornsby
 

More from Adrian Hornsby (20)

How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
 
Can Automotive be as agile as Unicorns?
Can Automotive be as agile as Unicorns?Can Automotive be as agile as Unicorns?
Can Automotive be as agile as Unicorns?
 
Moving Forward with AI - as presented at the Prosessipäivät 2018
Moving Forward with AI - as presented at the Prosessipäivät 2018Moving Forward with AI - as presented at the Prosessipäivät 2018
Moving Forward with AI - as presented at the Prosessipäivät 2018
 
Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.
 
Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.
 
Model Serving for Deep Learning
Model Serving for Deep LearningModel Serving for Deep Learning
Model Serving for Deep Learning
 
AI in Finance: Moving forward!
AI in Finance: Moving forward!AI in Finance: Moving forward!
AI in Finance: Moving forward!
 
Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.
 
Moving Forward with AI
Moving Forward with AIMoving Forward with AI
Moving Forward with AI
 
AI: State of the Union
AI: State of the UnionAI: State of the Union
AI: State of the Union
 
re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...
re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...
re:Invent re:Cap - An overview of Artificial Intelligence and Machine Learnin...
 
re:Invent re:Cap - Big Data & IoT at Any Scale
re:Invent re:Cap - Big Data & IoT at Any Scalere:Invent re:Cap - Big Data & IoT at Any Scale
re:Invent re:Cap - Big Data & IoT at Any Scale
 
Innovations and the Cloud
Innovations and the CloudInnovations and the Cloud
Innovations and the Cloud
 
Serverless in Action on AWS
Serverless in Action on AWSServerless in Action on AWS
Serverless in Action on AWS
 
Innovations and The Cloud
Innovations and The CloudInnovations and The Cloud
Innovations and The Cloud
 
Devoxx: Building AI-powered applications on AWS
Devoxx: Building AI-powered applications on AWSDevoxx: Building AI-powered applications on AWS
Devoxx: Building AI-powered applications on AWS
 
10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS
 
Developing Sophisticated Serverless Applications with AI
Developing Sophisticated Serverless Applications with AIDeveloping Sophisticated Serverless Applications with AI
Developing Sophisticated Serverless Applications with AI
 
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the CloudAWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
 
Journey Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million UsersJourney Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million Users
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Getting started with Serverless on AWS

  • 1. Serverless – walk the talk Adrian Hornsby Technical Evangelist @ AWS @adhorn
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is that serverless thing? Customers actually use it! how? Show us some demos! Bag of tricks
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Serverless offerings And more !! Lambda DynamoDB S3 Kinesis
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is Lambda Functions are the unit of deployment and scaling.
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How does a Lambda function looks like? def hello(event, context): return { "message": ”Hello World!", "event": event } 'use strict'; handlermodule.exports.hello = (event, context, cb) => cb(null, { message: ’Hello World!', event } );
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. But what really *is* AWS Lambda? • Linux containers as an implementation, not a programming or deployment abstraction – Process and network isolation, cgroups, seccomp, … • Predictive capacity management – Purpose-built, massively scaled language runtime delivery service • Swagger interpreter (API Gateway) • Cold vs Hot state
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How Lambda works S3 event notifications DynamoDB Streams Kinesis events Cognito events SNS events Custom events CloudTrail events LambdaDynamoDB Kinesis S3 Any custom Redshift SNS CloudWatch events
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Continuous scaling No servers to manage Never pay for idle – no cold servers Benefits of AWS Lambda
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Pay-per request • Buy compute time in 100 ms increments • Low request charge • No hourly, daily, or monthly minimums • No per-device fees Never pay for idle! Free Tier 1 million requests and 400,000 GBs of compute every month, every customer
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Using AWS Lambda Bring your own code • Node.js, Java, Python, C# • Bring your own libraries (even native ones) Simple resource model • Select power rating from 128 MB to 1.5 GB • CPU and network allocated proportionately • Reports actual usage Flexible authorization • Securely grant access to resources, including VPCs • Fine-grained control over who can call your functions Flexible use • Call or send events • Integrated with other AWS services • Build whole serverless ecosystems
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Using AWS Lambda Programming model • AWS SDK built in (Python and Node.js) • Lambda is the front end • Use processes, threads, /tmp, sockets normally Stateless • Persist data using Amazon DynamoDB, S3, or ElastiCache • No affinity to infrastructure (can’t “log in to the box”) Authoring functions • Author directly using the console WYSIWYG editor • Package code as a .zip and upload to Lambda or S3 • Plugins for Eclipse and Visual Studio • Command line tools Monitoring and logging • Built-in metrics for requests, errors, latency, and throttles • Built-in logs in Amazon CloudWatch Logs
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monitoring and debugging Lambda Functions • AWS Lambda console includes a dashboard for functions • Lists all Lambda functions • Easy editing of resources, event sources and other settings • At-a-glance metrics • Metrics automatically reported to Amazon CloudWatch for each Lambda function • Requests • Errors • Latency • Throttles • Logs captured by Amazon CloudWatch Logging service
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Calling Lambda over the Internet – REST API HTTP
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Calling Lambda over the Internet using API Gateway HTTP
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Benefits of Amazon API Gateway Create a unified API front end for multiple microservices DDoS protection and throttling for back-end systems Authenticate and authorize requests
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Method and integration
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Swagger support • API definitions live in versioned source repository with the rest of the app. • Can be used with other utilities in the Swagger toolset (for example, documentation generation). • API can be imported and deployed in build script.
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Automating the workflow with Swagger
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Environment variables for Lambda functions
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C# and .NET Core • Write Lambda functions in C# • netcoreapp 1.0 on Amazon Linux • Built-in logging and metrics • Supports common AWS event types (S3, SNS)
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Easily create reliable end-to-end event processing solutions • Sends all unprocessed events to your SQS queue or SNS topic: 3 strikes rule • Preserves events even if your code has an issue or the call was throttled • Per-function • Works for all async invokes, including S3 and SNS events Dead-letter queue for events Amazon SQS Amazon SNS AWS Lambda
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Attempt a function more than 3X • Add callbacks to asynchronous functions • Handle situations that require waiting • Chain function execution (ABC) • Supports long-running workflows AWS Step Functions Reliably orchestrate multiple Lambda functions
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + Use Cases
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Key scenarios Data Triggers Customize behavior on data updates in S3, SNS and DDB Control systems Customize responses and response workflows to state changes within AWS Serverless backends Execute server side backend logic in a cross platform fashion Big data Realtime processing of streaming data updates using Kinesis
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + Cloudwatch Events
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Security and Conformity • “Trust but verify” with high confidence via events. • Deployments verified with every change. • Lambda guarantees that each instance is in compliance with defined security rules. • Triggers shutdown of violations and notifications. • Compliance and readiness rules can be validated with every resource change.
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Auto Tagging resources as they start
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + Schedulers
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduled Event (CRON) • Dev/QA Environments: Stop running instances at 19:00 h and Start it again at 8:00 between Monday to Friday. • Log cleanup • Batching up statistics • Alarm clock • Infrastructure automation • Backup scheduler
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Auto Start/Shutdown of Instances
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + S3
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Dynamic data ingestion using S3+Lambda Amazon S3 AWS Lambda processes the object Amazon S3 New object uploaded Amazon DynamoDB
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Customers running S3 + Lambda pipelines AWS Lambda Indexing tables or notifications Apply custom logic to process content being uploaded into S3. • Watermarking / thumbnailing • Transcoding • Indexing and deduplication • Aggregation and filtering • Pre processing • Content validation • WAF updates Amazon S3 Bucket Events Processed files
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo: Auto Resize images to thumbnails • Example: Amazon S3 bucket triggers Amazon S3 bucket events Original object Compressed object 1 2 3 AWS Lambda
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + Kinesis
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Real time stream processing with Kinesis+Lambda Amazon Kinesis AWS Lambda processes the stream Amazon CloudWatch Logs Amazon SNS New data available
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Customers using real-time processing pipelines AWS Lambda Aggregate statistics Real-time analytics Kinesis Stream Apply custom logic to process data being uploaded through Kinesis stream • Client activity tracking • Metrics generation • Data cleansing • Log filtering • Indexing and searching • Log routing • Live alarms and notifications
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Real-Time Analytics
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + DynamoDB
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Triggers Workflow Using DynamoDB & Lambda New data available Amazon DynamoDB AWS Lambda Amazon DynamoDB Amazon Redshift
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Indexing DynamoDB content using ElasticSearch
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + SNS
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Real-Time Message Handling Workflow Using SNS & Lambda New message published Amazon SNS AWS Lambda Amazon SNS Amazon Kinesis
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Example workloads on SNS+Lambda AWS Lambda Amazon SNS “I want to run custom logic in response to my CloudWatch Alarms” “I want to customize messages before publishing them to my target audience” “I want to execute custom code when new messages are posted on my (SNS) message bus” Amazon CloudWatch On-prem events Customized message
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda Powered APIs
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. An API Call Flow Internet Mobile Apps Websites Services API Gateway AWS Lambda functions AWS API Gateway Cache Endpoints on Amazon EC2 Any other publicly accessible endpoint Amazon CloudWatch Monitoring Amazon CloudFront
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo: Serverless URL Shortener
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + Alexa
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Alexa apps + Slack = serverless bots! Alexa, tell Slack to send, “I’m giving the demo now.” Message retrieval through scheduled polling Kevin says, “Break a leg!” Message upload (via Slack API) Team (channel users) Slack
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Developing Lambda How-to
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless (previously Jaws) • http://serverless.com • Supports Node.js, Python & Java. • Manages the lifecycle of your serverless architecture (build, deploy, update, delete). • Safely deploy functions, events and their required resources together via provider resource managers (e.g., AWS CloudFormation). • Functions can be grouped ("serverless services") for easy management of code, resources & processes, across large projects & teams. • Built-in support for multiple stages. • Logging support (serverless logs --function myfunction)
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Chalice - Python Serverless Microframework for AWS • Allows to quickly create and deploy applications • It provides: – A command line tool for creating, deploying, and managing your app – A familiar and easy to use API for declaring views in python code – Automatic IAM policy generation – Logging support (chalice logs)
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Python Serverless Microframework for AWS
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Custom projects • Bash scripts – Create roles and policies – Deploy functions & gateways • Versioned with GIT • Locally tests (emulambda)
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CloudFormation • All in one template • Versioned with GIT
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Serverless Application Model (“SAM”) • A common language for describing the contents of a serverless app. • CloudFormation now “speaks serverless” with native support for SAM. • New CloudFormation tools to package and deploy Lambda- based apps. • Export Lambda blueprints and functions in SAM from the AWS Lambda console.
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetHtmlFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://flourish-demo-bucket/todo_list.zip Handler: index.gethtml Runtime: nodejs4.3 Policies: AmazonDynamoDBReadOnlyAccess Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable Functions APIs Storage AWS Serverless Application Model
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetHtmlFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://flourish-demo-bucket/todo_list.zip Handler: index.gethtml Runtime: nodejs4.3 Policies: AmazonDynamoDBReadOnlyAccess Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable • AWSTemplateFormatVersion: '2010-09-09' • Resources: • GetHtmlFunctionGetHtmlPermissio nProd: • Type: AWS::Lambda::Permission • Properties: • Action: lambda:invokeFunction • Principal: apigateway.amazonaws.com • FunctionName: • Ref: GetHtmlFunction • SourceArn: • Fn::Sub: arn:aws:execute- api:${AWS::Region}:${AWS::Accou ntId}:${ServerlessRestApi}/Prod/AN Y/* • ServerlessRestApiProdStage: • Type: AWS::ApiGateway::Stage • Properties: • DeploymentId: • Ref: ServerlessRestApiDeployment • RestApiId: • Ref: ServerlessRestApi • StageName: Prod • ListTable: • Type: AWS::DynamoDB::Table • Properties: • ProvisionedThroughput: • WriteCapacityUnits: 5 • ReadCapacityUnits: 5 • AttributeDefinitions: • - AttributeName: id • AttributeType: S • KeySchema: • - KeyType: HASH • AttributeName: id • GetHtmlFunction: • Type: AWS::Lambda::Function • Properties: • Handler: index.gethtml • Code: • S3Bucket: flourish-demo-bucket • S3Key: todo_list.zip • Role: • Fn::GetAtt: • - GetHtmlFunctionRole • - Arn • Runtime: nodejs4.3 • GetHtmlFunctionRole: • Type: AWS::IAM::Role • Properties: • ManagedPolicyArns: • - arn:aws:iam::aws:policy/AmazonDy namoDBReadOnlyAccess • - arn:aws:iam::aws:policy/service- role/AWSLambdaBasicExecutionR ole • AssumeRolePolicyDocument: • Version: '2012-10-17' • Statement: • - Action: • - sts:AssumeRole • Effect: Allow • Principal: • Service: • - lambda.amazonaws.com • ServerlessRestApiDeployment: • Type: AWS::ApiGateway::Deployment • Properties: • RestApiId: • Ref: ServerlessRestApi • Description: 'RestApi deployment id: 127e3fb91142ab1ddc5f5446adb09 4442581a90d' • StageName: Stage • GetHtmlFunctionGetHtmlPermissio nTest: • Type: AWS::Lambda::Permission • Properties: • Action: lambda:invokeFunction • Principal: apigateway.amazonaws.com • FunctionName: • Ref: GetHtmlFunction • SourceArn: • Fn::Sub: arn:aws:execute- api:${AWS::Region}:${AWS::Accou ntId}:${ServerlessRestApi}/*/ANY/* • ServerlessRestApi: • Type: AWS::ApiGateway::RestApi • Properties: • Body: • info: • version: '1.0' • title: • Ref: AWS::StackName • paths: • "/{proxy+}": • x-amazon-apigateway-any-method: • x-amazon-apigateway-integration: • httpMethod: ANY • type: aws_proxy • uri: • Fn::Sub: arn:aws:apigateway:${AWS::Regio n}:lambda:path/2015-03- • 31/functions/${GetHtmlFunction.Arn }/invocations • responses: {} • swagger: '2.0' AWS Serverless Application Model REPLACES:
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Emulambda - Python emulator for AWS Lambda >> emulambda nanny.lambda_handler - -v < event_bedtime.json
  • 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. lambda-local - NodeJS emulator for AWS Lambda >> lambda-local -l index.js -h handler -e event-samples/s3-put.js
  • 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The serverless compute manifesto • Functions are the unit of deployment and scaling. • No machines, VMs, or containers visible in the programming model. • Permanent storage lives elsewhere. • Scales per request. Users cannot over- or under-provision capacity. • Never pay for idle resources. • Implicitly fault-tolerant because functions can run anywhere. • BYOC – Bring your own code and ALWAYS package dependencies • Metrics and logging are a universal right. • Turn VPC on only if necessary.
  • 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thanks!

Editor's Notes

  1. Able to land a function in the environment in about 1ms.
  2. What developers really want to focus on is the application code. And you want to be sure that when your application code is running, you will get the resources needed automatically without having to provision your infrastructure. The infrastructure is automatically scaled up and down on your behalf by the system when a event gets to process –> very good for micro services. Event driven scale: Lambda will match the rate of events for you. No provisioning, the event is the trigger for the provisioning happening underneath the service. Sub-second billing: no worry about what to do when the application is not running. Pay for what you use. 100% utilization Security at each steps along the way!
  3. Bring your own code. Simple resource model: only one thing that needs to be configured -> memory. CPU and Network is allocated proportionately which means tha t a 256MB function will have twice the CPU and Network as a 128MB one. Flexible use: trigger or invoke synchronously or asynchonously. Hook up with many othe other AWS services Use IAM roles under the hood. So you can very fine grain security so you can for example say my lambda function can access only one particular S3 bucket. VPC integration makes it even more control over what your lambda funciton can and cannot do.
  4. Build your function the same way you would do in your standard enviroment (threads.. ) Deploy using existing tools and plugins, cli tools and frameworks (demo) Lambda function are stateless so you need to use S3, elasticache or dynamodb to persist the state so you can excahneg data betweene functions. Use Amazon Cloudwatch for monitoring
  5. - Swagger normally defines only the user-facing details of an API - We have extended it to also specify how the API processes a request and interacts with the backend - A single file allows you to create the entire API
  6. verify data formats, audit out-of-range values, filter and copy data to other tables
  7. aws s3 cp horse.jpg s3://adhorn-s3-to-lambda/
  8. verify data formats, audit out-of-range values, filter and copy data to other tables
  9. verify data formats, audit out-of-range values, filter and copy data to other tables
  10. The first thing we want to look at is the standard flow of an API call, including all components in the system First, a request comes in from a client, this could be a mobile device, a web application or a backend service The requests arrives at one of our CloudFront PoP locations, it’s accepted and routed through to the API Gateway in the customer’s region The API Gateway receives the request, then checks for records in the dedicated cache (if it is configured). If there are no cached records available then it will forward the request to the backend for processing The backend can be a Lambda function, a web service running on Amazon EC2, or any other publicly accessible web service Once the backend has processed the request the API call metrics are logged in Amazon CloudWatch and the content is returned to the client
  11. verify data formats, audit out-of-range values, filter and copy data to other tables