Determining appropriate scaling methods and strategies for elastic workloads (for example, horizontal compared with vertical, EC2hibernation)

Task Statement 4.2: Design cost-optimized compute solutions.

📘AWS Certified Solutions Architect – (SAA-C03)


1. What is an Elastic Workload?

An elastic workload is an application that can automatically adjust resources based on demand.

  • When demand increases → add more resources
  • When demand decreases → remove resources

This helps:

  • Reduce cost
  • Improve performance
  • Avoid over-provisioning

Typical AWS services used:

  • Amazon Web Services EC2
  • Auto Scaling
  • Elastic Load Balancer

2. Scaling Methods Overview

There are two main scaling approaches:

Scaling TypeDescription
Horizontal ScalingAdd/remove instances
Vertical ScalingIncrease/decrease power of a single instance

3. Horizontal Scaling (Scale Out / Scale In)

Definition

Horizontal scaling means:

  • Adding more EC2 instances → scale out
  • Removing EC2 instances → scale in

How It Works

  • Multiple instances run the same application
  • Traffic is distributed using a Load Balancer
  • Auto Scaling automatically adjusts number of instances

Key AWS Services

  • EC2 Auto Scaling Group (ASG)
  • Elastic Load Balancer (ALB/NLB)

Advantages

  • High availability
  • Fault tolerance
  • Easy to scale dynamically
  • No downtime during scaling

Limitations

  • Application must support distributed architecture
  • Requires load balancing

Exam Tip

👉 Horizontal scaling is preferred in AWS and is the default recommendation.


4. Vertical Scaling (Scale Up / Scale Down)

Definition

Vertical scaling means:

  • Increasing CPU, RAM, or storage of a single instance

Example:

  • Change instance type from t3.micro → m5.large

Advantages

  • Simple to implement
  • No need to redesign application

Limitations

  • Downtime required (instance restart)
  • Limited by maximum instance size
  • No fault tolerance

Exam Tip

👉 Vertical scaling is used when:

  • Application cannot be distributed
  • Database systems (e.g., single-node databases)

5. Horizontal vs Vertical (Exam Comparison)

FeatureHorizontal ScalingVertical Scaling
AvailabilityHighLow
ScalabilityUnlimitedLimited
DowntimeNoYes
Cost EfficiencyBetterCan be expensive
AWS Recommendation✅ Preferred⚠️ Limited use

👉 Always choose horizontal scaling unless the question restricts you


6. Auto Scaling in AWS

Auto Scaling automatically adjusts the number of EC2 instances.

Types of Scaling Policies

1. Dynamic Scaling

  • Adjusts based on metrics (CPU, memory, etc.)

Types:

  • Target Tracking (most common)
  • Step Scaling
  • Simple Scaling

2. Scheduled Scaling

  • Scale at specific times
    Example: increase capacity during business hours

3. Predictive Scaling

  • Uses historical data to predict future demand

Key Metrics Used

  • CPU Utilization
  • Network traffic
  • Request count (via load balancer)

Important Components

Auto Scaling Group (ASG)

  • Defines:
    • Minimum instances
    • Maximum instances
    • Desired capacity

Exam Tip

👉 If the question says:

  • “automatically adjust capacity” → use Auto Scaling
  • “handle unpredictable traffic” → Auto Scaling + Load Balancer

7. EC2 Hibernation

Definition

EC2 hibernation allows you to:

  • Stop an instance
  • Save its RAM (memory) to disk
  • Resume later from the same state

How It Works

  • RAM is saved to EBS root volume
  • Instance resumes quickly
  • Applications continue from where they stopped

Key Features

FeatureDescription
State savedRAM + OS state
Resume timeFaster than reboot
StorageRequires EBS
BillingPay for EBS only when stopped

When to Use (Exam Focus)

Use EC2 hibernation when:

  • Application startup time is long
  • You need to preserve in-memory data
  • You want cost savings during idle time

Limitations

  • Supported instance types only
  • Maximum RAM size limits
  • Root volume must be encrypted

Stop vs Hibernate vs Terminate

ActionResult
StopOS stops, RAM lost
HibernateRAM preserved
TerminateInstance deleted

Exam Tip

👉 If question says:

  • “resume quickly with same state” → Hibernate
  • “save memory state” → Hibernate

8. Choosing the Right Scaling Strategy

Use Horizontal Scaling when:

  • Application supports multiple instances
  • High availability is required
  • Traffic is unpredictable

Use Vertical Scaling when:

  • Application cannot scale out
  • Single-node architecture
  • Temporary performance boost needed

Use Auto Scaling when:

  • Workload is dynamic
  • You want cost optimization

Use EC2 Hibernation when:

  • Need fast resume
  • Long startup time
  • Temporary pause of workloads

9. Common Exam Scenarios

Scenario 1

Application traffic changes frequently
👉 Use:

  • Auto Scaling + Load Balancer
  • Horizontal scaling

Scenario 2

Legacy application runs on a single server
👉 Use:

  • Vertical scaling

Scenario 3

Application takes long time to start and must resume quickly
👉 Use:

  • EC2 Hibernate

Scenario 4

Need to minimize cost during idle time but resume later
👉 Use:

  • EC2 Hibernate or Stop

10. Key Takeaways (Must Remember)

  • ✅ Horizontal scaling = preferred in AWS
  • ✅ Auto Scaling = core for elasticity
  • ✅ Vertical scaling = limited & requires downtime
  • ✅ EC2 Hibernate = preserves RAM state
  • ✅ Load Balancer + ASG = best practice architecture

Final Exam Tips

  • Always think: “Can this be distributed?” → choose horizontal scaling
  • Look for keywords:
    • “automatic”, “elastic” → Auto Scaling
    • “quick resume” → Hibernate
    • “single instance limitation” → Vertical scaling
  • AWS prefers:
    • Managed services
    • Scalable architecture
    • Cost-efficient solutions
Buy Me a Coffee