Amazon Web Services Explained

Amazon Web Services

It can be a bit daunting when you first start looking at AWS and seeing the number of offerings available. I've explained each of the different services and also included some alternatives so you can see what it's like.

What is Amazon Web Services

Amazon Web Services (AWS) is a collection of remote computing services, that make up a cloud computing platform offered by Amazon.com.

Services
Service Description Alternative
CloudServices
EC2 Virtual Machines Azure VMs, Linode, DigitalOcean or Rackspace.
IAM Users, Policies
S3 File storage, store images and other assets
VPC Hybrid some on premise and some online.
Lambda Used for storing and then executing changes to your AWS setup or responding to events in S3 or DynamoDB.
Developer Services
API Gateway Works like a proxy on your network. 3Scale
RDS It's basically SQL server. Heroku Postgres, Azure SQL
Route53 It's DNS DNSimple, GoDaddy, Gandi
SES Transactional email service SendGrid, Mandrill, Postmark, MailGun
Cloudfront It's a content delivery network makes it easy to deliver files to your users. MaxCDN, Akamai
CloudSearch Pull in data on S3 or in RDS and then search it. Sphinx, Solr, ElasticSearch
DynamoDB No SQLDB MongoLab, Azure Document DB
Elasticache An open-source search and analytics engine for use cases such as log analytics, real-time application monitoring, and click stream analytics. Redis to Go, Memcachier
Elastic Transcoder Video Stuff
SQS Message Queue RabbitMQ, Sidekiq, Azure Service bus
WAF It's a Firewall Sophos, Kapersky
Cognito Login Service Give end users - (non AWS) - the ability to log in with Google, Facebook, etc. OAuth.io
Device Farm Test your app on a bunch of different IOS and Android devices simultaneously. MobileTest, iOS emulator
Mobile Analytics Track what people are doing inside of your app. Flurry, Azure Application Insights, Newrelic
SNS Send mobile notifications, emails and/or SMS messages UrbanAirship, Twilio
Ops and Code Deployment Services
CodeCommit Version control your code - hosted Git. Github, BitBucket
Code Deploy Deploy and build you code on the cloud. Heroku, Capistrano, Visual studio team services.
CodePipeline Automated tests on code. CircleCI, Travis
EC2 Container Service It's docker on the AWS
Enterprise / Corporate Services
AppStream Put a copy of a Windows application on a Windows machine that people get remote access to. Citrix, RDP, Azure Remote app
Direct Connect Pay your Telco + AWS to get a dedicated leased line from your data center or network to AWS.
Directory Service Tie together other apps that need a Microsoft Active Directory to control them. Azure Active Directory
WorkDocs Share Word Docs with your colleagues. Dropbox, DataAnywhere
WorkMail Hosted email service. Google Apps for Domains, Office365
Workspaces A windows desktop of your own just without the office.
Storage Gateway Make automating getting files into S3 from your corporate network easier.
Big Data Services
Data Pipeline Extract, Transform and Load data from elsewhere in AWS. Schedule when it happens and get alerts when they fail.
Elastic Map Reduce Iterate over massive text files of raw data that you're keeping in S3.
Glacier Make backups of your backups that you keep on S3. For long term archiving can be slow to get the data back. Also not cheap.
Kinesis Ingest lots of data very quickly that you then later use other AWS services to analyze. Kafka
RedShift Store a whole bunch of analytics data, do some processing, and dump it out.
Machine Learning Machine learning on AWS. Azure Machine Learning
SWF Build a service of workers on top of EC2 to accomplish a set task. IronWorker, Azure Web jobs
Snowball 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
AWS Management Services
CloudFormation Set up a bunch of connected AWS services in one go.
CloudTrail Log who is doing what in your AWS stack (API calls).
CloudWatch Get alerts about AWS services messing up or disconnecting. PagerDuty, Statuspage
Config Keep from going insane if you have a large AWS setup and changes are happening that you want to track.
OpsWorks Handle running your application with things like auto-scaling.
Pricing

Amazon have a pricing calculator that will allow you to estimate and work out how much it will cost to use the services.

Don't forget your Backups

There are some really good backup services out there for AWS, you should check out Snapshooter's AWS backups from Simon Bennett for an easy to manage backup solution.

Snapshooter for AWS