Elasticity (computing): Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: title. Add: chapter, s2cid. | Use this bot. Report bugs. | Suggested by SemperIocundus | #UCB_webform 505/2500
scalability vs elasticity
Line 1:
{{redirect|Elastic computing|the physical property|Elasticity (physics)|the economics measurement|Elasticity (economics)}}
 
In [[cloud computing]], '''elasticity''' is defined as "the degree to which a system is able to adapt to workload changes by provisioning and de-provisioning resources in an autonomic manner, such that at each point in time the available resources match the current demand as closely as possible".<ref>{{cite journal|last=Herbst|first=Nikolas|author2=Samuel Kounev |author3=Ralf Reussner |title=Elasticity in Cloud Computing: What It Is, and What It Is Not|journal=Proceedings of the 10th International Conference on Autonomic Computing (ICAC 2013), San Jose, CA, June 24–28|year=2013|url=http://sdqweb.ipd.kit.edu/publications/pdfs/HeKoRe2013-ICAC-Elasticity.pdf}}</ref><ref>Nikolas Herbst, Rouven Krebs, Giorgos Oikonomou, George Kousiouris, Athanasia Evangelinou, Alexandru Iosup, and Samuel Kounev. Ready for Rain? A View from SPEC Research on the Future of Cloud Metrics. Technical Report SPEC-RG-2016-01, SPEC Research Group - Cloud Working Group, Standard Performance Evaluation Corporation (SPEC), 2016. [https://research.spec.org/fileadmin/user_upload/documents/rg_cloud/endorsed_publications/SPEC-RG-2016-01_CloudMetrics.pdf]</ref> Elasticity is a defining characteristic that differentiates cloud computing from previously proposed computing paradigms, such as [[grid computing]]. The dynamic adaptation of capacity, e.g., by altering the use of computing resources, to meet a varying workload is called "elastic computing".<ref>{{citation |title=Cloud Computing Principles and Paradigms |publisher=John Wiley and Sons |year=2011 |isbn=978-0-470-88799-8}}</ref><ref>{{citation |author=Perez |title=Responsive Elastic Computing |isbn=978-1-60558-578-9|display-authors=etal}}</ref>
 
In the world of [[distributed system|distributed systems]], there are several definitions according to the authors, some considering the concepts of [[scalability]] and elasticity as identical, others as being distinct.
==Example==
 
==Example==
Let us illustrate elasticity through a simple example of a service provider who wants to run a [[website]] on an [[IaaS]] cloud. At moment <math>t_0</math>, the website is unpopular and a single machine (most commonly a [[virtual machine]]) is sufficient to serve all web users. At moment <math>t_1</math>, the website suddenly becomes popular, for example, as a result of a [[flash crowd]], and a single machine is no longer sufficient to serve all users. Based on the number of web users simultaneously accessing the website and the resource requirements of the [[web server]], it might be that ten machines are needed. An elastic system should immediately detect this condition and provision nine additional machines from the cloud, so as to serve all web users responsively.