AWS Services
Table of Contents
Here I list some AWS services and what they do.
IMO, AWS direly a map from Domain of Science.
1. Basics
IAM
- Setup user and roles
- User can login to AWS
- Roles have permissions to different AWS services or even different rows in a database
- Attach user to roles
Identity Center
- Links identity providers (Google workspace, Okta, etc) to AWS
- And link those user to different roles in IAM
2. APIs
Elastic Load Balancer
- Redirect traffic to EC2 instances
API Gateway
- Can act like a load balancer forwarding reqest to a server
- Can forward request to other AWS service directly without needing a server
- Can setup throttling, rate limiting, and user authentication and authorization (through Cognito)
3. Compute
Elastic Compute Cloud (EC2)
- Choose memory, OS, CPU and you have a virtual computer
Lambda
- EC2 runs a server and you pay for every second
- In Lambda you upload code and it runs on an event (like when file upload in S3, when user profile is created in Cognito)
- Scaling is handelled automatically
- You only pay for number of requests and run time
Elastic Container Registry
Elastic Container Service (ECS)
- starting, stoping and allocating virtual machines to run docker containers
Elastic Kubernetes Service (EKS)
- Gives you more control over your containers
4. Application Coordination
Simple Notification Service (SNS)
- Can be used to spread events do application / different servers
Simple Queue Service (SQS)
- Queues
- No backpressure. The clients poll and process what they can
Step Function
- Graph of tasks/steps you want to do.
5. Storage
Simple Storage Service (S3)
- General purpose file storage
- To serve static files
- We need to choose the S3 server location
Glacier
- To store files for archival purposes
CloudFront
- To do regional caching of files hosted on S3
- Because directly serving from S3 is costly
Elastic Block Storage (EBS)
- Is like hard disks
- Can attach to one EC2 instance at once
- High throughput IO and consistency
Elastic File System (EFS)
- You can mount EFS to multiple servers at once
- Is performant like Block Storage
- Higher cost
6. Config
Secrets Manager
- Store and provide secrets to EC2
App Config
- To store feature flags. EC2 instance have to poll, Lambda uses new feature flags automatically
Certificate Manager
- Ensure that the endpoint server/service on Route 53 has a valid certificate
- Issued by AWS or other services
7. Database
Relational Database Service (RDS)
- Supports Postgressql, oracle, MySQL, …
- Better than using EC2 is it handles scaling, storage, … stuff
Aurora
- Similar to RDS but managed and faster
- Also supports a serverless variant
Dynamo DB
- key value database
Document DB (MongoDB)
- not mongoDB but is 1-1 mapping to mongoDB
Keyspaces (Cassandra)
- Managed version of Cassandra
Neptune
- Graph database
ElasticSearch (OpenSearch)
- based on apache lucene
- for document storage, and full text search capabilities
Timestream
- for timeseries datasets
8. Caching
Elastic Cache
- Supports Redis or MemCaches
MemoryDB
- Cache but data persists when the node is down
9. Analytics
Redshift
- Data Warehouse (where we dump structured dataset from multiple sources)
Kinesis
- Real time data stream
- to use on stuff like Apache Spark using Amazon Map Reduce
MSK (Managed Streaming for Apache Kafka)
10. Machine Learning
SageMaker
- For training ML models
- Provies a managed Jupyter notebook
11. Other services
Simple Email Service (SES)
Route 53
- It is a DNS, Domain Management and Traffic management service
- Can do health checks
- Can route DNS based on geographic location, latency
Cloud Watch
- Collect logs and events
Auto Scaling
- Uses logs from Cloud Watch to auto scale EC2 instances
Cloud Formation
- Infrastructure as Code for AWS