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 |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(15 intermediate revisions by 9 users not shown) | |||
Line 1:
{{short description|Degree to which a computer system can adapt to workload changes}}
{{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 [[
==Example==▼
In the world of [[distributed system|distributed systems]], there are several definitions according to the authors, some considering the concepts of [[scalability]] a sub-part of elasticity, others as being distinct.
▲==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.
Line 16 ⟶ 19:
===Resources provisioning time===
One potential problem is that elasticity takes time. A cloud virtual machine (VM) can be acquired at any time by the user; however, it may take up to several minutes for the acquired VM to be ready to use. The VM startup time is dependent on factors, such as image size, VM type, data center ___location, number of VMs, etc.<ref name="vmstartuptime2012">{{cite book|last=Mao|first=Ming|author2=M. Humphrey|title=2012 IEEE Fifth International Conference on Cloud Computing |chapter=A Performance Study on the VM Startup Time in the Cloud
===Monitoring elastic applications===
Elastic applications can allocate and deallocate resources (such as VMs) on demand for specific application components. This makes cloud resources volatile, and traditional monitoring tools which associate monitoring data with a particular resource (i.e. VM), such as [[Ganglia (software)|Ganglia]] or [[Nagios]], are no longer suitable for monitoring the ''behavior'' of elastic applications. For example, during its lifetime, a data storage tier of an elastic application might add and remove data storage VMs due to cost and performance requirements, varying the number of used VMs. Thus, additional information is needed in monitoring elastic applications, such as associating the logical application structure over the underlying virtual infrastructure.<ref>{{cite book|last=Moldovan|first=Daniel |author2=Georgiana Copil |author3=Hong-Linh Truong |author4=Schahram Dustdar|title=
===Elasticity requirements===
When deploying applications in cloud infrastructures (IaaS/PaaS), requirements of the stakeholder need to be considered in order to ensure proper elasticity behavior. Even though traditionally one would try to find the optimal trade-off between cost and quality or performance, for real world cloud users requirements regarding the behavior are more complex and target multiple dimensions of elasticity (e.g., SYBL<ref>
===Multiple levels of control===
Cloud applications can be of varying types and complexities, with multiple levels of artifacts deployed in layers. Controlling such structures must take into consideration a variety of issues, an approach in this sense being [http://www.infosys.tuwien.ac.at/research/viecom/SYBL rSYBL].<ref>
==See also==
Line 39 ⟶ 41:
* [http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf The NIST Definition of Cloud Computing]. Peter Mell and Timothy Grance, NIST Special Publication 800-145 (September 2011). National Institute of Standards and Technology, U.S. Department of Commerce.
[[Category:Distributed computing]]
[[Category:Cloud computing]]
|