Skip to main content

AWS Overview

Homepage

https://aws.amazon.com/

What is it?

Amazon Web Services (AWS) is a cloud infrastructure provider. In simple terms, cloud infrastructure providers have a huge range of services that aim to have everything modern website needs in one place. For example, modern websites often need database servers, cache servers, a CDN, domain management, webservers, load balancers and other elements.

Why did we choose it?

It's very reliable, and some of its offerings are fairly priced. In addition, it has very well supported APIs, making it a stable choice. It is one of the main giants of the infrastructure world, the other being Microsoft Azure; Google Cloud is a smaller competitor, and there are many others.

What do we use it for?

A lot. It's hard to put that in a short paragraph here, so this AWS section is split into one page for each AWS service we make use of.

The full list of AWS services/sections we use is in the table below, in alphabetical order. See the other pages in this chapter for details of how we use each service, or click the link for the service in the table.

AWS Service Summary


CloudFront Serves as an origin point for the website and its load balancer.
DynamoDB Used to connect some of our serverless code functions together, as it's hard to do this via our main database in some cases.
EC2 (Elastic Compute Cloud) Used for the load balancers that route traffic to our webservers.
ElastiCache for Redis Used for our cache servers.
EventBridge Used to run tasks on set schedules when it's helpful to use serverless code for them, instead of running such tasks on the webservers.
Lambda Provides serverles cloud computing and code execution.
Lightsail Used for our webservers, and the documentation servers like this one.
RDS (Relational Database Service) Used for our database servers.
Route 53 Provides domain name and DNS management.
S3 Used for cloud file storage.
SES (Simple Email Service) Used for sending emails programmatically, such as account activation emails.
SNS (Simple Notification Service) Used as part of good practice with SES, to receive notifications of undeliverable emails from SES.
SQS (Simple Queue Service) Used as part of good practice with SES, to subscribe to the SNS system and receive its notifications so we can check for undeliverable emails.
Systems Manager We only use the Parameter Store section of Systems Manager, to manage secure credentials that are used by the webservers (not user credentials, which the database server holds).
WAF (Web Application Firewall) Used to screen all incoming requests through CloudFront for malicious traffic.