
Amazon Web Services in Plain English - ccnafr
https://www.expeditedssl.com/aws-in-plain-english
======
shubhamjain
Azure service names by comparison: Virtual Machines, Storage, Functions,
Pipelines, Archive Storage, Active Directory, Repos [1]. Personally, I am not
irked by less-descriptive names as much as with the hoard of acronyms—S3, EC2,
SQS, SES, SNS.

[1]: [https://azure.microsoft.com/en-
in/services/](https://azure.microsoft.com/en-in/services/)

~~~
bdcravens
They did Azure: [https://www.expeditedssl.com/azure-in-plain-
english](https://www.expeditedssl.com/azure-in-plain-english)

------
lukev
Sure, a lot of AWS services could have been named better. But a lot of these
are terrible, downright misleading names.

Some examples:

S3 as "Amazon Unlimited FTP Server": S3 has nothing to do with the FTP
protocol.

VPC as "Amazon Virtual Collocated Rack": VPCs don't have anything to do with
either collocation (they can span AZs), much less physical racks.

Lambda as "AWS App Scripts": _really_ disagree with this one. Their intent is
to be microservices or event handling functions, not scripts. "Scripts" isn't
really descriptive but usually implies a manually invoked automation that
modifies some kind of stateful resource (such as files). Lambda is basically
the exact opposite.

There are lots more that are problematic or overly simplified as well.

I don't say this to crap on the effort, just... be careful if you're relying
on this for your understanding of what AWS does.

~~~
sadok
You are missing the whole point. As a designer that dabbles a bit in code and
servers, I literally have NO idea what most of the words you just used mean.

I know that S3 has nothing to do with FTP, but it's a nice analogy that I can
relate to. Get off your high horse.

~~~
lukev
Here are some better names for S3 that aren't misleading:

\- Binary Storage

\- Blob Storge

\- File Storage

\- Reliable Storage

FTP is a specific protocol. Hard drives (as a sibling comment mentions) are a
specific technology. Our discipline is confusing enough that names should be
precise, not analogical.

~~~
AlexB138
"File Storage" is a bad idea for the same reasons comparing to FTP is. It
might work for a near layman, but it can actually communicate misinformation
to someone who knows slightly more about storage. Specifically, S3 is Object
Storage, as opposed to File or Block Storage.

This is why "simple descriptions" are hard. Leaving nuance behind makes a lot
of room for confusion.

~~~
Aeolun
Since S3 was more or less the first service to have the concept of Object
storage, I think we would have been able to deal with ‘File’ storage.

Also, I think the difference is more between filesystem and object storage.
You are still uploading files to both.

------
simonebrunozzi
(disclaimer: I worked at AWS from 2008 to 2014 as Technology Evangelist)

I always disliked most of the acronyms. The worst for me was Elastic
Beanstalk, a name allegedly picked by Bezos himself. I thought that choice was
really poor, considering that most of the world doesn't know what Beanstalk
refers to.

This is what happens when you grow up in an English culture and think that the
world functions like yours. I had the luck of being from a different culture
(Italy), and therefore an easier way to discern certain things.

It doesn't mean that this "type" of fairy-tale is unknown, in fact its origins
might trace back to 5,000 years.

In addition, "Jack and the Beanstalk" is an Aarne-Thompson tale-type 328, The
Treasures of the Giant, which includes the Italian "Thirteenth" and the French
"How the Dragon was Tricked" tales." [0]

[0]:
[https://en.wikipedia.org/wiki/Jack_and_the_Beanstalk](https://en.wikipedia.org/wiki/Jack_and_the_Beanstalk)

~~~
CitrusFruits
I don't think this is so much a facet of growing up in an English culture,
because their names make no sense to me either; I was born and raised in
America, and work in web technologies. This isn't an American/English speaking
cultural thing, it's something else.

~~~
unfunco
Jack and the Beanstalk is known to almost everyone in the United Kingdom, a
version with moral overtones is usually taught to school children, and it's a
popular choice for pantomimes (in fact, it's on right now near me:
[https://www.atgtickets.com/shows/jack-and-the-
beanstalk/live...](https://www.atgtickets.com/shows/jack-and-the-
beanstalk/liverpool-empire/))

------
michaelbuckbee
Author here - I haven't updated this in a while, but am always grateful for
the appreciative comments and emails I get when it gets rediscovered.

There's also usually two other comments:

1\. Why isn't it funnier / meaner? (an early version had a couple more pointed
descriptions).

2\. Why aren't these names more accurate?

The answer to both is that I was trying to be help people form a rough mental
model of what / how and in what context they would use the services - that
they could then take as a jumping off point for doing their own research into.

Nobody is relying on my jokey 2 sentence description of these services to make
deep architectural choices about their apps. What I have heard many many times
though is: "Oh! I didn't realize that's what AWS Service X did."

~~~
maximp
> I was trying to be help people form a rough mental model of what / how and
> in what context they would use the services - that they could then take as a
> jumping off point for doing their own research into.

This is exactly what I'm trying to do with Hackterms [1] - would love it if
you could check it out and maybe contribute AWS definitions. We're up to 1200+
from hundreds of contributors like you.

[1] [https://www.hackterms.com](https://www.hackterms.com)

~~~
byproxy
Reminds of this book I found at a thriftshop, "The New Hacker's Dictionary" :
[https://www.betterworldbooks.com/product/detail/the-new-
hack...](https://www.betterworldbooks.com/product/detail/the-new-hacker-s-
dictionary-0262680696)

(though probably with a lot less snark)

~~~
aasasd
The Jargon File was the old ultimate reference:
[https://en.m.wikipedia.org/wiki/Jargon_File](https://en.m.wikipedia.org/wiki/Jargon_File)

A lot of old hacker culture can be learned from it. Might be actually a good
thing that it's not updated anymore.

------
Scoundreller
In 2011, a polish bitcoin wallet company, "Bitomat", lost 17000 bitcoins
($231k at the time...) because they were running their operation off Amazon
EC2 and wanted to upgrade their servers.

EC2 servers are "ephemeral". It's believed the operators glossed over the
significance of the word when architecting their system and restarting their
servers.

[https://siliconangle.com/2011/08/01/third-largest-bitcoin-
ex...](https://siliconangle.com/2011/08/01/third-largest-bitcoin-exchange-
bitomat-lost-their-wallet-over-17000-bitcoins-missing/)

Sidenote: MtGox acquired them and made the users whole. Everyone wondered how
they could do that. Maybe they never really did.

[https://old.reddit.com/r/Bitcoin/comments/jfkfw/mtgox_to_acq...](https://old.reddit.com/r/Bitcoin/comments/jfkfw/mtgox_to_acquire_bitomatpl_compensate_loss_of/)

~~~
scarface74
The storage for EC2 can either be instance store - storage on the same server
as the instance and is ephemeral or EBS backed - networked storage that
survives restarts and instance upgrades. This is made super clear when you
terminate instances and/or resize them.

~~~
dexterdog
It wasn't always that way, but I'm pretty sure the option was there by 2011,
as I believe it was released around 2010.

------
deboflo
I know this is a joke, but I’m glad this person wasn’t in charge of naming
these services. Amazon’s concise and consistent names often translate directly
to API calls, making it possible to guess CLI methods.

~~~
dvtrn
Solid point, but I'd like to offer that aws-cli has built in autocomplete,
should help out with some of the 'guessing'

[https://docs.aws.amazon.com/cli/latest/userguide/cli-
command...](https://docs.aws.amazon.com/cli/latest/userguide/cli-command-
completion.html)

~~~
deboflo
good point. That’s great if the SDK for the language you are using has a
utility for autocomplete and the terminal or IDE you are using has that
utility installed, which may not always be the case.

------
pdxandi
I got a kick out of this site and agree with all of these suggestions. As a
video guy of sorts, this one was my favorite:

Elastic Transcoder

\- Should have been called Amazon Beginning Cut Pro

\- Use this to deal with video weirdness (change formats, compress, etc.).

~~~
scarface74
I don’t agree with EC2. When people think about EC2 they only think about VMs.
Amazon considers the EC2 service a service that encompasses, VMs, load
balancers, and a lot of other stuff.

“Amazon SQL” makes it sound like Amazon’s bespoke sql database. RDS is hosted
Oracle, SQL Server, MySQL, MarisDB, and Postgres. They all behave so much
differently it really doesn’t make any sense to combine them into one service.

------
eshyong
My favorite is the original page from 2015:

[https://web.archive.org/web/20150910211935/https://www.exped...](https://web.archive.org/web/20150910211935/https://www.expeditedssl.com/aws-
in-plain-english)

Don't forget to see the DirectConnect description.

------
crunchlibrarian
This page is hilarious, and reminds me of the early days of both open source
and cloud services when everyone thought you needed some complicated sounding
new phrase & acronym to be taken seriously. Just because that's the way IBM,
Oracle, etc did it so we had to emulate that.

------
gist
Call this 'the language they speak'.

Let me explain why I believe (in part) they are doing this (and Jeff Barr can
chime in).

AWS does this so that people learning from the start in cloud computing
'children' get used to the Amazon term (trademarked) and then it's harder for
them to leave.

Because all of the other things they would need to do elsewhere have
unfamiliar terms. And now the Amazon term is what resonates in their head 'the
language they speak'.

So the brand name is the moat.

Meanwhile if you are Linode or Rackspace and you call it a VPS then it's easy
to find an alternate provider of a VPS somewhere else.

Business wise it's on purpose and honestly it (in this case wouldn't work for
everyone I might add) it's really smart.

~~~
mr_toad
I remember the days when getting a new VPS instance meant placing an order and
waiting for hours if not days for the server to be provisioned manually.

So when I hear the term VPS I don’t think cloud, I think ‘inflexibility’ and
‘manual setup’.

------
torstenvl
I mean... shortened obscure names for things in the tech world isn't exactly
unique. Here's one for basic UNIX commands:

    
    
       ls    list_files   Lists files in a directory
       cd    change_dir   Changes the current working directory 
       cat   cat_barf     Takes stuff in and immediately hacks it up onto stdout
    

Etc.

~~~
liquidise
Is there truth to that last one? I always assumed cat was short for
concatenate and my brief googling appears to confirm that. Would love to read
more on this if someone has a reference to cat_barf

~~~
copperx
Cat is for catenate. Later the word became concatenate.

~~~
OJFord
It appears not:

[https://books.google.com/ngrams/graph?content=concatenate%2C...](https://books.google.com/ngrams/graph?content=concatenate%2Ccatenate&year_start=1800&year_end=2000&corpus=6&smoothing=3)

My understanding is that when you catenate A and B you concatenate A with B.

That is, the catenation of A and B is AB, but the concatenation of A and B is
A (catenated with what - we haven't said) and B (ditto).

Of course this is basically trivia and the word that's used is concatenate.

------
finchisko
Not saying I'm huge fan of AWS service names, but don't mind them either.
Didn't feel it as blocking issue and got familiar with them quite fast.

~~~
brazzledazzle
Yeah the names are annoying for all of a few minutes. I suppose if you weren’t
working directly with them a lot (like a management role perhaps) it could be
really annoying but it’s not hard to make a cheat sheet.

I’d rather google “ebs <issue>” because it’s pretty unique. Google eventually
picks up on your preferences for non-unique names so not the worst thing
though.

~~~
EADGBE
> I’d rather google “ebs <issue>” because it’s pretty unique. Google
> eventually picks up on your preferences for non-unique names so not the
> worst thing though.

I appreciate it for this.

As a developer, I've tried to research Django-related items before (The Python
Django). But as a guitarist, I've also done a lot of research about Django
(Reinhardt). Getting the right Django is sometimes confusing when Google knows
you have a deep interest in both unrelated items. Codenames are great like
this if they're not reused.

------
nostrebored
I work with a service every day named Connect.

I can't even find articles which I know exist using Google and nearly exact
names.

"Amazon connect best practices troubleshooting" gets you to other AWS services
like direct connect.

This is the only service name that truly bugs me.

~~~
garblegarble
Try adding quotes, e.g.
[https://www.google.com/search?q="aws+connect"+best+practises...](https://www.google.com/search?q="aws+connect"+best+practises+troubleshooting)
brings back results only to do with Amazon Connect.

~~~
nostrebored
Right, but as a user who has no idea what's available I'm sure that the ux is
miserable

------
adarshr
Probably this is better - [https://github.com/open-guides/og-
aws](https://github.com/open-guides/og-aws)

------
fredley
Amazon Drawer of old Android devices is the best alternative name.

This is a fantastic resource, I wish I'd had it when I first dived (dove?)
into AWS. Maybe these shouldn't actually be names, but it would be nice to
have nice descriptions like this in the AWS documentation.

------
capi_salazar
Simply brilliant. I've genuinely been struggling to comprehend what most
services are.

------
ypeter
I think most of the names are fine, now it’s easy to Google on issues related
to a particular service. Try Googling on “amazon queue issue” instead of “aws
sqs issue”...

~~~
TsomArp
AmazonVS should be pretty unique.

------
secabeen
EC2 is actually a really good name, as it has the important part of cloud
right in the name: elastic. Generally, if your load is elastic, and you can
design your solution to take advantage of the elasticity of EC2, you will do
well in the cloud. If you just lift-and-shift your virtual machines into EC2,
with no elasticity or scaling, you're going to hurt, in either performance,
cost, or both.

------
guitarbill
I guess it's up for debate. While I agree some are silly (Elastic
Beanstalk/Kinesis), renaming the product does not necessarily increase
discoverability, which is a bigger issue. As for this list, I find a lot of
these too dumbed down or missing some huge use-cases.

S3 is simply an object store, which is a fairly common term. So "Unlimited FTP
Server" is less obvious to me, and sounds old, outdated, and a security risk
(although S3 can be that, too). Lambda is functions-as-a-service, or
serverless. "App Scripts" would also tell me nothing, or sound like something
for Office. SNS main use-case for us is not to "send mobile notifications,
emails and/or SMS messages", but to link two systems together where some loss
is acceptable, so "Amazon Messenger" is worse. SQS and SNS fit together well.

~~~
nostrebored
I think the sqs and sns naming convention is a bit confusing. Realizing that
sns should be the typical choice for an event based architecture is weird to
people used to working with a message queue

~~~
scarface74
SNS and SQS works together but serve two different purposes.

SNS is for producers. You use SNS to say something happened. You have no
guarantee that any consumer actually successfully processed the message and if
the consumer is down, that message is lost to them.

The only way a consumer can actually directly process a message is by
subscribing to via http or lambda. But again, if the consumer errors or is
down, you’re out of luck.

SQS is a traditional simple queueing mechanism. It has no fanout capability on
its own but you do get the traditional queuing functionality. But it doesn’t
make sense logically for more than one process (or group of processes doing
the same thing) to consume the queue.

If you want the traditional fanout, filtering, multiple queues that do
different things on the same event/message, you use SNS and SQS together.

~~~
cthalupa
>If you want the traditional fanout, filtering, multiple queues that do
different things on the same event/message, you use SNS and SQS together.

For this sort of use case, I've generally opted to go with a Kinesis stream,
and I'm having a bit of a hard time understanding why a mix of SNS and SQS
would be better here.

~~~
scarface74
For a simple “something happened” with a message and attributes, Kinesis is
overkill and not as flexible.

You can send an SNS message with attributes and subscribe to that SNS message
with any combination of SQS queues, lambda functions, emails, http endpoints,
etc and with any of the subscriptions you can design it so that any of the
subscriptions only get messages based on attribute conditions.

Also with SQS, you get the standard granular retries, dead letter queues etc.
Yes with Kinesis you can do shards but it really doesn’t make sense to have
more than one process reading messages from the same shard to scale out
processing. With SQS, you can autoscale instances to read from the queue based
on the queue size or just subscribe the SNS to an SQS queue and then subscribe
the SQS queue to a lambda and let AWS work it’s magic.

~~~
cthalupa
Much appreciated!

This actually has me rethinking the architecture on a project I'm working on
right now. It looks like Kinesis would be a little bit cheaper at the volume
of data I'm looking at... But the SNS/SQS method will let me sidestep some
potential future scale-up concerns I had with the 5 reads per second limit
without making a Rube Goldberg machine of Kinesis Analytics feeding into
additional Kinesis Streams, which would drive the cost up higher than an
SNS/SQS fanout.

~~~
scarface74
5 reads per second - yeah that’s kind of low. At maximum scale up. I am
processing 80 messages simultaneously on 8 instances - each instance is
running 10 (I/O bound) asynchronous threads. I could push it higher but the
database starts screaming.

But with Kinesis, it’s true that you can do only 5 reads per second, but each
read can have up to 10,000 records. With SQS, you can only get 10 records per
call. I would think you could get much higher throughout with Kinesis, you
would just have to handle storing your iterator/sequence number per shard
somewhere to know where you left off in case of crash.

Kinesis is much better for higher throughput and you can always scale up
instead of out if you need consistent throughout. It depends on your use case.

~~~
cthalupa
Yeah, my primary concern is that there were some other teams expressing
interest in hooking up to the stream for working with the data in real time.

I know of a few workarounds - if the data is also being sent to S3, having
some services working off of S3 events instead of the stream directly, or
using Kinesis Analytics to fan out to additional Kinesis streams.

I might also just hook up SNS to the stream via Lambda and have them fan out
from SNS. Hmm.

~~~
nostrebored
Keep in mind -- SNS is a push source for Lambda. When doing an approach like
SNS->Async Lambda->...->Async Lambda it can become easy to saturate the event
bus for your account.

~~~
scarface74
Exactly. That’s why I suggested

Event source -> SNS -> SQS -> lambda and set the concurrency limit of the
lambda.

------
projectramo
To quote Aziz Ansari in the human giant: "I don't want you out there on the
bully plane calling me up, saying 'hey, I gotta pull up my marshmallow pants
and hit the boohoo button, 'cause I don't know where the cranberries are.' You
know what I mean?"

------
artur_makly
now if someone can translate Google’s services....

~~~
sladey
GCP products, for the most part, have a name that describes it very well.
[https://cloud.google.com/products/](https://cloud.google.com/products/)

------
fareesh
This is badly needed for so many things. Amazon is the worst offender. Even
the logos for the services are terrible

------
davidgerard
We live on AWS. This is frickin' brilliant, and I just sent it around the
technology department.

I also love the sponsorship message:

> Hey, this is sponsored by SendCheckIt - and by "sponsored" I mean that's
> what I've been working on instead of updating this list.

------
rehevkor5
Amazon high throughput? How about Amazon distributed queues?

Amazon EC2 Queue? How about Amazon State Machines? Or Amazon BPM?

~~~
gfodor
Yeah the SWF one is off. I feel like SWF doesn't get enough attention. It's
pretty brilliant.

~~~
revel
I suspect that the person who made this site worked at Amazon. The way they
describe SWF makes me think that the author used it when it was in it's
prerelease, "Decider" form. The "Flow" version that went onto become the one
that was publicly released has a slightly different set of terminology and
doesn't expose the use of queues in the same way the Decider version did. I
love publicly released version of SWF and think it's a severely underrated
product.

------
hamilyon2
I disagree. WAF is very transparently named

------
sergiotapia
How the hell can Amazon afford to host all of these services?!

~~~
mooreds
[https://www.cnbc.com/2018/04/26/amazon-
earnings-q1-2018.html](https://www.cnbc.com/2018/04/26/amazon-
earnings-q1-2018.html) 5.4B in AWS sales in q1 2018.

