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 :
Example Deployments
Demo time...
ask me stuff and i'll make up answers
go ahead