Elasticity in Cloud Computing: State of the Art and Research Challenges
This is a summary of the article Elasticity in Cloud Computing: State of the Art and Research Challenges written by Al-Dhuraibi, Fawaz Paraiso, Nabil Djarallah, Philippe Merle
Concepts and definitions:
=> Cloud computing: On-demand delivery of IT resources over the internet with pay-as-you-go pricing
=> Hypervisor: a virtualization technique that allows multiple operating systems to share a single hardware host in a way that each operating system appears to have its own independent resources.
=> Elasticity taxonomy: elasticity solutions build their mechanisms on dierent strategies, methods, and techniques. The solutions are classified according to the chosen configuration, scope, purpose, mode, method, architecture, and provider.
=> Auto-scaling: automation of the concept of scalability, which is the ability of the system to sustain increasing workloads by making use of additional resources.
=> Pod: group of containers that can be created, deployed, scheduled, and destroyed together
This article focuses on most aspects of the elasticity, and it particularly aims to shed light on the emerging container elasticity as well as the traditional virtual machine. Although many elasticity mechanisms have been proposed in the literature, this paper addresses broader classification of elasticity taxonomy. And it is also the first one that highlights elasticity of containers according to them.
1-What is elasticity?
The authors define elasticity as the ability of a system to add and remove resources such as CPU cores, memory, VM and container instance, “on the fly". The goal of this technique is to adapt to the load variation in real time. Therefore, they pinpoint 2 types of elasticity which are horizontal and vertical. Horizontal elasticity consists in adding or removing instances of computer resources while vertical elasticity increases or decreases characteristics of computing resources such as CPU, core, memory, and network bandwidth. Also, talking about elasticity leads to their fundamental characteristics. An elasticity solution must absolutely be scalable and efficient according to the authors.
领英推荐
2- Elasticity taxonomy
Now that they highly defined what elasticity is, they elaborate a broader classification based on different articles. They then classified the solutions according to the chosen Configuration (configurable or rigid), the Scope (application platform or the infrastructure), the Purpose (availability, energy, increase capacity, cost, performance), the Mode (reactive or predictive), the Architecture (whether centralized or decentralized) and finally the Provider (Single or Multiple).
3- Elasticity performance evaluation
The performance assessment of elastic cloud system is executed through experimental platforms which can be achieved using simulators, custom testbeds, or real cloud provider; workloads that can be synthetic or real, and by application benchmark.
4-Containerization
Most of cloud providers are also offering container-based virtualization since it is much more lightweight and resource efficient than VM-based virtualization. Containers isolate processes on the core-level of the operating system. The use of containers eliminates the hypervisor layer, redundant OS kernels, libraries, and binaries. Therefore, containers can drastically decrease the spin up time, and processing when compared to traditional VMs. Containers solve the issues of portability and consistency between environments. However, the use of containers arises security implications according to the authors. The user processes are indeed isolated on the shared OS, but it is very hard to provide the same level of isolation between containers as VMs do. They also notified that container orchestrator such as Docker lacks many functionalities. Speaking of container orchestrator, we can see that they identified many of them, but the most used remain Docker Swarm and Kubernetes. Docker and Rocket are the most recent used container technologies due to their enhanced features. Regarding the elasticity of containers, the article brings to the reader’s attention that the same mechanisms applied to the VMs can also be applied to containers. In other words, containers can be scaled horizontally and vertically. However, in order to use these mechanisms implemented in VMs, some modifications are sometimes needed.
5- Open issues and research challenges
Although elasticity has gained more popularity in the cloud computing world, they do have some open issue. Some of them are interoperability since it is difficult to use multiple clouds to provide resources due to the incompatibilities; billing granularity: cloud providers charge clients based on the resource consumption per fixed time unit (hour as a minimal billing time unit); resource availability: The resource offered by the cloud providers are limited, therefore, the elasticity of scaling resources is limited by the capacity of the cloud infrastructure; monitoring containers, container-based elasticity; combined elasticity between VMs and containers are still an open challenges and research perspective.
6- Conclusion
The key feature that makes cloud platforms attractive is elasticity. Elasticity provides resources according to the user needs in an optimal way. In this article, a comprehensive study about elasticity is provided for both VMs and Containers.
Guy-Hermann Adiko