Infrastructure-Agnostic Resilience Benchmark Tool for Cloud Native Platforms
Total Page:16
File Type:pdf, Size:1020Kb
IAGREE: Infrastructure-agnostic Resilience Benchmark Tool for Cloud Native Platforms Paulo Souza1 a, Wagner Marques b,Romuloˆ Reis c and Tiago Ferreto d Polytechnic School, Pontifical Catholic University of Rio Grande do Sul, Ipiranga Avenue, 6681 - Building 32, Porto Alegre, Brazil Keywords: Cloud Computing, Cloud Native Platform, Resilience, Benchmark. Abstract: The cloud native approach is getting more and more popular with the proposal of decomposing application into small components called microservices, which are designed to minimize the costs with upgrades and maintenance and increase the resources usage efficiency. However, microservices architecture brings some challenges such as preserving the manageability of the platforms, since the greater the number of microservices the applications have, the greater the complexity of ensuring that everything is working as expected. In this context, one of the concerns is to evaluate the resilience of platforms. Current resilience benchmark tools are designed for running in specific infrastructures. Thus, in this paper we present IAGREE, a benchmark tool designed for measuring multiple resilience metrics in cloud native platforms based on Cloud Foundry and running upon any infrastructure. 1 INTRODUCTION able unit has shown to be a suitable solution for small systems. However, as the size of the application in- Cloud computing is becoming more and more popu- creases, tasks involving scaling or performing main- lar among multiple-sized organizations by providing tenance become more difficult due to challenges re- benefits such as commodity of running large-scale ap- lated to code readability and over-commitment to a plications with no need to care about issues involving specific technology stack. In this context, the Cloud local resources. Moreover, cloud also allows a better Native approach arises with the proposal of taking resources utilization through the pay-per-use pricing advantage of the microservices architecture to allow model, wherein cloud resources can be allocated and on-premises applications to fully exploit the benefits deallocated on demand, so users only have to pay for of cloud computing by decomposing applications into the resources they are actually being used (Nicoletti, microservices that could be deployed and scaled inde- 2016). By adopting such a strategy, customers avoid pendently and do not need to be built with the same issues related to underprovisioning, in cases when an technology stack (Balalaie et al., 2015). application gets more popular than expected result- Cloud native platforms offers an additional ab- ing in revenue losses due to not having the computing straction layer over the infrastructure by the adoption resources enough to meet the demand, or overprovi- of PaaS model. These platforms aim to simplify the sioning, where applications do not meet the expec- build, deployment, and management of cloud native tations, and the reserved resources end to not being applications. These kind of applications are designed used (Armbrust et al., 2010). to exploits the advantages of the cloud computing de- However, not every application architecture ex- livery model. ploits the maximum potential of cloud environments. Despite the benefits brought by cloud native, there For example, the monolithic architecture in which the are still concerns regarding topics like resilience, application logic is contained into a single deploy- which is the ability to deliver and maintain a certain level of service despite the failure of one or several a https://orcid.org/0000-0003-4945-3329 system components (Abbadi and Martin, 2011). Re- b https://orcid.org/0000-0003-3304-5611 silience issues in cloud services can lead to several c https://orcid.org/0000-0001-9949-3797 negative consequences, for example, system instabil- d https://orcid.org/0000-0001-8485-529X ity, bottlenecks or downtime caused by unexpected 396 Souza, P., Marques, W., Reis, R. and Ferreto, T. IAGREE: Infrastructure-agnostic Resilience Benchmark Tool for Cloud Native Platforms. DOI: 10.5220/0007728503960403 In Proceedings of the 9th International Conference on Cloud Computing and Services Science (CLOSER 2019), pages 396-403 ISBN: 978-989-758-365-0 Copyright c 2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved IAGREE: Infrastructure-agnostic Resilience Benchmark Tool for Cloud Native Platforms workload can lead to business revenue losses (CA 2 BACKGROUND Technologies, Inc, 2018). Moreover, applications without proper resilience schemes can demand con- Cloud computing consists of a model that provides siderable costs with repair and replacement of cloud ubiquitous, configurable, on-demand access to com- components or data loss (Vishwanath and Nagappan, puting resources which include networks, servers, 2010). In cases of applications that do not employ ef- storage, applications, and services through the Inter- ficient resilience schemes, these kinds of failures can net (Mell et al., 2011). It also provides cost reduc- cause SLAs violations, which can negatively affect all tion, since customers pay just for the resources that the levels of cloud consumers: Final customers will are consumed (Nicoletti, 2016). Due to these features, have problems with trying to access the cloud ser- many organizations employ cloud services to meet the vices, Cloud service providers will suffer customer peak demand in their applications through services in attrition, and cloud platform and cloud infrastructure the cloud (Gajbhiye and Shrivastva, 2014). providers will incur penalties for non-compliance of By dealing with on-premises software, customers the accorded SLAs. must manage all levels of abstraction to make their One of the possible steps to improve aspects such applications up and running, dealing with manners as resilience of a cloud native platform is monitor- of networking, storage, servers, runtimes, and so on. ing its behavior under different circumstances. In this On the other hand, cloud computing provides service context, benchmarks play a significant role, since they models that focus on delivering different levels of ab- can be used to measure and to compare different soft- straction to meet the needs of customers more effi- ware or hardware configurations. Besides, these tools ciently. can also be used to implement improvements at the platform based on collected metrics. Several bench- There are still many challenges in Cloud Comput- mark tools were proposed; however, there is a lack of ing. For instance, the interoperability among differ- benchmark tools designed to measure the resilience ent cloud services is still a big challenge. Also, Cloud of cloud native platforms. Computing is powered by virtualization, which pro- In this sense, this paper presents a bench- vides several independent instances of virtual execu- mark tool designed for measuring the resilience of tion platforms, often called virtual machines (VMs). cloud native platforms. Based on this purpose, we However, applications have lower performance on present the following contributions: VMs than on physical machines. The overhead gener- ated by the virtualization layer (hypervisor) is one of • A review of the benefits and challenges brought the leading concerns in the context of virtualized en- by the cloud native approach. vironments. Therefore, identifying and reducing such • A discussion around the relevance of measuring overhead has been the subject of several investiga- resilience in cloud native platforms and metrics tions (Li et al., 2017; SanWariya et al., 2016; Chen that can be analyzed to achieve this purpose. et al., 2015). • An infrastructure-agnostic resilience benchmark In this context, Cloud Native approach emerges tool to measure the resilience of cloud native plat- with the proposal of decomposing applications into forms based on Cloud Foundry. small components designed to operate independently called microservices. Each microservice is executed The remaining of this article is organized as fol- on a container, so its possible to upgrade or replace lows: In Section 2 we present the theoretical back- a microservice without having to modify the entire ground about some of the current topics on cloud application. Such modularity allows minimizing the computing such as the need for strategies, which is costs with upgrades and maintenance and increase addressed by approaches such as cloud native, that the resources usage efficiency (Amogh et al., 2017). aims to improve the resources usage efficiency of ap- On the other hand, running microservices in sepa- plications running on the cloud. In Section 3 we rated containers brings some challenges such as pre- present the proposed benchmark tool, which is val- serving the manageability of the platforms, since the idated in Section 4, where we present a Proof-of- higher the number of containers an applications has, Concept that includes the use of our proposal to per- the greater the complexity of ensuring everything is form experiments in a real-world cloud native plat- working as expected. Due to these challenges, there form. Then, in Section 5 we present other bench- is a concern on increasing the customers’ trust in the mark tools and compare them with our proposal, and services provided. in Section 6 we present final considerations and re- Service Level Agreements (SLAs) (which are search topics to be addressed in future researches. contractual agreements between service providers and its customers) play a significant role in this context, 397 CLOSER 2019