Core Idea
Elasticity is a system’s capability to dynamically and automatically adjust resource allocation in response to erratic, unpredictable workload changes.
Definition
Elasticity is a system’s capability to dynamically and automatically adjust resource allocation in response to erratic, unpredictable workload changes. Unlike Scalability, which handles gradual planned growth, elasticity focuses on rapid provisioning and de-provisioning of resources to handle sudden spikes or drops in demand—without manual intervention.
Key Characteristics
- Automatic adaptation: Resources are provisioned and de-provisioned automatically, triggered by predefined metrics (CPU utilization, memory usage, request rates)
- Real-time responsiveness: Systems react within seconds or minutes to workload fluctuations—distinguishing elasticity from capacity planning
- Bidirectional scaling: Resources scale both up (to handle spikes) and down (to reduce costs)—the cost-reduction direction is as important as handling peaks
- Built on scalability: The underlying infrastructure must be scalable for elasticity to function; elasticity automates the scaling decisions, not the underlying capability
- Temporal nature: Designed for short-term, unpredictable variations rather than sustained growth; advanced implementations (e.g., Netflix’s Scryer) use predictive analytics to anticipate demand spikes
Why It Matters
Elasticity addresses the fundamental economics of cloud computing: paying for idle capacity wastes money, while insufficient capacity loses revenue and damages reputation. Without it, organizations must either over-provision (wasting 60–80% of capacity during normal operations) or under-provision (risking outages at peaks). Elasticity enables cost-effective resilience by aligning resource consumption with actual demand—making variable workloads economically viable. It is a defining characteristic distinguishing cloud computing from traditional cluster and grid paradigms.
Related Concepts
- Scalability - Foundation concept that elasticity automates
- Architecture-Quantum - Deployment units that can be elastically scaled
- Availability - Elasticity helps maintain availability during demand spikes
- Deployability - Fast deployment enables elastic scaling
- Maintainability - Elastic systems require maintainable infrastructure automation
Sources
-
Herbst, Nikolas R., Samuel Kounev, and Ralf Reussner (2013). “Elasticity in Cloud Computing: What It Is, and What It Is Not.” Proceedings of the 10th International Conference on Autonomic Computing (ICAC 13). USENIX Association.
-
Al-Dhuraibi, Yahya, Fawaz Paraiso, Nabil Djarallah, and Philippe Merle (2017). “Elasticity in Cloud Computing: State of the Art and Research Challenges.” IEEE Transactions on Services Computing, Vol. 11, No. 2, pp. 430-447. DOI: 10.1109/TSC.2017.2711009
-
Ford, Neal, Mark Richards, Pramod Sadalage, and Zhamak Dehghani (2022). Software Architecture: The Hard Parts - Modern Trade-Off Analyses for Distributed Architectures. O’Reilly Media. ISBN: 9781492086895.
-
Contentful Blog (2024). “Elasticity vs. Scalability.”
-
Amazon Web Services (2026). “Amazon EC2 Auto Scaling.” AWS Documentation.
Note
This note was researched and drafted with AI. How these notes are written →