A tenant-based resource allocation model for scaling Software-as-a-Service applications over cloud computing infrastructures

Cloud computing provides on-demand access to computational resources which together with pay-per-use business models, enable application providers seamlessly scaling their services. Cloud computing infrastructures allow creating a variable number of virtual machine instances depending on the application demands. An attractive capability for Software-as-a-Service (SaaS) providers is having the potential to scale up or down application resources to only consume and pay for the resources that are really required at some point in time; if done correctly, it will be less expensive than running on regular hardware by traditional hosting. However, even when large-scale applications are deployed over pay-per-use cloud high-performance infrastructures, cost-effective scalability is not achieved because idle processes and resources (CPU, memory) are unused but charged to application providers. Over and under provisioning of cloud resources are still unsolved issues. Even if peak loads can be successfully predicted, without an effective elasticity model, costly resources are wasted during nonpeak times (underutilization) or revenues from potential customers are lost after experiencing poor service (saturation). This work attempts to establish formal measurements for under and over provisioning of virtualized resources in cloud infrastructures, specifically for SaaS platform deployments and proposes a resource allocation model to deploy SaaS applications over cloud computing platforms by taking into account their multi-tenancy, thus creating a cost-effective scalable environment. Highlights? Overutilization occurs when resource utilization gets above the point of exhaustion. ? Underutilization is the amount of resources that can be allocated within other VMs. ? Tenant-based isolation is achieved through authentication and persistence layers. ? Tenant-based allocation determines the minimum number of VM instances for workload. ? Load balancer distributes requests based on tenant context and VM availability.

[1]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[2]  D. C. Vanderster,et al.  Resource allocation and scheduling strategies using utility and the knapsack problem on computational grids , 2008 .

[3]  Jeff Sedayao Implementing and operating an internet scale distributed application using service oriented architecture principles and cloud computing infrastructure , 2008, iiWAS.

[4]  Francis C. M. Lau,et al.  Load balancing in parallel computers - theory and practice , 1996, The Kluwer international series in engineering and computer science.

[5]  Andy Zaidman,et al.  How Webmining and Coupling Metrics Improve Early Program Comprehension , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[6]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[7]  Nikitas J. Dimopoulos,et al.  Resource allocation on computational grids using a utility model and the knapsack problem , 2009, Future Gener. Comput. Syst..

[8]  Anurag Kumar,et al.  Adaptive Optimal Load Balancing in a Nonhomogeneous Multiserver System with a Central Job Scheduler , 1990, IEEE Trans. Computers.

[9]  Nikitas J. Dimopoulos,et al.  Resource management and knapsack formulations on the grid , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[10]  Chita R. Das,et al.  Towards characterizing cloud backend workloads: insights from Google compute clusters , 2010, PERV.

[11]  Davide Rossi,et al.  SLA-Driven Clustering of QoS-Aware Application Servers , 2007, IEEE Transactions on Software Engineering.

[12]  Ruay-Shiung Chang,et al.  A new mechanism for resource monitoring in Grid computing , 2009, Future Gener. Comput. Syst..

[13]  Eddy Caron,et al.  Cloud Computing Resource Management through a Grid Middleware: A Case Study with DIET and Eucalyptus , 2009, 2009 IEEE International Conference on Cloud Computing.

[14]  Dmytro Dyachuk,et al.  A Solution to Resource Underutilization for Web Services Hosted in the Cloud , 2009, OTM Conferences.

[15]  Khin Mar Lar Tun,et al.  A Framework of Using Mobile Agent to Achieve Efficient Load Balancing in Cluster , 2005, 6th Asia-Pacific Symposium on Information and Telecommunication Technologies.

[16]  Robert M. Keller,et al.  The Gradient Model Load Balancing Method , 1987, IEEE Transactions on Software Engineering.

[17]  Thomas Kwok,et al.  A Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application , 2008, 2008 IEEE International Conference on Services Computing.

[18]  Domenico Ferrari,et al.  An Empirical Investigation of Load Indices for Load Balancing Applications , 1987, Performance.

[19]  Wei Sun,et al.  Software as a Service: Configuration and Customization Perspectives , 2008, 2008 IEEE Congress on Services Part II (services-2 2008).

[20]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[21]  B. John Oommen,et al.  Learning Automata-Based Solutions to the Nonlinear Fractional Knapsack Problem With Applications to Optimal Resource Allocation , 2007, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[22]  Ke Zhang,et al.  An End-to-End Methodology and Toolkit for Fine Granularity SaaS-ization , 2009, 2009 IEEE International Conference on Cloud Computing.

