Autonomic Vertical Elasticity of Docker Containers with ELASTICDOCKER

Elasticity is the key feature of cloud computing to scale computing resources according to application workloads timely. In the literature as well as in industrial products, much attention was given to the elasticity of virtual machines, but much less to the elasticity of containers. However, containers are the new trend for packaging and deploying microservices-based applications. Moreover, most of approaches focus on horizontal elasticity, fewer works address vertical elasticity. In this paper, we propose ELASTICDOCKER, the first system powering vertical elasticity of Docker containers autonomously. Based on the well-known IBM's autonomic computing MAPE-K principles, ELASTICDOCKER scales up and down both CPU and memory assigned to each container according to the application workload. As vertical elasticity is limited to the host machine capacity, ELASTICDOCKER does container live migration when there is no enough resources on the hosting machine. Our experiments show that ELASTICDOCKER helps to reduce expenses for container customers, make better resource utilization for container providers, and improve Quality of Experience for application end-users. In addition, based on the observed migration performance metrics, the experiments reveal a high efficient live migration technique. As compared to horizontal elasticity, ELASTICDOCKER outperforms Kubernetes elasticity by 37.63%.

[1]  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).

[2]  Oh-Young Kwon,et al.  Performance Comparison Analysis of Linux Container and Virtual Machine for Building Cloud , 2014 .

[3]  Chen Yang Checkpoint and Restoration of Micro-service in Docker Containers , 2015 .

[4]  Luciano Baresi,et al.  A discrete-time feedback controller for containerized cloud applications , 2016, SIGSOFT FSE.

[5]  Michela Taufer,et al.  Dynamic CPU Resource Allocation in Containerized Cloud Environments , 2015, 2015 IEEE International Conference on Cluster Computing.

[6]  Gordon S. Blair,et al.  MultiBox: Lightweight Containers for Vendor-Independent Multi-cloud Deployments , 2015, EGC.

[7]  Chuanqi Kan,et al.  DoCloud: An elastic cloud platform for Web applications based on Docker , 2016, 2016 18th International Conference on Advanced Communication Technology (ICACT).

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

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

[10]  Priyanka P. Kukade Auto-Scaling of Micro-Services Using Containerization , 2015 .

[11]  Sam Newman,et al.  Building Microservices , 2015 .

[12]  Erik Elmroth,et al.  Coordinating CPU and Memory Elasticity Controllers to Meet Service Response Time Constraints , 2015, 2015 International Conference on Cloud and Autonomic Computing.

[13]  Erik Elmroth,et al.  Towards Faster Response Time Models for Vertical Elasticity , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[14]  Liming Zhu,et al.  Four-Fold Auto-Scaling on a Contemporary Deployment Platform Using Docker Containers , 2015, ICSOC.

[15]  Ming Mao,et al.  A Performance Study on the VM Startup Time in the Cloud , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[16]  Philippe Merle,et al.  soCloud: a service-oriented component-based PaaS for managing portability, provisioning, elasticity, and high availability across multiple clouds , 2014, Computing.

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

[18]  Philippe Merle,et al.  Model-Driven Management of Docker Containers , 2016, 2016 IEEE 9th International Conference on Cloud Computing (CLOUD).

[19]  Yang Chen,et al.  Checkpoint and Restore of Micro-service in Docker Containers , 2015, ICM 2015.

[20]  Christoph Meinel,et al.  Elastic Virtual Machine for Fine-Grained Cloud Resource Provisioning , 2011 .