AWS Overview
Homepage
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: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.
-
LightsailAWS Service(webservers,messagingSummary servers,CloudFront Serves as an origin point for the website and theitsdocumentationloadserversbalancer.likethisone)EC2 (Elastic Compute Cloud) Used for the load balancers that route traffic to our webserverswebservers.ElastiCache for Redis Used for our cache servers. EventBridge Lambda Provides serverles cloud computing and messagingcodeservers)
execution.CloudFrontLightsailUsed for our webservers, and the documentation servers like this one. RDS ( toRelationalserveDatabase 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 anaccountoriginactivationpointemails.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 loadParameterbalancer)
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)
traffic.ElastiCacheforRedis RDS(for our database servers)S3(for cloud file storage)Route 53(for domain and DNS management)Systems Manager(specifically just the parameter store section, used for storing system credentials the webservers need to access certain resources)Lambda('serverless' cloud computing)SES(Simple Email Service, for sending emails programmatically)SNS(Simple Notification Service, for monitoring when emails couldn't be delivered)SQS(Simple Queue Service, to gather undeliverable email notifications)
our cache servers)