This is a note to self and a work in progress, which I tend to amend as and when I actually have to use a service. Since starting I found this article, which is a lot more comprehensive.

S3: Simple Storage Service

Cheap scalable storage. Instead of files on servers you have objects in buckets.

SNS: Simple Notification Service

Lets an application push messages to subscribing clients. You create what amazon calls a ‘topic’ (an access point) to which publishers can push messages, and from which subscribed clients will have those messages relayed instantly.

Relevant Example: Notify a user of their video processing task completing.

SQS: Simple Queue Service

This is another messaging service like SNS, the difference being that whereas SNS uses a push mechanism to deliver instantly, SQS uses a polling model where clients can collect messages from a queue where they are stored in limbo, waiting to be processed.

Relevant example: Create a work queue of tasks to be completed by a process.


Run code without provisioning a server. You create and upload a zip file containing your code (Node, Python, Java, C#) and dependencies, then AWS lambda handles everything else to make sure that the code is executable with high availability, over a configurable set of interfaces. You pay only for compute time you use.

Broadly speaking the code is executed either directly by your application (like an API) or triggered by ‘events’ in other AWS products, an example being a handler that compresses file objects as they are uploaded to an amazon S3 bucket, or a video task that runs based on information inserted into a DynamoDB table.

Relevant example: Triggered by a POST request, collect a file from an S3 bucket, process it in some way, then put it somewhere else in S3.


It’s a NoSQL database.


Who and what can do what to what. Has a whole smorgasbord of other AWS-specific terminology within it.


“Sam is a user”


A bunch of users who all share something in common. E.G: Admins or Analysts.

“Users Sam and Ian are both Admins”


A bunch of permissions/policies.


A permission.