aws re:invent 2016: wild rydes takes off – the dawn of a new unicorn (svr309)
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Andrew Baird, Brittany Doncaster
December 1, 2016
Wild Rydes Takes OffThe Dawn of a New Unicorn
SVR309
What to Expect from the Session
• Overview of serverless computing
• Introduction to the AWS services used in this
workshop
• Outline of the workshop scenario
• Preview of the labs and the solutions you’ll build
Physical Hardware – Concern Space
• Procurement
• Power
• Cooling
• Asset Tracking
• Remote Hands
• IP Transit
• Colocation
• Capacity Planning
• Hardware Refreshes
• Storage
• Depreciation
• Physical Security
• Networking Equipment
• Cabling
Amazon Elastic Compute Cloud (EC2)
• Allows developers to
obtain compute capacity
on-demand
• Create virtual servers in
the cloud with the click of
a button
• Launched in 2006
Amazon EC2
Match Capacity and
Demand
Global Footprint Elasticity
Provision Servers in
Minutes
Infrastructure as
Code
Programmatic
Networking
Servers – Concern Space
• Configuration
Management
• Security Patches
• Server Utilization
• Operating Systems
• Auto Scaling Policies
• Monitoring
• Intrusion Detection
• Resiliency
• Machine Images
• Access Management
• Capacity Planning
• Hourly Billing
• Code Deployment
Serverless Computing
Build and run applications and
services without thinking of
servers
• Fully Managed
• Developer Productivity
• Continuous Scaling
Serverless Computing
Fully Managed
• No provisioning
• No system administration
• No security patches
• Fault tolerant
Developer Productivity
• Focus on your application
• Experiment and innovate
quickly
Continuous Scaling
• Scale up and down with
demand
• Never pay for idle
resources
The Serverless 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 (no cold servers/containers or their costs).
• Implicitly fault tolerant because functions can run anywhere.
• BYOC - Bring your own code.
• Metrics and logging are a universal right.
AWS Lambda
Run code without provisioning servers
• Run functions in response to events to build
back ends, data processing systems, event handlers
• Code runs in isolated containers on Amazon Linux
• Bring your own code and libraries: Node.js, Python,
Java (even native libraries)
• Run code in parallel – democratized scale
AWS Lambda
No Servers to Manage Continuous Scaling Don’t Pay for Idle Resources
Lambda allows you to run
application logic without
provisioning servers or worrying
about the health or security of
underlying resources
Lambda scales infrastructure
beneath your application logic;
just send requests and events
and Lambda will automatically
scale to accommodate it
With Lambda, you are billed in
100 ms increments of execution
time and number of requests
and you are never charged for
anything when your code isn’t
running
Amazon DynamoDB
Fast and flexible NoSQL database service
for any scale
• Fully managed database built for applications
that need single-digit millisecond latency at any scale
• Pay only for the throughput and storage that you need
• Supports both document and key-value data structures
• React to data changes via triggers to Lambda
Amazon API Gateway
Create, publish, maintain, monitor, and secure APIs at any scale
Create a unified API
front end for multiple
back-end microservices
DDoS and throttling to
protect your back-end
microservices
Authenticate and authorize
requests to your back-end
microservices
Amazon Cognito
Add user sign-up, sign-in, and data synchronization to your apps
Add user sign-up and
sign-in to your mobile and
web apps
Federate identities and
provide secure access to
AWS resources
Store and sync across
devices
Amazon Simple Storage Service (S3)
Durable, massively scalable object storage
• Designed for 99.999999999% durability and
99.99% availability
• Stores trillions of objects and regularly handles
millions of requests per second
• Effectively infinite storage without provisioning
capacity
Amazon S3
S3 is a low-cost, highly available solution for static
website hosting – and it’s completely serverless
• Reliably serve your static website and handle
unexpected peaks without worrying about scaling
your infrastructure
• Integrates with Amazon CloudFront for edge delivery
of content across the globe
Scenario: Wild Rydes
Wild Rydes needs your help! With fresh
funding from its seed investors, Wild
Rydes is seeking to build the world’s
greatest mobile/VR/AR unicorn
transportation system. The scrappy
startup needs a first-class webpage to
begin marketing to new users and to
begin its plans for global domination.
Scenario: Wild Rydes
The Wild Rydes Serverless Web Application Workshop introduces the
basics of building web applications using serverless infrastructure.
Amazon
S3Amazon
CloudFront
AWS
Lambda
Amazon
CognitoAmazon API
Gateway
Amazon
SESAWS IAM
In this workshop, you’ll build a serverless website for Wild Rydes using
AWS services on the AWS Free Tier.
http://github.com/awslabs/aws-serverless-website-workshop
Lab 1: Static Website Hosting
OBJECTIVE: Create a bucket in Amazon S3 and configure it for
static website hosting. Distribute your website globally using
Amazon CloudFront.
Lab 2: Beta Sign-Up Mailing List
OBJECTIVE: Allow visitors to submit their email address to subscribe to an email
list for your beta program. Send each submission a confirmation email thanking
them for their interest and providing further details.
Lab 3: Administrative Interface
OBJECTIVE: Build an interface for your marketing team to be able to manage
aspects of your site. Start by adding a page to the administrative interface that
allows a user to see all email addresses that have signed up for your beta program.
Lab 4: Product Update Blog
OBJECTIVE: Provide visitors updates about your progress building your
product by publishing a blog post. Blog entries are posted by administrators
using the administrative interface built in the previous lab.