[23]  Ricardo Andrés Bolaños Ocampo,et al.  Multiobjective knapsack problem using NSGA-II algorithm , 2008 .

[24]  Huan Liu,et al.  Client-side load balancer using cloud , 2010, SAC '10.

[25]  Frank Leymann,et al.  Defining Composite Configurable SaaS Application Packages Using SCA, Variability Descriptors and Multi-tenancy Patterns , 2008, 2008 Third International Conference on Internet and Web Applications and Services.

[26]  Liam Murphy,et al.  Introducing performance engineering by means of tools and practical exercises , 2006, CASCON.

[27]  Li Zhao,et al.  VM3: Measuring, modeling and managing VM shared resources , 2009, Comput. Networks.

[28]  Shaozi Li,et al.  Research on self-adaptive load balancing in EJB clustering system , 2008, 2008 3rd International Conference on Intelligent System and Knowledge Engineering.

[29]  Min-You Wu,et al.  Runtime Incremental Parallel Scheduling (RIPS) on Distributed Memory Computers , 1996, IEEE Trans. Parallel Distributed Syst..

[30]  Henri Casanova,et al.  Resource allocation algorithms for virtualized service hosting platforms , 2010, J. Parallel Distributed Comput..

[31]  Bruno Schulze,et al.  Using clouds to address grid limitations , 2008, MGC '08.

[32]  Richard Wolski,et al.  The Eucalyptus Open-Source Cloud-Computing System , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[33]  Marin Litoiu,et al.  Resource provisioning for cloud computing , 2009, CASCON.

[34]  Ayman Kayssi,et al.  FPGA-based load balancer for Internet servers , 2002, The 14th International Conference on Microelectronics,.

[35]  Christian Baun,et al.  Building a private cloud with Eucalyptus , 2009, 2009 5th IEEE International Conference on E-Science Workshops.

[36]  Thomas Kunz,et al.  The Influence of Different Workload Descriptions on a Heuristic Load Balancing Scheme , 1991, IEEE Trans. Software Eng..

[37]  Remi Badonnel,et al.  Automating the Provisioning of Application Services with the BPEL4WS Workflow Language , 2004, DSOM.

[38]  Jianxin Li,et al.  An Efficient Resource Management System for On-Line Virtual Cluster Provision , 2009, 2009 IEEE International Conference on Cloud Computing.

[39]  Richard Olejnik,et al.  A Java CPU calibration tool for load balancing in distributed applications , 2004, Third International Symposium on Parallel and Distributed Computing/Third International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks.

[40]  Stephen A. Jarvis,et al.  Grid load balancing using intelligent agents , 2005, Future Gener. Comput. Syst..

[41]  Bo Gao,et al.  A Framework for Native Multi-Tenancy Application Development and Management , 2007, The 9th IEEE International Conference on E-Commerce Technology and The 4th IEEE International Conference on Enterprise Computing, E-Commerce and E-Services (CEC-EEE 2007).

[42]  Arturo Molina,et al.  Application Development over Software-as-a-Service Platforms , 2008, 2008 The Third International Conference on Software Engineering Advances.

[43]  Jie Yang,et al.  A Profile-Based Approach to Just-in-Time Scalability for Cloud Applications , 2009, 2009 IEEE International Conference on Cloud Computing.

[44]  Frank Leymann,et al.  Variability modeling to support customization and deployment of multi-tenant-aware Software as a Service applications , 2009, 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems.

[45]  Paolo Bientinesi,et al.  Underutilizing Resources for HPC on Clouds , 2010 .

[46]  Ying Zhang,et al.  Integrating Resource Consumption and Allocation for Infrastructure Resources on-Demand , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[47]  Eric Bouillet,et al.  Efficient resource provisioning in compute clouds via VM multiplexing , 2010, ICAC '10.

[48]  Yuan Zhou,et al.  Supporting Database Applications as a Service , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[49]  Torsten Grust,et al.  Multi-tenant databases for software as a service: schema-mapping techniques , 2008, SIGMOD Conference.

[50]  Qin Li,et al.  CIVIC: a Hypervisor based Virtual Computing Environment , 2007, 2007 International Conference on Parallel Processing Workshops (ICPPW 2007).

[51]  Samuel Kounev,et al.  Performance tuning and optimization of J2EE applications on the JBoss platform , 2004 .

[52]  Yan Wang,et al.  Performance Testing and Optimization of J2EE-Based Web Applications , 2010, 2010 Second International Workshop on Education Technology and Computer Science.

[53]  Yvonne Coady,et al.  Virtualized recomposition: Cloudy or clear? , 2009, 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing.