Workshop: AWS Lamda Signal Corps vs Zombies

Amazon Web Services
Amazon Web ServicesAmazon Web Services
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Paul Maddox, SolutionsArchitect, AWS
Steven Bryen, SolutionsArchitect, AWS
25th April 2016
Zombie Apocalypse Workshop
Building Serverless Microservices
What to expect from this workshop
• Goal of serverless architectures
• Overview of AWS Lambda
• Overview of Amazon API Gateway
• Workshop Breakout – Time to build!
• Wrap-up/Q&A
Why serverless architectures?
• No servers to manage and scale
• Run at scale
• Respond quickly to events
• Only pay for compute time that you use
• Developer productivity
Serverless microservice architecture
Static web content
served from
Amazon S3
AWS Lambda
Web client
Amazon API
Gateway
AWS Lambda
Your feedback helped create Lambda!
• No direct responsibility for infrastructure resources
• Quick and simple deployments
• Highly available and scalable apps with zero administration
• Costs that are closely aligned to application usage
AWS compute offerings
Amazon EC2
Resizable virtual
servers in the
cloud
Amazon ECS
Container management
service for running
Docker on EC2
AWS Lambda
Serverless compute, run
code in response to
events
Benefits of using Lambda
Continuous ScalingNo Servers to Manage
Lambda automatically
scales your application by
running code in response
to each trigger. Your code
runs in parallel and
processes each trigger
individually, scaling
precisely with the size of
the workload.
Subsecond Metering
With Lambda, you are
charged for every
100 ms your code
executes and the number
of times your code is
triggered. You don’t pay
anything when your code
isn’t running.
Lambda automatically
runs your code without
requiring you to provision
or manage servers. Just
write the code and
upload it to Lambda.
AWS Lambda – How it works
Bring your own code
• Node.js, Java, Python
• Java = Any JVM based
language such as Scala,
Clojure, etc.
• Bring your own libraries
Flexible invocation paths
• Event or RequestResponse
invoke options
• Existing integrations with
variousAWS services
Simple resource model
• Select memory from 128MB
to 1.5GB in 64MB steps
• CPU & Network allocated
proportionately to RAM
• Reports actual usage
Fine grained permissions
• Uses IAM role for Lambda
execution permissions
• Uses Resource policy for
AWS event sources
AWS Lambda – Use Cases
Data Processing
Execute code in
response to changes in
data, shifts in system
state, or actions by users
Control Systems
Customize responses
and response workflows
to state and data
changes within AWS
Backends
Execute backend logic to
handle requests for web,
mobile, IoT, and 3rd APIs
Amazon API Gateway
Your feedback
Managing multiple versions and stages of an API is difficult
Monitoring third-party developers’ access is time consuming
Access authorization is a challenge
Traffic spikes create an operational burden
What if I don’t want servers at all?
API Gateway - Capabilities
• Host multiple versions and stages of your APIs
• Create and distribute API keys to developers
• Leverage signature version 4 to authorize access to APIs
• Throttle and monitor requests to protect your backend
• Utilize Lambda as a backend
Benefits of API Gateway
• Managed cache to store API responses
• Reduced latency and distributed denial of service (DDoS)
protection through Amazon CloudFront
• SDK generation for iOS, Android, and JavaScript
• Swagger support
• Request and response data transformation
An API call flow
Internet
Mobile apps
Websites
Services
AWS Lambda
functions
AWS
API Gateway
cache
Endpoints on
Amazon
EC2/AWS
Elastic
Beanstalk
Any other publicly
accessible endpoint
Amazon
CloudWatch
monitoring
API Gateway
The Zombie Apocalypse Survival
ZOMBIES!
Zombies have taken over major metropolitan areas. The AWS Lambda Signal Corps has
built a communications system to connect remaining survivors. Come learn how AWS
Lambda provides a platform for building event-driven microservices, all without the need
to provision, manage, and scale servers. In this workshop, we will introduce the basics of
using AWS Lambda to run code in response to events from Amazon DynamoDB, S3, and
API Gateway. You'll work within a team to build a secure, scalable, fault-tolerant chat
service with global reach from scratch using blueprints provided by us. Unfortunately, the
blueprints provided only describe a very rudimentary communications system (the
engineers of the project got mysteriously ill). We are looking to you and your team to add
additional real-time life saving features (e.g., food cache locations, zombie motion
detectors, undead counters) to the chat platform using Lambda functions. We will have a
few special challenges for teams to complete. Rewards will be given to teams that
complete all the extra-credit challenges.
Engineers got this far…
High-level Zombie Chat Architecture
Amazon S3
Static Content/Chat Web App
AWS Lambda
Backend Logic
Web client
End user
Amazon API Gateway
REST Interface
Amazon
DynamoDB
Messages Data Store
Zombie Chat implementation
S3
A new S3 bucket with single-page HTML5 web app
API Gateway
/zombie/messages API with GET and POST methods
Lambda
Functions GetMessagesFromDynamoDB and WriteMessagesToDynamoDB
DynamoDB
A ‘messages’ table to track channel, timestamp, message, and name
AWS Service Flow
Internet
Activity
Indicator
Chat Service
Activity
Messages
Search
Service
DynamoDB Streams
Elasticsearch
Service
S3 Web Hosting
Twilio
Slack Chat
API Gateway
IoT Device
IoT Processing
Website
AWS IoT or
Amazon SNS
Lab Architectures
What you’ll build today!
Lab 1: Typing Indicator
Internet
Typing Indicator
Service
talkers
/talkers
Continuous GET Request polling
of Typing Indicator Service to
display current ‘talkers’
Single reusable service with
DynamoDB PutItem
implementation
POST from Zombie chat to
/talkers with Name, Channel,
Timestamp when survivor
types message
Zombie Chat
Lab 2: SMS Integration with Twilio
Internet Twilio Processing
Mobile/SMS
/message Chat Service messages
Twilio Phone
Number
/twilio
Integration Response:
Apache Velocity Template
Language (VTL) to transform
response to XML for Twilio
• Pre-process Twilio message
• Convert/standardize incoming
parameters for Chat Service
• HTTPS POST to Chat Service
• Design Principle: Service re-use
• Single implementation of
DynamoDB PutItem
Integration Request:
Apache Velocity Template
Language (VTL) to transform
POST parameters into JSON.
Lab 3: Search with Elasticsearch Service
Search
Service
Dynamo Streams
Elasticsearch
Service
messages
Kibana plugin with Amazon
Elasticsearch Service provides
real-time UI to search messages
Lambda function processes events
and indexes them in Amazon
Elasticsearch Service
DynamoDB Streams provides a
time-ordered flow of events
(incoming survivor messages)
Amazon Elasticsearch Service
provides a managed service for
search and analytics
Lab 4: Send Messages from Slack
Chat Service
Slack Service
messages
Slack Chat Internet
Pre-process Slack message
before sending message to
Chat Service
• Design Principle: Service re-use
• Single implementation of
DynamoDB PutItem
/slack /message
Lab 5: Zombie Sensor with Intel Edison
Internet
Zombie
Sensor Data
Zombie Sensor
Amazon SNS
/message
Chat Service
messages
• Lambda subscribes to SNS Topic
• Pre-process message
• HTTPS POST to Chat Service
Node.js on Edison sends sensor
events to Amazon SNS
• Design Principle: Service re-use
• Single implementation of
DynamoDB PutItem
Your challenge
Base Challenge
1. Implement chat add-ons with the steps from the Lab Guide
Extra Credit Challenges
1. Implement channel functionality for different chat rooms/private chats
2. Data store for weapons/food caches & bot to notify survivors of cache levels
3. Build your own challenges and share your design with us!
Steps to get started
• Break into groups (less than 5 people) or work solo!.
• Select a leader to launch the CloudFormation Stack.
• Complete add-ons from Lab Guide.
• Decide on other challenges you’ll build!
• Share your designs with fellow survivors!
Workshop available at:
https://github.com/awslabs/aws-lambda-zombie-workshop
Thank You!
Run Apps for Pennies!
Cost estimate to run this 3 hour workshop!
• Lambda: FREE
• 1st 1m requests are free each month! Duration pricing willbe sub-1penny!
• DynamoDB: $0.0585
• $0.0065/hr for every 10 read units provisioned - 75 units provisioned/hr
• $0.0065/hr for every 50 write units provisioned – 75 units provisioned/hr
• DynamoDB Streams: 2.5m reads free per month
• ElasticSearch Service: $0.282
• M3.medium with instance storage - $0.094/hr
• API Gateway: $0.035
• $3.50/million API calls. Assume 10,000 calls made per hour during lab
• CloudWatch Logs: $0.25
• $0.50 per GB/monthingested.Super high endestimate of 500MB of log dataduringworkshop
• S3: $0.03
• $0.03 per GB for first 1TB a month.
• Data Transfer: FREE
• First 1GB/month out is free. Data transfer in is free!
1 of 31

