A glossary to keep up with Amazon growing and opaquely named services :-)
I’m saving it here in case it disappears from the internet.
Run an App Services
No matter what you do with AWS you’ll probably end up using these services as everything else interacts with them.
EC2
Should have been called
Amazon Virtual Servers
Use this to
Host the bits of things you think of as a computer.
It’s like
It’s handwavy, but EC2 instances are similar to the virtual private servers you’d get at Linode, DigitalOcean or Rackspace.
IAM
Should have been called
Users, Keys and Certs
Use this to
Set up additional users, set up new AWS Keys and policies.
S3
Should have been called
Amazon Unlimited FTP Server
Use this to
Store images and other assets for websites. Keep backups and share files between services. Host static websites. Also, many of the other AWS services write and read from S3.
VPC
Should have been called
Amazon Virtual Colocated Rack
Use this to
Overcome objections that “all our stuff is on the internet!” by adding an additional layer of security. Makes it appear as if all of your AWS services are on the same little network instead of being small pieces in a much bigger network.
It’s like
If you’re familar with networking: VLANs
Lambda
Should have been called
AWS App Scripts
Use this to
Run little self contained snippets of JS, Java or Python to do discrete tasks. Sort of a combination of a queue and execution in one. Used for storing and then executing changes to your AWS setup or responding to events in S3 or DynamoDB.
Web Developer Services
If you’re setting up a web app, these are mostly what you’d end up using. These are similar to what you’d find in Heroku’s Addon Marketplace.
API Gateway
Should have been called
API Proxy
Use this to
Proxy your apps API through this so you can throttle bad client traffic, test new versions, and present methods more cleanly.
It’s like
3Scale
RDS
Should have been called
Amazon SQL
Use this to
Be your app’s Mysql, Postgres, and Oracle database.
It’s like
Heroku Postgres
Route53
Should have been called
Amazon DNS + Domains
Use this to
Buy a new domain and set up the DNS records for that domain.
It’s like
DNSimple, GoDaddy, Gandi
SES
Should have been called
Amazon Transactional Email
Use this to
Send one-off emails like password resets, notifications, etc. You could use it to send a newsletter if you wrote all the code, but that’s not a great idea.
It’s like
SendGrid, Mandrill, Postmark
Cloudfront
Should have been called
Amazon CDN
Use this to
Make your websites load faster by spreading out static file delivery to be closer to where your users are.
It’s like
MaxCDN, Akamai
CloudSearch
Should have been called
Amazon Fulltext Search
Use this to
Pull in data on S3 or in RDS and then search it for every instance of ‘Jimmy.’
It’s like
Sphinx, Solr, ElasticSearch
DynamoDB
Should have been called
Amazon NoSQL
Use this to
Be your app’s massively scalable key valueish store.
It’s like
MongoLab
Elasticache
Should have been called
Amazon Memcached
Use this to
Be your app’s Memcached or Redis.
It’s like
Redis to Go, Memcachier
Elastic Transcoder
Should have been called
Amazon Beginning Cut Pro
Use this to
Deal with video weirdness (change formats, compress, etc.).
SQS
Should have been called
Amazon Queue
Use this to
Store data for future processing in a queue. The lingo for this is storing “messages” but it doesn’t have anything to do with email or SMS. SQS doesn’t have any logic, it’s just a place to put things and take things out.
It’s like
RabbitMQ, Sidekiq
WAF
Should have been called
AWS Firewall
Use this to
Block bad requests to Cloudfront protected sites (aka stop people trying 10,000 passwords against /wp-admin)
It’s like
Sophos, Kapersky
Mobile App Developer Services
These are the services that only work for mobile developers.
Cognito
Should have been called
Amazon OAuth as a Service
Use this to
Give end users - (non AWS) - the ability to log in with Google, Facebook, etc.
It’s like
OAuth.io
Device Farm
Should have been called
Amazon Drawer of Old Android Devices
Use this to
Test your app on a bunch of different IOS and Android devices simultaneously.
It’s like
MobileTest, iOS emulator
Mobile Analytics
Should have been called
Spot on Name, Amazon Product Managers take note
Use this to
Track what people are doing inside of your app.
It’s like
Flurry
SNS
Should have been called
Amazon Messenger
Use this to
Send mobile notifications, emails and/or SMS messages
It’s like
UrbanAirship, Twilio
Ops and Code Deployment Services
These are for automating how you manage and deploy your code onto other services.
CodeCommit
Should have been called
Amazon GitHub
Use this to
Version control your code - hosted Git.
It’s like
Github, BitBucket
Code Deploy
Should have been called
Not bad
Use this to
Get your code from your CodeCommit repo (or Github) onto a bunch of EC2 instances in a sane way.
It’s like
Heroku, Capistrano
CodePipeline
Should have been called
Amazon Continuous Integration
Use this to
Run automated tests on your code and then do stuff with it depending on if it passes those tests.
It’s like
CircleCI, Travis
EC2 Container Service
Should have been called
Amazon Docker as a Service
Use this to
Put a Dockerfile into an EC2 instance so you can run a website.
Elastic Beanstalk
Should have been called
Amazon Platform as a Service
Use this to
Move your app hosted on Heroku to AWS when it gets too expensive.
It’s like
Heroku, BlueMix, Modulus
Enterprise / Corporate Services
Services for business and networks.
AppStream
Should have been called
Amazon Citrix
Use this to
Put a copy of a Windows application on a Windows machine that people get remote access to.
It’s like
Citrix, RDP
Direct Connect
Should have been called
Pretty spot on actually
Use this to
Pay your Telco + AWS to get a dedicated leased line from your data center or network to AWS. Cheaper than Internet out for Data.
It’s like
A toll road turnpike bypassing the crowded side streets.
Directory Service
Should have been called
Pretty spot on actually
Use this to
Tie together other apps that need a Microsoft Active Directory to control them.
WorkDocs
Should have been called
Amazon Unstructured Files
Use this to
Share Word Docs with your colleagues.
It’s like
Dropbox, DataAnywhere
WorkMail
Should have been called
Amazon Company Email
Use this to
Give everyone in your company the same email system and calendar.
It’s like
Google Apps for Domains
Workspaces
Should have been called
Amazon Remote Computer
Use this to
Gives you a standard windows desktop that you’re remotely controlling.
Service Catalog
Should have been called
Amazon Setup Already
Use this to
Give other AWS users in your group access to preset apps you’ve built so they don’t have to read guides like this.
Storage Gateway
Should have been called
S3 pretending it’s part of your corporate network
Use this to
Stop buying more storage to keep Word Docs on. Make automating getting files into S3 from your corporate network easier.
Big Data Services
Services to ingest, manipulate and massage data to do your will.
Data Pipeline
Should have been called
Amazon ETL
Use this to
Extract, Transform and Load data from elsewhere in AWS. Schedule when it happens and get alerts when they fail.
Elastic Map Reduce
Should have been called
Amazon Hadooper
Use this to
Iterate over massive text files of raw data that you’re keeping in S3.
It’s like
Treasure Data
Glacier
Should have been called
Really slow Amazon S3
Use this to
Make backups of your backups that you keep on S3. Also, beware the cost of getting data back out in a hurry. For long term archiving.
Kinesis
Should have been called
Amazon High Throughput
Use this to
Ingest lots of data very quickly (for things like analytics or people retweeting Kanye) that you then later use other AWS services to analyze.
It’s like
Kafka
RedShift
Should have been called
Amazon Data Warehouse
Use this to
Store a whole bunch of analytics data, do some processing, and dump it out.
Machine Learning
Should have been called
Skynet
Use this to
Predict future behavior from existing data for problems like fraud detection or “people that bought x also bought y.”
SWF
Should have been called
Amazon EC2 Queue
Use this to
Build a service of “deciders” and “workers” on top of EC2 to accomplish a set task. Unlike SQS - logic is set up inside the service to determine how and what should happen.
It’s like
IronWorker
Snowball
Should have been called
AWS Big Old Portable Storage
Use this to
Get a bunch of hard drives you can attach to your network to make getting large amounts (Terabytes of Data) into and out of AWS
It’s like
Shipping a Network Attached Storage device to AWS
AWS Management Services
AWS can get so difficult to manage that they invented a bunch of services to sell you to make it easier to manage.
CloudFormation
Should have been called
Amazon Services Setup
Use this to
Set up a bunch of connected AWS services in one go.
CloudTrail
Should have been called
Amazon Logging
Use this to
Log who is doing what in your AWS stack (API calls).
CloudWatch
Should have been called
Amazon Status Pager
Use this to
Get alerts about AWS services messing up or disconnecting.
It’s like
PagerDuty, Statuspage
Config
Should have been called
Amazon Configuration Management
Use this to
Keep from going insane if you have a large AWS setup and changes are happening that you want to track.
OpsWorks
Should have been called
Amazon Chef
Use this to
Handle running your application with things like auto-scaling.
Trusted Advisor
Should have been called
Amazon Pennypincher
Use this to
Find out where you’re paying too much in your AWS setup (unused EC2 instances, etc.).
Inspector
Should have been called
Amazon Auditor
Use this to
Scans your AWS setup to determine if you’ve setup it up in an insecure way
It’s like
Alert Logic