SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon S3 to Lambda: A flexible pattern
at the core of serverless applications
James Beswick
S V S 2 1 4 - R
Senior Developer Advocate, AWS Serverless
Amazon Web Services
About me
• James Beswick
• Senior Developer Advocate – AWS Serverless
• Serverless geek
• Software developer and product manager
• Previously:
• Multiple start-up tech guy
• Rackspace, USAA, Morgan Stanley, JPMorganChase
• AWS customer since 2012
Agenda
• Benefits of Amazon S3 and AWS Lambda interaction
• Using AWS Serverless Application Model for deployments
• Example use cases
• Live demo
• Wrap-up
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Triggering Lambda from S3
Service characteristics
AWS Service Characteristics
Classic example—resizing images
AWS Cloud
The value of S3 + Lambda
Brings compute
to data
Measurable,
attributable
No infrastructure
to manage
Granular permissions
via AWS Identity and
Access Management (IAM)
Invoked in response
to S3 activity
The value of S3 + Lambda
Brings compute
to data
Measurable,
attributable
No infrastructure
to manage
Granular permissions
via IAM
Invoked in response
to S3 activity
Introducing SAM
AWS Serverless Application Model (SAM)
• AWS CloudFormation extension
optimized for serverless
• New serverless resource types:
functions, APIs, tables
• Supports anything AWS
CloudFormation supports
• Open specification (Apache 2.0)
https://github.com/awslabs/serverless-application-model
SAM template
Tells AWS CloudFormation this is a
SAM template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
SAM template
Tells CloudFormation this is a SAM
template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
SAM template
Tells CloudFormation this is a SAM
template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
SAM template
Tells CloudFormation this is a SAM
template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
SAM template
Tells CloudFormation this is a SAM
template it needs to “transform”
Specifies an input parameter
Creates an S3 bucket
Creates a Lambda function with:
- Referenced managed IAM policy
- Language runtime/memory
- Code at the referenced zip location
Defines the event triggering the
Lambda function:
- New objects
- Specifies rule (ends in .txt)
SAM transforms YAML into infrastructure
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
1. Automated translation
Automatically translate objects written into an S3 bucket into 25
languages
Examples:
• Provide translations for your public website assets
• Translate resource files for mobile applications
• Translate customer communications to enable analytics
• Automate customer support across languages
2. Converting speech to text
Convert MP3 audio files into text using Amazon Transcribe
Examples:
• Transcribe 911/emergency calls
• Analyze customer support calls
• Provide captions on videos
• Provide transcriptions for webinars
3. DynamoDB importer
Use S3 as a staging area to automatically upload data into DynamoDB
Examples:
• General purpose import for DynamoDB tables
• Smoothing import load to manage WCUs in DynamoDB
• CSV import to DynamoDB using on-demand billing
4. Workflow management
Use S3 to initiate workflows using AWS Step Functions
Examples:
• Saving a signed customer contract from an email to start a work-
order process
• Receiving patient medical files to initiate scheduling an appointment
• Receiving invoices to extract key information using Amazon Textract
5. Serving your static website or SPA
Use S3 with Amazon CloudFront to deploy a highly scalable, secure
website with low latency for global customers
Examples:
• Serving static websites and single-page applications (SPAs)
• Restricting content based on geography
• Uploading files securely to S3 from a web or mobile application
6. Facial recognition web app
Use S3 with Amazon Rekognition to create a web application to
recognize faces
Examples:
• In membership-based retail, clubs, or gyms, using faces to identify
members
• For building entrances in workplaces, identifying employees to grant
access
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
To download the examples, visit:
http://rebrand.ly/s3lambda
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Free, on-demand courses on serverless, including
Visit the Learning Library at https://aws.training
Additional digital and classroom trainings cover modern
application development and computing
Learn serverless with AWS Training and Certification
Resources created by the experts at AWS to help you learn modern application development
• Introduction to Serverless
Development
• Getting into the Serverless
Mindset
• AWS Lambda Foundations
• Amazon API Gateway for
Serverless Applications
• Amazon DynamoDB for Serverless
Architectures
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
James Beswick
jbeswick@amazon.com
@jbesw
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

AWS Lambda: Event-Driven Code in the Cloud
AWS Lambda: Event-Driven Code in the CloudAWS Lambda: Event-Driven Code in the Cloud
AWS Lambda: Event-Driven Code in the Cloud
Amazon Web Services
 
DevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
DevTalks Romania - Getting Started with AWS Lambda & the Serverless CloudDevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
DevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
Ian Massingham
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and Uses
GlobalLogic Ukraine
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridge
Dhaval Nagar
 
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
Amazon Web Services
 
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
Simplilearn
 
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Amazon Web Services
 
