Enterprise applications cloud rightsizing through a joint benchmarking and optimization approach

https://doi.org/10.1016/j.future.2016.11.002Get rights and content

Highlights

  • A methodology and tools that support the design and migration of applications to Cloud.

  • The performance advertised by cloud providers is to be used carefully.

  • The proposed benchmark procedure for migrated Cloud applications leads to reduced costs.

Abstract

Migrating an application to the cloud environment requires non-functional properties consideration such as cost, performance and Quality of Service (QoS). Given the variety and the plethora of cloud offerings in addition with the consumption-based pricing models currently available in the cloud market, it is extremely complex to find the optimal deployment that fits the application requirements and provides the best QoS and cost trade-offs. In many cases the performance of these service offerings may vary depending on the congestion level, provider policies and how the application types that are intended to be executed upon them use the computing resources. A key challenge for customers before moving to Cloud is to know application behavior on cloud platforms in order to select the best-suited environment to host their application components in terms of performance and cost. In this paper, we propose a combined methodology and a set of tools that support the design and migration of enterprise applications to Cloud. Our tool chain includes: (i) the performance assessment of cloud services based on cloud benchmark results, (ii) a profiler/classifier mechanism that identifies the computing footprint of an arbitrary application and provides the best matching with a cloud service solution in terms of performance and cost, (iii) and a design space exploration tool, which is effective in identifying the deployment of minimum costs taking into account workload changes and providing QoS guarantees.

Introduction

Cloud computing is a disruptive phenomenon in ICT world, which has rapidly entered mainstream consciousness and gained a significant attention of various communities like researchers, business and government organization. It is obvious, in fact, that everyday services like Dropbox, Netflix or Instagram owe part of their success to the benefits of cloud such as the infinite number of resources, the ability to dynamically adapt (scale-up or scale down) accordingly to usage behaviors and the pay-as-you-go economical model.

With a rapidly increasing number of companies entering the cloud market and offering heterogeneous and constantly evolving technologies  [1] the process of software design and implementation experienced a deep change. On the one hand, the cloud has meant for developers providing advanced cloud-based tools and abstractions for development, collaboration and deployment. Dynamic systems capable to react to workload fluctuations by adapting themselves in order to keep the performance unchanged can easily built and run delegating to the cloud provider the intensive tasks of infrastructure management and maintenance. On the other hand, performance unpredictability and vendor lock-in are just some of the issues that developers have to face and prove significant barriers to widespread cloud adoption. In fact, the increasing size and complexity of software systems, combined with the wide range of services and prices available in the market, puts the designer before the necessity to evaluate a combinatorially growing number of design alternatives  [2] with the goal of finding a minimum-cost configuration that suits the application Quality of Service (QoS) requirements.

To carry out such a task, the system designer should consider a large number of alternatives and should be able to evaluate costs (that often depends on the application dynamics) and performance for each of them. This can be very challenging, even infeasible if performed manually, since the number of solutions may become extremely large depending on the number of possible providers and available technology stacks. What is more, in many cases the performance of these service offerings may vary depending on the application types that are intended to be executed upon them and their characteristics in terms of resource usage. Intensive RAM, CPU, disk or GPU usage may be toggled between applications that have different goals, such as scientific components, database instances or front ends.

A key challenge for customers before moving to Cloud, is to know application behavior on cloud platforms, in order to select the best-suited environment to host their application components in terms of performance and cost. In many cases the application owner might not be aware of how the migrated application component uses the available computing resources; for many application components the runtime behavior and usage of resources may not be known, mistakenly considered or altered due to structural changes during the software migration. On the other side, cloud providers might also be interested in knowing the application types hosted within their infrastructures to avoid interference effects of concurrently running VMs, which significantly degrade applications performance. Evaluating a specific and arbitrary application component over the entire range of offerings becomes a daunting task, especially when the deployment of the former may be subject to provider-specific or component-specific actions or code in each case. However, finding a more abstracted and common way for identifying both application profile and performance aspects of cloud environments may significantly reduce the effort needed in this task.

Finally, the performance characteristics of a cloud may change over time dramatically, depending on the congestion level, policies implemented by the cloud provider, and competition among running applications. Assessing the performance of an application in the cloud is a complex process that requires unbiased data and specialized models often implying skills that go beyond those commonly exhibited by software engineers. This situation calls for analytical techniques, models, application profiling and benchmarks that simplify the process of performance evaluation at design-time in order to support the user in the decision making process.

This work aims at proposing a methodology and a tool chain that support the migration and pricing scheme of enterprise applications to the cloud. Our tool chain exploits cloud benchmarking results and includes a profiler/classifier, which identifies the computational nature of a software component in a black box manner and a design space exploration tool, which is able to identify the cloud configuration of minimum cost fulfilling QOS constraints taking into account also daily workload patterns.