Recommended

Migrating your Databases to Amazon Aurora - AWS April 2016 Webinar Series by
Migrating your Databases to Amazon Aurora - AWS April 2016 Webinar SeriesMigrating your Databases to Amazon Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Amazon Aurora - AWS April 2016 Webinar SeriesAmazon Web Services
1.3K views31 slides
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T... by
 Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T... Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...Amazon Web Services
1.2K views49 slides
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati... by
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...Amazon Web Services
4K views40 slides
Amazon ECS with Docker | AWS Public Sector Summit 2016 by
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon Web Services
1.6K views67 slides
Getting Started with AWS Lambda and the Serverless Cloud by
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 CloudAmazon Web Services
3.1K views43 slides
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D... by
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...Amazon Web Services
2.1K views35 slides

More Related Content

What's hot

BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service by
BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch ServiceBDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch ServiceAmazon Web Services
322 views47 slides
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302) by
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)Amazon Web Services
718 views39 slides
Running Relational Databases on AWS by
Running Relational Databases on AWS  Running Relational Databases on AWS
Running Relational Databases on AWS Amazon Web Services
395 views34 slides
AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309) by
AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309)AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309)
AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309)Amazon Web Services
1.1K views29 slides
Amazon Aurora New Features - September 2016 Webinar Series by
Amazon Aurora New Features - September 2016 Webinar SeriesAmazon Aurora New Features - September 2016 Webinar Series
Amazon Aurora New Features - September 2016 Webinar SeriesAmazon Web Services
3.6K views59 slides
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn by
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn Amazon Web Services
273 views29 slides

What's hot(20)

BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service by Amazon Web Services
BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch ServiceBDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302) by Amazon Web Services
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309) by Amazon Web Services
AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309)AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309)
AWS re:Invent 2016: Wild Rydes Takes Off – The Dawn of a New Unicorn (SVR309)
Amazon Web Services1.1K views
Amazon Aurora New Features - September 2016 Webinar Series by Amazon Web Services
Amazon Aurora New Features - September 2016 Webinar SeriesAmazon Aurora New Features - September 2016 Webinar Series
Amazon Aurora New Features - September 2016 Webinar Series
Amazon Web Services3.6K views
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn by Amazon Web Services
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
SRV302 Deep Dive on Serverless Application Development by Amazon Web Services
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application Development
Advanced AWS techniques from the trenches of the Enterprise – Sourced Group by Amazon Web Services
Advanced AWS techniques from the trenches of the Enterprise – Sourced GroupAdvanced AWS techniques from the trenches of the Enterprise – Sourced Group
Advanced AWS techniques from the trenches of the Enterprise – Sourced Group
Amazon Web Services1.5K views
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina... by Amazon Web Services
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
Amazon Web Services1.3K views
ENT308 Best Practices for Microsoft Architectures on AWS by Amazon Web Services
ENT308 Best Practices for Microsoft Architectures on AWSENT308 Best Practices for Microsoft Architectures on AWS
ENT308 Best Practices for Microsoft Architectures on AWS
Being Well Architected in the Cloud (Updated) by Adrian Hornsby
Being Well Architected in the Cloud (Updated)Being Well Architected in the Cloud (Updated)
Being Well Architected in the Cloud (Updated)
Adrian Hornsby436 views
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr... by Amazon Web Services
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
Deep Dive on Accelerating Content, APIs, and Applications with Amazon CloudFr...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW... by Amazon Web Services
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
Amazon Web Services1.7K views
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P... by Amazon Web Services
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
Amazon Web Services6.2K views
使用 AWS 負載平衡服務讓您的應用程式規模化 by Amazon Web Services
使用 AWS 負載平衡服務讓您的應用程式規模化使用 AWS 負載平衡服務讓您的應用程式規模化
使用 AWS 負載平衡服務讓您的應用程式規模化
Amazon Web Services1.8K views

Viewers also liked

Scaling by Design: AWS Web Services Patterns by
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services PatternsAmazon Web Services
4.3K views30 slides
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ... by
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...Amazon Web Services
1.9K views55 slides
Data Storage for the Long Haul: Compliance and Archive by
Data Storage for the Long Haul: Compliance and ArchiveData Storage for the Long Haul: Compliance and Archive
Data Storage for the Long Haul: Compliance and ArchiveAmazon Web Services
1.2K views59 slides
Agile BI - Pop-up Loft Tel Aviv by
Agile BI - Pop-up Loft Tel AvivAgile BI - Pop-up Loft Tel Aviv
Agile BI - Pop-up Loft Tel AvivAmazon Web Services
3.5K views16 slides
Hybrid Infrastructure Integration by
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure IntegrationAmazon Web Services
3.8K views26 slides
Encryption and Key Management in AWS by
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWSAmazon Web Services
2.5K views40 slides

Viewers also liked(20)

Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ... by Amazon Web Services
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...
Amazon Web Services1.9K views
Data Storage for the Long Haul: Compliance and Archive by Amazon Web Services
Data Storage for the Long Haul: Compliance and ArchiveData Storage for the Long Haul: Compliance and Archive
Data Storage for the Long Haul: Compliance and Archive
Amazon Web Services1.2K views
AWS March 2016 Webinar Series Getting Started with Serverless Architectures by Amazon Web Services
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
Amazon Web Services2.2K views
AWS APAC Webinar Week - Understanding AWS Storage Options by Amazon Web Services
AWS APAC Webinar Week - Understanding AWS Storage OptionsAWS APAC Webinar Week - Understanding AWS Storage Options
AWS APAC Webinar Week - Understanding AWS Storage Options
Amazon Web Services5.3K views
AWS Mobile Services & SDK Introduction & Demo by Amazon Web Services
AWS Mobile Services & SDK Introduction & DemoAWS Mobile Services & SDK Introduction & Demo
AWS Mobile Services & SDK Introduction & Demo
Amazon Web Services4.3K views
Compute Without Servers – Building Applications with AWS Lambda - Technical 301 by Amazon Web Services
Compute Without Servers – Building Applications with AWS Lambda - Technical 301Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301
(NET307) Pinterest: The road from EC2-Classic To EC2-VPC by Amazon Web Services
(NET307) Pinterest: The road from EC2-Classic To EC2-VPC(NET307) Pinterest: The road from EC2-Classic To EC2-VPC
(NET307) Pinterest: The road from EC2-Classic To EC2-VPC
(DEV204) Building High-Performance Native Cloud Apps In C++ by Amazon Web Services
(DEV204) Building High-Performance Native Cloud Apps In C++(DEV204) Building High-Performance Native Cloud Apps In C++
(DEV204) Building High-Performance Native Cloud Apps In C++
Amazon Web Services3.6K views
Getting Started with Amazon Enterprise Applications by Amazon Web Services
Getting Started with Amazon Enterprise ApplicationsGetting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise Applications
Amazon Web Services4.1K views
AWS July Webinar Series: Amazon redshift migration and load data 20150722 by Amazon Web Services
AWS July Webinar Series: Amazon redshift migration and load data 20150722AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722
Amazon Web Services6.2K views

Similar to Workshop: AWS Lamda Signal Corps vs Zombies

Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit... by
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...Amazon Web Services
1.6K views36 slides
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud by
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
353 views55 slides
Getting Started with AWS Lambda and the Serverless Cloud by
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 CloudAmazon Web Services
2.8K views55 slides
Building Serverless Chat Bots - AWS August Webinar Series by
Building Serverless Chat Bots - AWS August Webinar SeriesBuilding Serverless Chat Bots - AWS August Webinar Series
Building Serverless Chat Bots - AWS August Webinar SeriesAmazon Web Services
3.8K views30 slides
Getting Started with AWS Lambda and the Serverless Cloud by
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 CloudAmazon Web Services
1.1K views43 slides
Raleigh DevDay 2017: Building serverless web applications by
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsAmazon Web Services
615 views45 slides

Similar to Workshop: AWS Lamda Signal Corps vs Zombies(20)

Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit... by Amazon Web Services
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Amazon Web Services1.6K views
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud by Amazon Web Services
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud by Amazon Web Services
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 Services2.8K views
Building Serverless Chat Bots - AWS August Webinar Series by Amazon Web Services
Building Serverless Chat Bots - AWS August Webinar SeriesBuilding Serverless Chat Bots - AWS August Webinar Series
Building Serverless Chat Bots - AWS August Webinar Series
Amazon Web Services3.8K views
Getting Started with AWS Lambda and the Serverless Cloud by Amazon Web Services
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 Services1.1K views
Raleigh DevDay 2017: Building serverless web applications by Amazon Web Services
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
Getting Started with AWS Lambda and Serverless Computing by Amazon Web Services
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
Amazon Web Services6.8K views
Getting Started with Serverless Architectures by Amazon Web Services
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services9.3K views
SRV203 Getting Started with AWS Lambda and the Serverless Cloud by Amazon Web Services
SRV203 Getting Started with AWS Lambda and the Serverless CloudSRV203 Getting Started with AWS Lambda and the Serverless Cloud
SRV203 Getting Started with AWS Lambda and the Serverless Cloud
Build an App on AWS for Your First 10 Million Users by Amazon Web Services
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
Getting Started with Serverless Architectures by Amazon Web Services
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services3.9K views
Getting Started with Serverless Architectures by Amazon Web Services
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services1.9K views
Raleigh DevDay 2017: Build a serverless web application in one day workshop by Amazon Web Services
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Getting Started with AWS Lambda and Serverless Computing by Kristana Kane
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
Kristana Kane350 views
Getting Started with AWS Lambda and the Serverless Cloud by Amazon Web Services
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 Services1.9K views
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your... by Amazon Web Services
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Build an App on AWS for Your First 10 Million Users by Amazon Web Services
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn... by
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
26.5K views46 slides
Big Data per le Startup: come creare applicazioni Big Data in modalità Server... by
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
5.6K views44 slides
Esegui pod serverless con Amazon EKS e AWS Fargate by
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
4.1K views62 slides
Costruire Applicazioni Moderne con AWS by
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
2.8K views61 slides
Come spendere fino al 90% in meno con i container e le istanze spot by
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
1.8K views21 slides
Open banking as a service by
Open banking as a serviceOpen banking as a service
Open banking as a serviceAmazon Web Services
7.1K views14 slides