Serverless computing
Serverless computingServerless computing
Serverless computing
Dmitriy Ivanov
 
How to Use AWS Lambda Layers and Lambda Runtime
How to Use AWS Lambda Layers and Lambda RuntimeHow to Use AWS Lambda Layers and Lambda Runtime
How to Use AWS Lambda Layers and Lambda Runtime
Donnie Prakoso
 
Introduce AWS Lambda for newbie and Non-IT
Introduce AWS Lambda for newbie and Non-ITIntroduce AWS Lambda for newbie and Non-IT
Introduce AWS Lambda for newbie and Non-IT
Chitpong Wuttanan
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
Muhammed YALÇIN
 
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
 
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
Amazon Web Services
 
What is AWS lambda?
What is AWS lambda?What is AWS lambda?
What is AWS lambda?
Whizlabs
 
Getting Started with Amazon EventBridge
Getting Started with Amazon EventBridgeGetting Started with Amazon EventBridge
Getting Started with Amazon EventBridge
Srushith Repakula
 
Real-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS LambdaReal-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS Lambda
Amazon Web Services
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
Amazon Web Services
 
AWS Amplify
AWS AmplifyAWS Amplify
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
Amazon Web Services
 

What's hot (20)

AWS Lambda: Event-Driven Code in the Cloud
AWS Lambda: Event-Driven Code in the CloudAWS Lambda: Event-Driven Code in the Cloud
AWS Lambda: Event-Driven Code in the Cloud
 
DevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
DevTalks Romania - Getting Started with AWS Lambda & the Serverless CloudDevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
DevTalks Romania - Getting Started with AWS Lambda & the Serverless Cloud
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and Uses
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridge
 
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
 
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
 
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
Build and Deploy Serverless Applications with AWS SAM - SRV316 - Chicago AWS ...
 
Serverless computing
Serverless computingServerless computing
Serverless computing
 
How to Use AWS Lambda Layers and Lambda Runtime
How to Use AWS Lambda Layers and Lambda RuntimeHow to Use AWS Lambda Layers and Lambda Runtime
How to Use AWS Lambda Layers and Lambda Runtime
 
Introduce AWS Lambda for newbie and Non-IT
Introduce AWS Lambda for newbie and Non-ITIntroduce AWS Lambda for newbie and Non-IT
Introduce AWS Lambda for newbie and Non-IT
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
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
 
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
 
What is AWS lambda?
What is AWS lambda?What is AWS lambda?
What is AWS lambda?
 
Getting Started with Amazon EventBridge
Getting Started with Amazon EventBridgeGetting Started with Amazon EventBridge
Getting Started with Amazon EventBridge
 
Real-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS LambdaReal-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS Lambda
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
 
AWS Amplify
AWS AmplifyAWS Amplify
AWS Amplify
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
 

Similar to S3 to Lambda:: A flexible pattern at the heart of serverless applications (SVS214 AWS re:Invent 2019)

Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM
Amazon Web Services
 
Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...
Amazon Web Services
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
Amazon Web Services
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Amazon Web Services
 
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWSServerless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
Serverless Architectural Patterns 
and Best Practices - Madhu Shekar - AWS
CodeOps Technologies LLP
 
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by DesignVoxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens
 
Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...
Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...
Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...
Amazon Web Services
 
Serverless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterServerless Computing How to Innovate Faster
Serverless Computing How to Innovate Faster
Amazon 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 Event
Boaz Ziniman
 
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
 
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS SummitBuilding Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Amazon Web Services
 
Getting started with Serverless on AWS
Getting started with Serverless on AWSGetting started with Serverless on AWS
Getting started with Serverless on AWS
Adrian Hornsby
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
Amazon Web Services
 
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS SummitBuild Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Amazon Web Services
 
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
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
Amazon Web Services
 
Serverless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best PracticesServerless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best Practices
Amazon Web Services
 
Build and run applications without thinking about servers
Build and run applications without thinking about serversBuild and run applications without thinking about servers
Build and run applications without thinking about servers
Amazon Web Services
 
Big data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The NetherlandsBig data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The Netherlands
Marek Kuczynski
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018
Amazon Web Services
 

Similar to S3 to Lambda:: A flexible pattern at the heart of serverless applications (SVS214 AWS re:Invent 2019) (20)

Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM
 
Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
 
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
 
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by DesignVoxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by Design
 
Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...
Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...
Hands-On with Advanced AWS CloudFormation Techniques and New Features (DEV335...
 
Serverless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterServerless Computing How to Innovate Faster
Serverless Computing How to Innovate Faster
 
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
 
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
 
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS SummitBuilding Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
 
Getting started with Serverless on AWS
Getting started with Serverless on AWSGetting started with Serverless on AWS
Getting started with Serverless on AWS
 
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
 
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS SummitBuild Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
 
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...
 
Serverless Architecture and Best Practices
Serverless Architecture and Best PracticesServerless Architecture and Best Practices
Serverless Architecture and Best Practices
 
Serverless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best PracticesServerless Architecture - Design Patterns and Best Practices
Serverless Architecture - Design Patterns and Best Practices
 
Build and run applications without thinking about servers
Build and run applications without thinking about serversBuild and run applications without thinking about servers
Build and run applications without thinking about servers
 
Big data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The NetherlandsBig data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The Netherlands
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018
 

More from James Beswick

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

More from James Beswick (6)

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

Recently uploaded

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 

Recently uploaded (20)

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 

S3 to Lambda:: A flexible pattern at the heart of serverless applications (SVS214 AWS re:Invent 2019)

  • 1.
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon S3 to Lambda: A flexible pattern at the core of serverless applications James Beswick S V S 2 1 4 - R Senior Developer Advocate, AWS Serverless Amazon Web Services
  • 3. About me • James Beswick • Senior Developer Advocate – AWS Serverless • Serverless geek • Software developer and product manager • Previously: • Multiple start-up tech guy • Rackspace, USAA, Morgan Stanley, JPMorganChase • AWS customer since 2012
  • 4. Agenda • Benefits of Amazon S3 and AWS Lambda interaction • Using AWS Serverless Application Model for deployments • Example use cases • Live demo • Wrap-up
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. The value of S3 + Lambda Brings compute to data Measurable, attributable No infrastructure to manage Granular permissions via AWS Identity and Access Management (IAM) Invoked in response to S3 activity
  • 10. The value of S3 + Lambda Brings compute to data Measurable, attributable No infrastructure to manage Granular permissions via IAM Invoked in response to S3 activity
  • 12. AWS Serverless Application Model (SAM) • AWS CloudFormation extension optimized for serverless • New serverless resource types: functions, APIs, tables • Supports anything AWS CloudFormation supports • Open specification (Apache 2.0) https://github.com/awslabs/serverless-application-model
  • 13. SAM template Tells AWS CloudFormation this is a SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 14. SAM template Tells CloudFormation this is a SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 15. SAM template Tells CloudFormation this is a SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 16. SAM template Tells CloudFormation this is a SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 17. SAM template Tells CloudFormation this is a SAM template it needs to “transform” Specifies an input parameter Creates an S3 bucket Creates a Lambda function with: - Referenced managed IAM policy - Language runtime/memory - Code at the referenced zip location Defines the event triggering the Lambda function: - New objects - Specifies rule (ends in .txt)
  • 18. SAM transforms YAML into infrastructure
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 20. 1. Automated translation Automatically translate objects written into an S3 bucket into 25 languages Examples: • Provide translations for your public website assets • Translate resource files for mobile applications • Translate customer communications to enable analytics • Automate customer support across languages
  • 21. 2. Converting speech to text Convert MP3 audio files into text using Amazon Transcribe Examples: • Transcribe 911/emergency calls • Analyze customer support calls • Provide captions on videos • Provide transcriptions for webinars
  • 22. 3. DynamoDB importer Use S3 as a staging area to automatically upload data into DynamoDB Examples: • General purpose import for DynamoDB tables • Smoothing import load to manage WCUs in DynamoDB • CSV import to DynamoDB using on-demand billing
  • 23. 4. Workflow management Use S3 to initiate workflows using AWS Step Functions Examples: • Saving a signed customer contract from an email to start a work- order process • Receiving patient medical files to initiate scheduling an appointment • Receiving invoices to extract key information using Amazon Textract
  • 24. 5. Serving your static website or SPA Use S3 with Amazon CloudFront to deploy a highly scalable, secure website with low latency for global customers Examples: • Serving static websites and single-page applications (SPAs) • Restricting content based on geography • Uploading files securely to S3 from a web or mobile application
  • 25. 6. Facial recognition web app Use S3 with Amazon Rekognition to create a web application to recognize faces Examples: • In membership-based retail, clubs, or gyms, using faces to identify members • For building entrances in workplaces, identifying employees to grant access
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. To download the examples, visit: http://rebrand.ly/s3lambda
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Free, on-demand courses on serverless, including Visit the Learning Library at https://aws.training Additional digital and classroom trainings cover modern application development and computing Learn serverless with AWS Training and Certification Resources created by the experts at AWS to help you learn modern application development • Introduction to Serverless Development • Getting into the Serverless Mindset • AWS Lambda Foundations • Amazon API Gateway for Serverless Applications • Amazon DynamoDB for Serverless Architectures
  • 29. Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. James Beswick jbeswick@amazon.com @jbesw
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.