The remainder of the paper is organized as follows. In Section  2 an overview of the design methodology and the implemented tools are presented, while in Section  3 the benchmarking results acquisition is described. Section  4 introduces the profiling and classification tools, while Section  5 is devoted to the design time exploration tool. In Section  5 the experimental results achieved on a case study by combining and integrating the implemented tool chain are presented. In Section  7 related work in the respective fields is described. Conclusions are finally drawn in Section  8.

Section snippets

Overview of the design methodology and tools

The combined methodology of the tool chain appears in Fig. 1. Our approach along with the supporting tools, as an “all in one” solution allows the applications to exploit the offerings of the cloud providers in terms of performance and cost, taking into consideration their extracted computational behavior via profiling. The implemented methodology includes three phases: (i) Benchmarking (ii) Profiling and Classification and (iii) Assessment and Optimization phase.

Once the benchmark application

Cloud benchmarking

When considering the migration of existing applications to the cloud, it is critical to examine both the diversity of cloud providers and the varying performance issues of cloud services. Since there is an increasing number of providers offering cloud infrastructures and services a fair evaluation of such cloud systems is needed. System architects and developers have to tackle with this variety of services and trade-offs. Moreover, in some cases cloud providers offer their own metrics for

Profiling and classification mechanism

Selecting a cloud provider that offers the best environment to host an arbitrary application in terms of performance and cost is a difficult challenge. To address this issue, we present a generalized mechanism which identifies the computational profile of an arbitrary application component, classifies it according to an already known and limited number of application categories and provides the fitting cloud offering by using the SE metric. The benchmark application categories have been derived

QoS assessment and optimization

Design-time exploration is supported by SPACE4Cloud (System Performance and Cost Evaluation on Cloud), a multi-platform open-source application for the specification, assessment and optimization of QoS properties of cloud applications. In particular, this tool allows software architects to describe, analyze and optimize cloud applications following the Model-Driven Development approach. The modeling language supported by SPACE4Cloud is MODACloudsML  [5], which has been devised to describe cloud

Experimental analysis

In the following sections, we provide an in-depth description of a case study based on the HTTPAgent application as well as on the achieved results for its optimal design. Section  6.2 reports the results of our benchmarking activity, while Section  6.3 presents the profiling process that has been followed in order to obtain HTTPAgent and benchmark profiles. In Section  6.4 the classification process of HTTPAgent is described, providing the optimal cloud service solutions for different workload

Related work

Our work is related mainly with four research areas: cloud benchmarking, cloud applications performance assessment, application performance prediction on cloud and cloud applications design space exploration. With relation to benchmarking of cloud services, CloudHarmony  [28] and CloudSleuth  [29] are performance measurement tools that archive the test results and make them available for access through a web API. The former offers a vast number of customizable benchmarks and provides various

Conclusions

Understanding how an arbitrary application component uses the compute resources is critical for its migration to cloud environments. Furthermore, the ability to measure cloud services on a variety of different application types enabled us to abstract the process of service measurement and selection, avoiding repeating such analysis for each and every individual application component one needs to deploy. However, the optimal selection for a specific application deployment of an application to be

Acknowledgments

The research leading to these results is partially supported by the European Community Seventh Framework Programme ​(FP7/2007–2013) under grant agreement n. 317859, in the context of the ARTIST Project and under grant agreement n. 318484 in the context of the MODACLOUDS project.

Athanasia Evangelinou received her diploma in Electrical and Computer Engineering from the National Technical University of Athens (NTUA), Greece in 2012. She received her M.Sc. in Network-Oriented Information Systems from the Dept. of Digital Systems of the University of Piraeus, Greece in 2014. Currently she is a Ph.D. candidate at the Distributed Knowledge and Media Systems group of the School of Electrical and Computer Engineering (NTUA). Her research interests are in the area of Cloud