More from Amazon Web Services(20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn... by Amazon Web Services
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services26.5K views
Big Data per le Startup: come creare applicazioni Big Data in modalità Server... by Amazon Web Services
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services5.6K views
Esegui pod serverless con Amazon EKS e AWS Fargate by Amazon Web Services
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services4.1K views
Come spendere fino al 90% in meno con i container e le istanze spot by Amazon Web Services
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services1.8K views
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea... by Amazon Web Services
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services3.3K views
OpsWorks Configuration Management: automatizza la gestione e i deployment del... by Amazon Web Services
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services2.6K views
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads by Amazon Web Services
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services1.7K views
Database Oracle e VMware Cloud on AWS i miti da sfatare by Amazon Web Services
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services1.3K views
Crea la tua prima serverless ledger-based app con QLDB e NodeJS by Amazon Web Services
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services1.9K views
API moderne real-time per applicazioni mobili e web by Amazon Web Services
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services1.5K views
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare by Amazon Web Services
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services1.5K views
AWS_HK_StartupDay_Building Interactive websites while automating for efficien... by Amazon Web Services
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Introduzione a Amazon Elastic Container Service by Amazon Web Services
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services2.7K views

Recently uploaded

Democratising digital commerce in India-Report by
Democratising digital commerce in India-ReportDemocratising digital commerce in India-Report
Democratising digital commerce in India-ReportKapil Khandelwal (KK)
18 views161 slides
Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
27 views45 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
59 views46 slides
The Research Portal of Catalonia: Growing more (information) & more (services) by
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
80 views25 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
22 views151 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
19 views49 slides

Recently uploaded(20)

HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10300 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman36 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi132 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
Future of AR - Facebook Presentation by ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56115 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software280 views

Workshop: AWS Lamda Signal Corps vs Zombies

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Paul Maddox, SolutionsArchitect, AWS Steven Bryen, SolutionsArchitect, AWS 25th April 2016 Zombie Apocalypse Workshop Building Serverless Microservices
  • 2. What to expect from this workshop • Goal of serverless architectures • Overview of AWS Lambda • Overview of Amazon API Gateway • Workshop Breakout – Time to build! • Wrap-up/Q&A
  • 3. Why serverless architectures? • No servers to manage and scale • Run at scale • Respond quickly to events • Only pay for compute time that you use • Developer productivity
  • 4. Serverless microservice architecture Static web content served from Amazon S3 AWS Lambda Web client Amazon API Gateway
  • 6. Your feedback helped create Lambda! • No direct responsibility for infrastructure resources • Quick and simple deployments • Highly available and scalable apps with zero administration • Costs that are closely aligned to application usage
  • 7. AWS compute offerings Amazon EC2 Resizable virtual servers in the cloud Amazon ECS Container management service for running Docker on EC2 AWS Lambda Serverless compute, run code in response to events
  • 8. Benefits of using Lambda Continuous ScalingNo Servers to Manage Lambda automatically scales your application by running code in response to each trigger. Your code runs in parallel and processes each trigger individually, scaling precisely with the size of the workload. Subsecond Metering With Lambda, you are charged for every 100 ms your code executes and the number of times your code is triggered. You don’t pay anything when your code isn’t running. Lambda automatically runs your code without requiring you to provision or manage servers. Just write the code and upload it to Lambda.
  • 9. AWS Lambda – How it works Bring your own code • Node.js, Java, Python • Java = Any JVM based language such as Scala, Clojure, etc. • Bring your own libraries Flexible invocation paths • Event or RequestResponse invoke options • Existing integrations with variousAWS services Simple resource model • Select memory from 128MB to 1.5GB in 64MB steps • CPU & Network allocated proportionately to RAM • Reports actual usage Fine grained permissions • Uses IAM role for Lambda execution permissions • Uses Resource policy for AWS event sources
  • 10. AWS Lambda – Use Cases Data Processing Execute code in response to changes in data, shifts in system state, or actions by users Control Systems Customize responses and response workflows to state and data changes within AWS Backends Execute backend logic to handle requests for web, mobile, IoT, and 3rd APIs
  • 12. Your feedback Managing multiple versions and stages of an API is difficult Monitoring third-party developers’ access is time consuming Access authorization is a challenge Traffic spikes create an operational burden What if I don’t want servers at all?
  • 13. API Gateway - Capabilities • Host multiple versions and stages of your APIs • Create and distribute API keys to developers • Leverage signature version 4 to authorize access to APIs • Throttle and monitor requests to protect your backend • Utilize Lambda as a backend
  • 14. Benefits of API Gateway • Managed cache to store API responses • Reduced latency and distributed denial of service (DDoS) protection through Amazon CloudFront • SDK generation for iOS, Android, and JavaScript • Swagger support • Request and response data transformation
  • 15. An API call flow Internet Mobile apps Websites Services AWS Lambda functions AWS API Gateway cache Endpoints on Amazon EC2/AWS Elastic Beanstalk Any other publicly accessible endpoint Amazon CloudWatch monitoring API Gateway
  • 17. ZOMBIES! Zombies have taken over major metropolitan areas. The AWS Lambda Signal Corps has built a communications system to connect remaining survivors. Come learn how AWS Lambda provides a platform for building event-driven microservices, all without the need to provision, manage, and scale servers. In this workshop, we will introduce the basics of using AWS Lambda to run code in response to events from Amazon DynamoDB, S3, and API Gateway. You'll work within a team to build a secure, scalable, fault-tolerant chat service with global reach from scratch using blueprints provided by us. Unfortunately, the blueprints provided only describe a very rudimentary communications system (the engineers of the project got mysteriously ill). We are looking to you and your team to add additional real-time life saving features (e.g., food cache locations, zombie motion detectors, undead counters) to the chat platform using Lambda functions. We will have a few special challenges for teams to complete. Rewards will be given to teams that complete all the extra-credit challenges.
  • 19. High-level Zombie Chat Architecture Amazon S3 Static Content/Chat Web App AWS Lambda Backend Logic Web client End user Amazon API Gateway REST Interface Amazon DynamoDB Messages Data Store
  • 20. Zombie Chat implementation S3 A new S3 bucket with single-page HTML5 web app API Gateway /zombie/messages API with GET and POST methods Lambda Functions GetMessagesFromDynamoDB and WriteMessagesToDynamoDB DynamoDB A ‘messages’ table to track channel, timestamp, message, and name
  • 21. AWS Service Flow Internet Activity Indicator Chat Service Activity Messages Search Service DynamoDB Streams Elasticsearch Service S3 Web Hosting Twilio Slack Chat API Gateway IoT Device IoT Processing Website AWS IoT or Amazon SNS
  • 23. Lab 1: Typing Indicator Internet Typing Indicator Service talkers /talkers Continuous GET Request polling of Typing Indicator Service to display current ‘talkers’ Single reusable service with DynamoDB PutItem implementation POST from Zombie chat to /talkers with Name, Channel, Timestamp when survivor types message Zombie Chat
  • 24. Lab 2: SMS Integration with Twilio Internet Twilio Processing Mobile/SMS /message Chat Service messages Twilio Phone Number /twilio Integration Response: Apache Velocity Template Language (VTL) to transform response to XML for Twilio • Pre-process Twilio message • Convert/standardize incoming parameters for Chat Service • HTTPS POST to Chat Service • Design Principle: Service re-use • Single implementation of DynamoDB PutItem Integration Request: Apache Velocity Template Language (VTL) to transform POST parameters into JSON.
  • 25. Lab 3: Search with Elasticsearch Service Search Service Dynamo Streams Elasticsearch Service messages Kibana plugin with Amazon Elasticsearch Service provides real-time UI to search messages Lambda function processes events and indexes them in Amazon Elasticsearch Service DynamoDB Streams provides a time-ordered flow of events (incoming survivor messages) Amazon Elasticsearch Service provides a managed service for search and analytics
  • 26. Lab 4: Send Messages from Slack Chat Service Slack Service messages Slack Chat Internet Pre-process Slack message before sending message to Chat Service • Design Principle: Service re-use • Single implementation of DynamoDB PutItem /slack /message
  • 27. Lab 5: Zombie Sensor with Intel Edison Internet Zombie Sensor Data Zombie Sensor Amazon SNS /message Chat Service messages • Lambda subscribes to SNS Topic • Pre-process message • HTTPS POST to Chat Service Node.js on Edison sends sensor events to Amazon SNS • Design Principle: Service re-use • Single implementation of DynamoDB PutItem
  • 28. Your challenge Base Challenge 1. Implement chat add-ons with the steps from the Lab Guide Extra Credit Challenges 1. Implement channel functionality for different chat rooms/private chats 2. Data store for weapons/food caches & bot to notify survivors of cache levels 3. Build your own challenges and share your design with us!
  • 29. Steps to get started • Break into groups (less than 5 people) or work solo!. • Select a leader to launch the CloudFormation Stack. • Complete add-ons from Lab Guide. • Decide on other challenges you’ll build! • Share your designs with fellow survivors! Workshop available at: https://github.com/awslabs/aws-lambda-zombie-workshop
  • 31. Run Apps for Pennies! Cost estimate to run this 3 hour workshop! • Lambda: FREE • 1st 1m requests are free each month! Duration pricing willbe sub-1penny! • DynamoDB: $0.0585 • $0.0065/hr for every 10 read units provisioned - 75 units provisioned/hr • $0.0065/hr for every 50 write units provisioned – 75 units provisioned/hr • DynamoDB Streams: 2.5m reads free per month • ElasticSearch Service: $0.282 • M3.medium with instance storage - $0.094/hr • API Gateway: $0.035 • $3.50/million API calls. Assume 10,000 calls made per hour during lab • CloudWatch Logs: $0.25 • $0.50 per GB/monthingested.Super high endestimate of 500MB of log dataduringworkshop • S3: $0.03 • $0.03 per GB for first 1TB a month. • Data Transfer: FREE • First 1GB/month out is free. Data transfer in is free!