Study Guide: Using Purpose-Built AWS Services for Workloads
Using purpose-built AWS services for workloads
Study Guide: Using Purpose-Built AWS Services for Workloads
Learning Objectives
After studying this guide, you should be able to:
- Identify the appropriate AWS compute service (EC2, Lambda, Fargate) based on workload characteristics.
- Select the correct database engine (RDS, Aurora, DynamoDB) for relational vs. non-relational requirements.
- Differentiate between block, file, and object storage use cases.
- Determine specialized services for low-latency or hybrid environments (Outposts, Wavelength).
Key Terms & Glossary
- IaaS (Infrastructure as a Service): Cloud services that mirror on-premises virtual environments (e.g., Amazon EC2).
- Serverless: A compute model where AWS manages the underlying infrastructure, scaling automatically without manual intervention (e.g., AWS Lambda).
- Managed Service: Services where AWS handles administrative tasks like patching and backups (e.g., Amazon RDS).
- Purpose-Built: Specialized services designed for specific data models or use cases rather than a "one-size-fits-all" approach.
- Horizontal Scaling: Adding more instances of a resource to handle load (e.g., adding more EC2 instances in an Auto Scaling group).
The "Big Idea"
In the legacy IT world, a single server often wore many hats. In AWS, the philosophy is to decompose workloads into specialized components. By using "purpose-built" services, you trade off granular control for massive gains in scalability, reliability, and cost-efficiency. Instead of managing a database on a virtual machine, you use a managed database; instead of maintaining a web server for simple logic, you use a serverless function.
Formula / Concept Box
| Workload Characteristic | Recommended AWS Service |
|---|---|
| Full OS Control / Legacy Apps | Amazon EC2 |
| Microservices / Docker Containers | Amazon ECS / EKS or Fargate |
| Event-Driven / Short-lived Logic | AWS Lambda |
| Relational Data (SQL) | Amazon RDS / Aurora |
| High-Scale Key-Value Data | Amazon DynamoDB |
| Unstructured Media Storage | Amazon S3 |
Hierarchical Outline
- Compute Strategies
- Amazon EC2: Virtual servers; supports Spot Instances for cost savings and Reserved Instances for long-term savings.
- Containerization: ECS (Docker management) and EKS (Kubernetes management).
- Serverless: AWS Lambda for execution without managing servers; AWS Fargate for serverless containers.
- Database Architectures
- Relational: RDS (Managed SQL) and Aurora (Cloud-native relational with high performance).
- NoSQL: DynamoDB (Milli-second latency at any scale).
- In-Memory: ElastiCache (Redis/Memcached) for caching.
- Storage Solutions
- Block Storage: EBS for EC2 root volumes.
- File Storage: EFS (Linux) and FSx (Windows).
- Object Storage: S3 for unlimited, durable storage.
- Hybrid & Edge
- AWS Outposts: Local AWS hardware for on-premises footprints.
- AWS Wavelength: Extremely low latency for 5G mobile networks.
Visual Anchors
Service Selection Flowchart
The Management Spectrum
\begin{tikzpicture} [node distance=2cm] \draw[thick, <->] (0,0) -- (10,0); \node at (0,-0.5) {User-Managed (IaaS)}; \node at (10,-0.5) {AWS-Managed (Serverless)};
\draw[fill=blue!20] (0.5,0.2) rectangle (2.5,1.2) node[pos=.5] {EC2}; \draw[fill=green!20] (4,0.2) rectangle (6,1.2) node[pos=.5] {RDS/ECS}; \draw[fill=orange!20] (7.5,0.2) rectangle (9.5,1.2) node[pos=.5] {Lambda/S3};
\node[align=center, font=\small] at (5, -1.5) {As you move right, operational overhead decreases}; \end{tikzpicture}
Definition-Example Pairs
- Ephemeral Compute: Resources that exist only for the duration of a task.
- Example: Using a Spot Instance to perform a 2-hour video encoding job and then terminating it.
- Horizontal Elasticity: The ability to scale by adding identical units.
- Example: An Auto Scaling Group launching three additional EC2 instances during a Black Friday sale.
- Edge Processing: Processing data closer to where it is generated.
- Example: Using AWS Wavelength to host a real-time gaming server within a 5G carrier's network to reduce lag.
Worked Examples
Scenario 1: The Legacy Web App
Problem: A company has a legacy Java application that requires a specific kernel version of Linux and access to the local file system. Solution: Use Amazon EC2. Because the app requires specific OS-level modifications and kernel access, serverless options like Lambda are not viable. To optimize cost, use Reserved Instances if the workload is 24/7.
Scenario 2: High-Traffic News Site
Problem: A website experiences unpredictable spikes in traffic when news breaks. They need to store images and serve them globally. Solution:
- Storage: Use Amazon S3 for image storage (highly durable and scales automatically).
- Distribution: Use Amazon CloudFront (CDN) to cache images at edge locations.
- Compute: Use AWS Lambda for the backend API to handle spikes without pre-provisioning capacity.
Checkpoint Questions
- Which service would you choose for a Microsoft Windows shared file system?
- What is the main difference between horizontal and vertical scaling?
- When should a Solutions Architect recommend AWS Outposts?
- Which database service is purpose-built for millisecond-latency, non-relational data at scale?
[!TIP] Answers:
- Amazon FSx for Windows File Server.
- Horizontal adds more instances; Vertical increases the size (CPU/RAM) of an existing instance.
- When the customer needs low-latency access to on-premises data or has local data residency requirements.
- Amazon DynamoDB.