====== 4.3.9 Elasticity ====== [[dido:public:ra:1.4_req:2_nonfunc| Return to Non-Functional Requirements]] ===== About ===== [[dido:public:ra:xapend:xapend.a_glossary:c:cloudelasticity]] also known as Elasticity "is 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."(( Nikolas Roman Herbst, Samuel Kounev and Ralf Reussner, __Elasticity in Cloud Computing: What It Is, and What It Is Not__, Accessed on 11 August 2020, [[https://sdqweb.ipd.kit.edu/publications/pdfs/HeKoRe2013-ICAC-Elasticity.pdf]] )). A primary motivation behind Elasticity is to save money by not investing in [[dido:public:ra:xapend:xapend.a_glossary:i:iaas]] that is not used or under used. It also saves natural resources since heating and air conditioning are not used on resources that are on standby(( Rui Han, __Investigations into Elasticity in Cloud Computing__, November 2013, Accessed 12 August 2020, [[https://arxiv.org/ftp/arxiv/papers/1511/1511.04651.pdf]] )). The following are the various strategies used to achieve elasticity: * **Cost-aware criteria**: The default is to assume that there is a firm fixed price for IaaS providers, however, some providers allow for spot pricing schemes (i.e., Amazon) which can allow users to tap into IaaS excess capacity. This excess capacity is there so that the IaaS provider can meet the Service Level Agreements (SLAs) guaranteed to all customers. * **Power-aware cost function**: Using the power required to meet the [[dido:public:ra:xapend:xapend.a_glossary:a:application|application's]] needs and little more, i.e., using off-peak power consumption only. * **Multiple classes of requests**: Allow applications to be segmented into categories based on the need for service. For example, customers' requests for service from the application can be divided into three categories: High Priority for performing financial transactions; Medium Priority for those making product inquiries; Low priority for simple browsing. * **Scaling multiple applications**: Allow an application to be broken up into smaller applications whose functionality and services are orchestrated. ===== DIDO Specifics ===== [[dido:public:ra:1.4_req:2_nonfunc:08_elasticity| Return to Top]] : To be added/expanded in future revisions of the DIDO RA /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~