AWS Essentials¶
AWS is the leading cloud platform. Key services: EC2 (virtual servers), S3 (object storage), RDS (managed databases), Lambda (serverless functions), SQS/SNS (messaging), ECS/EKS (containers), CloudFront (CDN), IAM (access control). Design for the cloud: use managed services, design for failure, auto-scale, decouple components.
Key Concepts¶
Deep Dive: Core Services
| Service | Category | Purpose |
|---|---|---|
| EC2 | Compute | Virtual machines |
| Lambda | Compute | Serverless functions |
| S3 | Storage | Object storage (files, images) |
| RDS | Database | Managed SQL (PostgreSQL, MySQL) |
| DynamoDB | Database | Managed NoSQL (key-value) |
| SQS | Messaging | Message queue |
| SNS | Messaging | Pub/sub notifications |
| ECS/EKS | Containers | Container orchestration |
| CloudFront | CDN | Content delivery |
| Route 53 | DNS | Domain name system |
| IAM | Security | Identity and access management |
| VPC | Networking | Virtual private cloud |
Deep Dive: Typical Spring Boot Deployment on AWS
Deep Dive: IAM (Identity & Access Management)
Principle of least privilege — grant only permissions needed.
- Users — individual people
- Roles — assumed by services (EC2, Lambda, ECS)
- Policies — JSON documents defining permissions
- Groups — collection of users with shared policies
Common Interview Questions
- What AWS services would you use for a web application?
- What is the difference between SQS and SNS?
- How would you deploy a Spring Boot app on AWS?
- What is an IAM role vs IAM user?
- What is S3? What storage classes exist?
- How does auto-scaling work on AWS?
- What is a VPC?