A survey on elasticity management in PaaS systems

Elasticity is a goal of cloud computing. An elastic system should manage in an autonomic way its resources, being adaptive to dynamic workloads, allocating additional resources when workload is increased and deallocating resources when workload decreases. PaaS providers should manage resources of customer applications with the aim of converting those applications into elastic services. This survey identifies the requirements that such management imposes on a PaaS provider: autonomy, scalability, adaptivity, SLA awareness, composability and upgradeability. This document delves into the variety of mechanisms that have been proposed to deal with all those requirements. Although there are multiple approaches to address those concerns, providers’ main goal is maximisation of profits. This compels providers to look for balancing two opposed goals: maximising quality of service and minimising costs. Because of this, there are still several aspects that deserve additional research for finding optimal adaptability strategies. Those open issues are also discussed.

[1]  Paulo Romero Martins Maciel,et al.  Software aging issues on the eucalyptus cloud computing infrastructure , 2011, 2011 IEEE International Conference on Systems, Man, and Cybernetics.

[2]  Alexandru Iosup,et al.  Performance Analysis of Cloud Computing Services for Many-Tasks Scientific Computing , 2011, IEEE Transactions on Parallel and Distributed Systems.

[3]  Aniruddha S. Gokhale,et al.  Efficient Autoscaling in the Cloud Using Predictive Models for Workload Forecasting , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[4]  Guilherme Galante,et al.  A Survey on Cloud Computing Elasticity , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[5]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[6]  Neil A. Speirs,et al.  A UML tool for an automatic generation of simulation programs , 2000, WOSP '00.

[7]  Elisa Bertino,et al.  Quality Control in Crowdsourcing Systems: Issues and Directions , 2013, IEEE Internet Computing.

[8]  Marcin Solarski,et al.  Dynamic upgrade of distributed software components , 2004 .

[9]  Samir Tata,et al.  A Queuing Model for Business Processes Elasticity Evaluation , 2014, 2014 International Workshop on Advanced Information Systems for Enterprises.

[10]  Rubén S. Montero,et al.  An elasticity model for High Throughput Computing clusters , 2011, J. Parallel Distributed Comput..

[11]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[12]  Yike Guo,et al.  Principles of Elastic Processes , 2011, IEEE Internet Computing.

[13]  Kishor S. Trivedi,et al.  A Systematic Differential Analysis for Fast and Robust Detection of Software Aging , 2014, 2014 IEEE 33rd International Symposium on Reliable Distributed Systems.

[14]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[15]  Ali Ghodsi,et al.  Eventual consistency today: limitations, extensions, and beyond , 2013, CACM.

[16]  Kang G. Shin,et al.  Adaptive control of virtualized resources in utility computing environments , 2007, EuroSys '07.

[17]  Daniel A. Menascé,et al.  QoS management in service-oriented architectures , 2007, Perform. Evaluation.

[18]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[19]  Francesc D. Muñoz-Escoí,et al.  Dynamic Switching of Total-Order Broadcast Protocols , 2010, PDPTA.

[20]  Michael Stonebraker,et al.  The Case for Shared Nothing , 1985, HPTS.

[21]  Stefanie Seiler Building Secure And Reliable Network Applications , 2016 .

[22]  Inderveer Chana,et al.  QoS-Aware Autonomic Resource Management in Cloud Computing , 2015, ACM Comput. Surv..

[23]  Dana Petcu,et al.  DEPAS: a decentralized probabilistic algorithm for auto-scaling , 2012, Computing.

[24]  Daniel A. Menascé,et al.  Resource Allocation for Autonomic Data Centers using Analytic Performance Models , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[25]  Xiaohui Gu,et al.  CloudScale: elastic resource scaling for multi-tenant cloud systems , 2011, SoCC.

[26]  Anees Shaikh,et al.  A Cost-Aware Elasticity Provisioning System for the Cloud , 2011, 2011 31st International Conference on Distributed Computing Systems.