References (41)

  • Gartner Group. Hype Cycle for Cloud Computing, https://www.gartner.com/doc/2807621/hype-cycle-cloud-computing-,...
  • A. Koziolek et al.

    PerOpteryx: Automated application of tactics in multi-objective software architecture optimization

  • G. Kousiouris, G. Giammatteo, A. Evangelinou, N. Galante, E. Kevani, C. Stampoltas, A. Menychtas, A. Kopaneli, K....
  • G. Kousiouris, A. Evangelinou, D7.1- Definition and extension of performance stereotypes,...
  • N. Ferry et al.

    Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems

  • D. Franceschelli et al.

    Space4cloud: a tool for system performance and cost evaluation of cloud systems

  • M.A. Almeida da Silva, D. Ardagna, N. Ferry, J.F. Pérez, Model-Driven Design of Cloud Applications with...
  • S. Becker et al.

    The palladio component model for model-driven performance prediction

    J. Syst. Softw.

    (2009)
  • J. Rolia et al.

    The method of layers

    IEEE Trans. Softw. Eng.

    (1995)
  • J. Perez, G. Casale, Assessing SLA compliance from palladio component models. in: SYNASC 2013 Proc., Sept 2013, pp....
  • G. Franks et al.

    Enhanced modeling and solution of layered queueing networks

    IEEE Trans. Softw. Eng.

    (2009)
  • IBM ILOG CPLEX optimization studio....
  • D. Ardagna, G. Gibilisco, M. Ciavotta, A. Lavrentev, A multi-model optimization framework for the model driven design...
  • F. Glover

    Tabu search: part i

    ORSA J. Comput.

    (1989)
  • G. Casale et al.

    Blending randomness in closed queueing network models

    Perform. Eval.

    (2014)
  • G.P. Gibilisco, A Methodology and a Tool for QoS-Oriented Design of Multi-Cloud Applications. Ph.D. thesis...
  • SOFTEAM. Modelio. The open source modeling environment, https://www.modelio.org....
  • D. Ardagna et al.

    Adaptive service composition in flexible processes

    IEEE Trans. Softw. Eng.

    (2007)
  • DaCapo Benchmarking Suite:...
  • B.F. Cooper

    Benchmarking cloud serving systems with YCSB

  • Cited by (13)

    • A predictive approach for the efficient distribution of agent-based systems on a hybrid-cloud

      2018, Future Generation Computer Systems
      Citation Excerpt :

      In MAS, we consider the agent as the deeper level of detail in the deployment process. Compared to the defined granularities in [20,29–31,31] an agent is an active autonomous and continuously running entity that can be goal-oriented, mobile, communicative and flexible, to name a few. Such characteristics make the MAS different from the rest of the above applications types in the sense that:

    • Cloud forward: From distributed to complete computing

      2018, Future Generation Computer Systems
    • An integrated information lifecycle management framework for exploiting social network data to identify dynamic large crowd concentration events in smart cities applications

      2018, Future Generation Computer Systems
      Citation Excerpt :

      Alternatively relevant pre-calculations may take place, but given that there is no fixed time on the implementation of the user journey, this should be performed for practically every possible timeslot. For speeding up the calculation of the thresholds, sizing/modeling techniques (e.g. similar to the ones in [38,39]) could be used in order to investigate the resource needs of the specific subsystem. Following the analysis of the previous paragraphs, we can identify the list of protocols that the middleware logic needs to support per case/component and cooperation (Table 1).

    • Performance Experiences From Running An E-health Inference Process As FaaS Across Diverse Clusters

      2023, ICPE 2023 - Companion of the 2023 ACM/SPEC International Conference on Performance Engineering
    • Utility of Univariate Forecasting for Workload Metrics Predictions in Enterprise Applications

      2023, International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management, IC3K - Proceedings
    View all citing articles on Scopus

    Athanasia Evangelinou received her diploma in Electrical and Computer Engineering from the National Technical University of Athens (NTUA), Greece in 2012. She received her M.Sc. in Network-Oriented Information Systems from the Dept. of Digital Systems of the University of Piraeus, Greece in 2014. Currently she is a Ph.D. candidate at the Distributed Knowledge and Media Systems group of the School of Electrical and Computer Engineering (NTUA). Her research interests are in the area of Cloud Computing with emphasis on Cloud Performance analysis, Benchmarking and Optimization.

    Michele Ciavotta received the Ph.D. degree in Automation and Computer Science from Roma Tre, Italy in 2008. From 2012 he is Post doctoral Researcher at the Dipartimento di Elettronica Informazione and Bioingegneria at Politecnico di Milano. His research work focus on modeling and optimization of complex real-life problems mainly arising in the fields scheduling and planning, and more recently resource management for cloud-based and data intensive systems under constraints of quality of service.

    Danilo Ardagna is an Associate Professor at the Dipartimento di Elettronica Informazione and Bioingegneria at Politecnico di Milano. He received a Ph.D. degree in computer engineering in 2004 from Politecnico di Milano, from which he also graduated in December 2000. His work focuses on the design, prototype and evaluation of optimization algorithms for resource management and planning of cloud systems.

    Aliki Kopaneli received her diploma in Electrical and Computer Engineering from the National Technical University of Athens, Greece in 2012. She is a Ph.D. candidate at the Distributed Knowledge and Media Systems group of the School of Electrical and Computer Engineering (NTUA). Her research interests include Cloud Computing, Cloud Modeling, and Cloud Optimization. Currently she works as a software developer.

    George Kousiouris received his diploma in Electrical and Computer Engineering from the University of Patras, Greece in 2005 and his Ph.D. in Grid and Cloud computing from the Dept. of Electrical and Computer Engineering of the National Technical University of Athens in March 2012. Currently he is a post doctoral researcher for the Institute of Communication and Computer Systems (ICCS) of NTUA. His interests are mainly computational intelligence, Cloud computing, Service Level Agreements, Optimization, Artificial Intelligence and Web Services.

    Theodora A. Varvarigou is a full professor in the School of Electrical and Computer Engineering at the National Technical University of Athens. Her research interests include Semantic Web technologies, scheduling over distributed platforms, embedded systems, and cloud computing. Varvarigou received a Ph.D. in computer science from Stanford University.

    View full text