AWS



Amazon Web Services




steve.bradford

Covering...


What is AWS?

What isn't AWS?

Who uses it?

Management of

Services Overview

What is AWS?

An Infrastructure-as-a-service provider

Makes a variety of services available for cheaper than running your in own datacenter (mostly)

Has lots of AWS specific integrations that allow for multiple services to be greater than the sum of the component services

Basically a virtual datacenter with specialized hardware and software systems pre-installed

Pay only for what you use

What isn't AWS?


A web hosting company

An application hosting company

A VPS/Server/Colocation Provider

Instead : 
AWS is what those providers build their systems on



Who uses it?


Netflix

Dropbox

Reddit

Heroku

Me

Some terms


Regions - geographic areas

Zones - datacenters in those areas

Free Tier - time / usage limited

Stack - groups of instances / services

Instance - basic building block

Disadvantages


Ecosystem doesn't translate outside of AWS

Billing can be tricky, depending on use-case

Security is complex, and non-optional

Management


API

SDKs available for many languages

Web Console

CLI tools

Learn to love JSON

Services Overview


Lots of services exist (40+), with more being added all the time

I'll only be looking at some of the more basic ones that developers deploying apps to AWS will find useful

Remember : all of these are pay-as-you-use services, with many being free in certain use cases




EC2


"Virtual Servers"

Just like buying a physical box, only for 1 hour increments

This is the basic building block of nearly all AWS services

Many types of instance

Cattle, not pets

Autoscaling

RDS


Hosted Database Services

Many types, many service options

For when you need a reliable relational DB at scale

S3


Bulk object storage

Cheap

Fast

Simple

Eventually Consistent

Can be a webserver too

CloudFront


CDN / Big ol' cacher

Can sit in front of nearly anything

Fast

Cheap

Slow to purge

Route53


Hosted DNS

Registrar

Public and Private zones

ALIAS records

Health Checks

Round Robin Records

Elasticache


Hosted Memcached (or Redis)

In-memory DB options

Great for front-end data caching and access

DynamoDB


Host NoSQL DB

Super Scalable

Pretty Cheap

Design-heavy

SQS


Hosted Queueing

Scalable

Reliable

Relatively Flexible

SNS


Hosted Notifications

Can send SMS

Can send to other services

Can trigger Lambda events

SES


Outbound Email Service

Recipients must be authorized

Great for internal use

Might be good for client comms

Lambda


Node.js functions triggered by AWS events

S3 events

SNS subscriptions

Beanstalk


Simple service stack deployments

Stand up a stack

Scale a stack

Fire and forget - but with little flexibility

CodeDeploy


Automated S3/Github/CodeCommit (probably) deployments

Great for handling large rollouts

CodeCommit


Hosted Git


Coming soon...

WEb SErvice Example


why make my own, when Amazon has a great one :

http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_web_01.pdf

Example Deployments


Demo time...

ask me stuff and i'll make up answers





go ahead

Made with Slides.com