[27]  Richard S. Sutton,et al.  Introduction to Reinforcement Learning , 1998 .

[28]  Gerald J. Popek,et al.  Formal requirements for virtualizable third generation architectures , 1974, SOSP '73.

[29]  Suganya Sridharan,et al.  A Performance Comparison of Hypervisors for Cloud Computing , 2012 .

[30]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[31]  Daniel A. Menascé,et al.  Autonomic Virtualized Environments , 2006, International Conference on Autonomic and Autonomous Systems (ICAS'06).

[32]  Anastasios Gounaris,et al.  Cloud Elasticity: A Survey , 2015, ALGOCLOUD.

[33]  Alexander Clemm,et al.  Integrated and autonomic cloud resource scaling , 2012, 2012 IEEE Network Operations and Management Symposium.

[34]  Philipp Reinecke,et al.  Evaluating the adaptivity of computing systems , 2010, Perform. Evaluation.

[35]  Schahram Dustdar,et al.  Monitoring, Prediction and Prevention of SLA Violations in Composite Services , 2010, 2010 IEEE International Conference on Web Services.

[36]  Robert Thomas,et al.  Maintenance of duplicate databases , 1975, RFC.

[37]  Christof Fetzer,et al.  DreamServer: Truly On-Demand Cloud Services , 2014, SYSTOR 2014.

[38]  Schahram Dustdar,et al.  Cloud resource provisioning and SLA enforcement via LoM2HiS framework , 2013, Concurr. Comput. Pract. Exp..

[39]  Pascal Bouvry,et al.  HPC Performance and Energy-Efficiency of Xen, KVM and VMware Hypervisors , 2013, 2013 25th International Symposium on Computer Architecture and High Performance Computing.

[40]  Luis Rodero-Merino,et al.  A break in the clouds: towards a cloud definition , 2008, CCRV.

[41]  Christophe Gravier,et al.  Survey of Elasticity Management Solutions in Cloud Computing , 2014 .

[42]  Christoph Meinel,et al.  Elastic VM for Cloud Resources Provisioning Optimization , 2011, ACC.

[43]  Joost-Pieter Katoen,et al.  Process algebra for performance evaluation , 2002, Theor. Comput. Sci..

[44]  Jeffrey S. Chase,et al.  Automated control in cloud computing: challenges and opportunities , 2009, ACDC '09.

[45]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 1998, IEEE Trans. Neural Networks.

[46]  David M. G. Wishart A Survey of Control Theory , 1969 .

[47]  B. Neuman Scale in Distributed Systems , 1994 .

[48]  Liming Zhu,et al.  Multi-objective Optimisation of Rolling Upgrade Allowing for Failures in Clouds , 2015, 2015 IEEE 34th Symposium on Reliable Distributed Systems (SRDS).

[49]  Toby Bloom,et al.  Reconfiguration and module replacement in Argus: theory and practice , 1993, Softw. Eng. J..

[50]  Don Marti,et al.  OSv - Optimizing the Operating System for Virtual Machines , 2014, USENIX Annual Technical Conference.

[51]  Rajkumar Buyya,et al.  Inter‐Cloud architectures and application brokering: taxonomy and survey , 2014, Softw. Pract. Exp..

[52]  Toby Bloom,et al.  Dynamic module replacement in a distributed programming system , 1983 .

[53]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[54]  Zhenhuan Gong,et al.  PRESS: PRedictive Elastic ReSource Scaling for cloud systems , 2010, 2010 International Conference on Network and Service Management.

[55]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[56]  Eric A. Brewer,et al.  Harvest, yield, and scalable tolerant systems , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[57]  Marianne Shaw,et al.  Rethinking the design of virtual machine monitors , 2005, Computer.

[58]  Chris Rose,et al.  A Break in the Clouds: Towards a Cloud Definition , 2011 .

[59]  Sérgio Duarte,et al.  Write Fast, Read in the Past: Causal Consistency for Client-Side Applications , 2015, Middleware.

[60]  Ajay D. Kshemkalyani,et al.  Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[61]  Kishor S. Trivedi,et al.  A methodology for detection and estimation of software aging , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[62]  Jignesh M. Patel,et al.  Towards Multi-Tenant Performance SLOs , 2014, IEEE Trans. Knowl. Data Eng..

[63]  Wei Li,et al.  Evaluating the impacts of dynamic reconfiguration on the QoS of running systems , 2011, J. Syst. Softw..

[64]  Schahram Dustdar,et al.  Testing Elastic Computing Systems , 2013, IEEE Internet Computing.

[65]  Jignesh M. Patel,et al.  Towards Multi-Tenant Performance SLOs , 2012, IEEE Transactions on Knowledge and Data Engineering.

[66]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[67]  Mohamed Mohamed,et al.  An autonomic approach to manage elasticity of business processes in the Cloud , 2015, Future Gener. Comput. Syst..

[68]  José Antonio Lozano,et al.  A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments , 2014, Journal of Grid Computing.

[69]  Junichi Suzuki,et al.  Evolutionary deployment optimization for service‐oriented clouds , 2011, Softw. Pract. Exp..

[70]  Carlos Kamienski,et al.  Elasticity Management in Private and Hybrid Clouds , 2014, 2014 IEEE 7th International Conference on Cloud Computing.

[71]  Daniel A. Menascé,et al.  Autonomic resource provisioning in cloud systems with availability goals , 2013, CAC.

[72]  Steven J. Vaughan-Nichols,et al.  New Approach to Virtualization Is a Lightweight , 2006, Computer.

[73]  Bruno Schulze,et al.  An Analysis of Public Clouds Elasticity in the Execution of Scientific Applications: a Survey , 2016, Journal of Grid Computing.

[74]  Artur Andrzejak,et al.  Detecting software aging in a cloud computing framework by comparing development versions , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[75]  Larry L. Peterson,et al.  Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors , 2007, EuroSys '07.

[76]  Eloy Romero,et al.  Self-managed cost-efficient virtual elastic clusters on hybrid Cloud infrastructures , 2016, Future Gener. Comput. Syst..

[77]  Kishor S. Trivedi,et al.  Ensuring the Performance of Apache HTTP Server Affected by Aging , 2014, IEEE Transactions on Dependable and Secure Computing.

[78]  C. U. Smith,et al.  The prediction and evaluation of the performance of software from extended design specifications , 1980 .

[79]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[80]  Thomas Lambolais,et al.  UML extensions for the specification and evaluation of latency constraints in architectural models , 2000, WOSP '00.

[81]  Moritz Hammer,et al.  How to touch a running system: reconfiguration of stateful components , 2009 .

[82]  Shriram Rajagopalan System support for elasticity and high availability , 2014 .

[83]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[84]  Liuba Shrira,et al.  Modular Software Upgrades for Distributed Systems , 2006, ECOOP.

[85]  Dragan Ivanovic,et al.  A sharing-based approach to supporting adaptation in service compositions , 2012, Computing.

[86]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[87]  Daniel Moldovan,et al.  ADVISE - A Framework for Evaluating Cloud Service Elasticity Behavior , 2014, ICSOC.

[88]  Jason Nieh,et al.  AutoPod: Unscheduled System Updates with Zero Data Loss , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[89]  Mohamed Mohamed,et al.  Generic monitoring and reconfiguration for service-based applications in the cloud. (Supervision et reconfiguration génériques des applications à base de service dans le nuage) , 2015 .

[90]  Francesc D. Muñoz-Escoí,et al.  Scalability approaches for causal multicast: a survey , 2016, Computing.

[91]  Juan Manuel García,et al.  A survey of migration mechanisms of virtual machines , 2014, CSUR.

[92]  Dilma Da Silva,et al.  System Support for Online Reconfiguration , 2003, USENIX Annual Technical Conference, General Track.

[93]  Mukesh Singhal,et al.  Readings in distributed computing systems , 1994 .

[94]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[95]  Miika Komu,et al.  Hypervisors vs. Lightweight Virtualization: A Performance Comparison , 2015, 2015 IEEE International Conference on Cloud Engineering.

[96]  Samuel Kounev,et al.  Elasticity in Cloud Computing: What It Is, and What It Is Not , 2013, ICAC.

[97]  Ignacio Blanquer,et al.  A Platform to Deploy Customized Scientific Virtual Infrastructures on the Cloud , 2014, 2014 6th International Workshop on Science Gateways.

[98]  Francesc D. Muñoz-Escoí,et al.  Performance Evaluation of a Metaprotocol for Database Replication Adaptability , 2009, 2009 28th IEEE International Symposium on Reliable Distributed Systems.

[99]  Elizabeth Chang,et al.  Conceptual SLA framework for cloud computing , 2010, 4th IEEE International Conference on Digital Ecosystems and Technologies.

[100]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[101]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[102]  Christof Fetzer,et al.  Scaling Non-elastic Applications Using Virtual Machines , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[103]  Ramakrishnan Rajamony,et al.  An updated performance comparison of virtual machines and Linux containers , 2015, 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[104]  Wouter Joosen,et al.  Middleware for Customizable Multi-staged Dynamic Upgrades of Multi-tenant SaaS Applications , 2015, 2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing (UCC).

[105]  Rajkumar Buyya,et al.  Software Rejuvenation Based Fault Tolerance Scheme for Cloud Applications , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[106]  CasalicchioEmiliano,et al.  Mechanisms for SLA provisioning in cloud-based service providers , 2013 .

[107]  Tao Li,et al.  ASAP: A Self-Adaptive Prediction System for Instant Cloud Resource Demand Provisioning , 2011, 2011 IEEE 11th International Conference on Data Mining.

[108]  Werner Vogels,et al.  Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability. , 2022 .

[109]  Zeratul Izzah,et al.  Composite SaaS resource management in cloud computing using evolutionary computation , 2013 .

[110]  Timothy Wood,et al.  A component-based performance comparison of four hypervisors , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[111]  Ricardo Bianchini,et al.  DejaVu: accelerating resource allocation in virtualized environments , 2012, ASPLOS XVII.

[112]  Hassan Abolhassani,et al.  A survey of dynamic software updating , 2013, J. Softw. Evol. Process..

[113]  Daniel A. Menascé Software, performance, or engineering? , 2002, WOSP '02.

[114]  Ali Ghodsi,et al.  Bolt-on causal consistency , 2013, SIGMOD '13.

[115]  Emanuel Ferreira Coutinho,et al.  Elasticity in cloud computing: a survey , 2014, annals of telecommunications - annales des télécommunications.

[116]  Emiliano Casalicchio,et al.  Mechanisms for SLA provisioning in cloud-based service providers , 2013, Comput. Networks.

[117]  Zaigham Mahmood Continued Rise of the Cloud: Advances and Trends in Cloud Computing , 2014 .

[118]  Daniel A. Menascé,et al.  Understanding Cloud Computing: Experimentation and Capacity Planning , 2009, Int. CMG Conference.

[119]  Tudor Dumitras,et al.  Cloud software upgrades: Challenges and opportunities , 2011, 2011 International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems.

[120]  Domenico Cotroneo,et al.  A survey of software aging and rejuvenation studies , 2014, ACM J. Emerg. Technol. Comput. Syst..

[121]  João Leitão,et al.  ChainReaction: a causal+ consistent datastore based on chain replication , 2013, EuroSys '13.

[122]  Rajkumar Buyya,et al.  Interconnected Cloud Computing Environments , 2014, ACM Comput. Surv..

[123]  Sameer Ajmani,et al.  Automatic software upgrades for distributed systems , 2004 .

[124]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[125]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

[126]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .