Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as-you-go pricing.
No matter what you do with AWS you'll probably end up using these services as everything else interacts with them.
Should have been called: Amazon Virtual Servers
Use this to: Host the bits of things you think of as a computer.
Should have been called: Users, Keys and Certs
Use this to: Set up additional users, set up new AWS Keys and policies.
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.
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.
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.
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.
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.
Should have been called: Amazon SQL
Use this to: Be your app's Mysql, Postgres, and Oracle database.
Should have been called: Amazon DNS + Domains
Use this to: Buy a new domain and set up the DNS records for that domain.
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.
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.
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.'
Should have been called: Amazon NoSQL
Use this to: Be your app's massively scalable key valueish store.
Should have been called: Amazon Memcached
Use this to: Be your app's Memcached or Redis.
Should have been called: Amazon Beginning Cut Pro
Use this to: Deal with video weirdness (change formats, compress, etc.).
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.
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)
These are the services that only work for mobile developers.
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.
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.
Should have been called: Spot on Name, Amazon Product Managers take note
Use this to: Track what people are doing inside of your app.
Should have been called: Amazon Messenger
Use this to: Send mobile notifications, emails and/or SMS messages
These are for automating how you manage and deploy your code onto other services.
Should have been called: Amazon GitHub
Use this to: Version control your code - hosted Git.
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.
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.
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.
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.
Services for business and networks.
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.
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.
Should have been called: Pretty spot on actually
Use this to: Tie together other apps that need a Microsoft Active Directory to control them.
Should have been called: Amazon Unstructured Files
Use this to: Share Word Docs with your colleagues.
Should have been called: Amazon Company Email
Use this to: Give everyone in your company the same email system and calendar.
Should have been called: Amazon Remote Computer
Use this to: Gives you a standard windows desktop that you're remotely controlling.
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.
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.
Services to ingest, manipulate and massage data to do your will.
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.
Should have been called: Amazon Hadooper
Use this to: Iterate over massive text files of raw data that you're keeping in S3.
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.
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.
Should have been called: Amazon Data Warehouse
Use this to: Store a whole bunch of analytics data, do some processing, and dump it out.
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."
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.
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
AWS can get so difficult to manage that they invented a bunch of services to sell you to make it easier to manage.
Should have been called: Amazon Services Setup
Use this to: Set up a bunch of connected AWS services in one go.
Should have been called: Amazon Logging
Use this to: Log who is doing what in your AWS stack (API calls).
Should have been called: Amazon Status Pager
Use this to: Get alerts about AWS services messing up or disconnecting.
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.
Should have been called: Amazon Chef
Use this to: Handle running your application with things like auto-scaling.
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.).
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
https://aws.amazon.com/what-is-cloud-computing/
https://aws.amazon.com/types-of-cloud-computing/
https://www.expeditedssl.com/aws-in-plain-english
http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_web_01.pdf
http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_loganalysis_11.pdf
https://aws.amazon.com/new/reinvent/