aws re:invent 2016: wild rydes takes off – the dawn of a new unicorn (svr309)

29
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Andrew Baird, Brittany Doncaster December 1, 2016 Wild Rydes Takes Off The Dawn of a New Unicorn SVR309

Upload: amazon-web-services

Post on 13-Apr-2017

213 views

Category:

Technology


0 download

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

Serverless Computing

In the beginning…

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.

Services

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

Workshop Overview

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.

Thank you!

Remember to complete

your evaluations!

Related Sessions