RSS

AWS: The most important services

Want to learn AWS? It’s well over 200 Services, no one knows them all…
Share this page:

So, you want to be an AWS Expert?

AWS has been around for a long time… even though people don’t feel that way, as we spent the last 15 years trying to convince ourselves that Private Clouds are Ok, and that we should utilize all that Hardware we “just recently acquired”.

Having been around for the last 18 years (yes, AWS was launched in 2002), AWS has slowly been introducing new services… and at the last re:Invent they’ve reached and overtaken the number 200. There is NO ONE who understands all 200 services in depth. The best you can do, is learn and get good at the basic 10 services, and then, based on your projects, slowly get into the new ones.

Cool Pic

My original idea was to describe the services myself, but since Corey Quinn did an amazing job describing everything in his podcast series, I’ll just take the liberty to present his content, slightly modified.

EC2

Amazon Elastic Compute Cloud (Amazon EC2) are virtual machines, called instances that can run any software you care to shove in them.

This is the baseline service that virtually everyone who uses AWS uses as their primary workhorse. The engineering is deep, but it shouldn’t matter to you.

EC2 is responsible for the majority of the entire AWS global spend. Think about that for a second. A single entry from a 200-strong services list is over 50% of where the money goes. That’s mind-boggling!

If your idea of “going to the Cloud” is deploying everything in EC2 like it were Data Center - of course your infrastructure will cost you a bunch. If your idea of Cloud is EC2 - you have a lot to learn. Keep reading.

S3

Amazon Simple Storage Service is what’s known as object storage. “Put a file or files into S3, it keeps them for you. Retrieve them at any time.”

S3 can store more data than you will ever be able to afford. There are no capacity limits here, and pricing is linear. Note that security is going to matter here, but don’t let the “user data leaks from S3 bucket” headlines fool you. Those come from misconfigurations by end-customers. Security is going to be important to get right here, but the service is most assuredly NOT insecure.

RDS

Amazon Relational Database Service (Amazon RDS) is a managed database offering that lets you choose from these databases: Amazon Aurora (their custom thing with PostgreSQL and MySQL compatibility), PostgreSQL, MySQL, MariaDB, Oracle Database, and SQL Server.

AWS runs the database for you so you don’t have to handle a lot of the administrative bits. Some folks migrate to EC2 to run their databases manually when they need more control; the legitimacy of this approach is hotly debated.

Lambda

Part of the Serverless revolution, AWS Lambda is the New Hotness.

You write code and AWS executes it for you when certain conditions are met—like the passage of time, when a file shows up, when a user clicks a button, and so on. You can consider this to be most commonly used to “glue” other AWS services together. Lambda gives you great flexibility, but:

  • You need your developers to learn Infra, and your SysAdmins to learn to code.
  • You need to take care of how often your lambdas execute, the cost of a Lambda that was executed 1000 times in 24 hours can surprise you.

AWS Regions

All of the above and more live in what are called AWS Regions. These are vast collections of many data centers scattered across the world. They are referred to both by their region (say, Ireland) as well as by their AWS designation (the Ireland region is called eu-west-1).

Availability Zones

Inside each region there are multiple Availability Zones or AZs, which are data centers located a few miles apart from each other. These are great for local disaster planning, but an issue that affects an entire AWS region will take down multiple AZs.

Data Transfer

Data transfer tends to be a big bill item. But the nuances of that spend item are vast and deep. In general transfer from the internet to AWS is free, and transfer out of AWS costs money.

From a project perspective, we’ll dig into the specifics is fine. Essentially, anything can send data anywhere you’d like is the capability story here.

Billing

As for billing, it’s generally you pay for what you use. If you use more resources, you pay more. If you don’t turn something off, nothing will do it for you. There has to be a “close the loop” or “garbage collection” process that goes back and turns off the stuff you’re done with.

The golden model of the cloud is that you increase resource usage along with demand (often called auto scaling) then turn it back down as demand wanes.