A tenant-based resource allocation model for scaling Software-as-a-Service applications over cloud computing infrastructures
- Additional Document Info
- View All
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. © 2011 Elsevier B.V. All rights reserved.