Investigating the Impact of Deployment Configuration and User Demand on a Social Network Application in the Amazon EC2 Cloud (original) (raw)
Related papers
Prediction of cost and performance of cloud applications
International Journal of Cloud Computing, 2015
The pay-per-use business model is one of the key factors for the success of the cloud computing paradigm: resources are acquired only when needed and charged on the basis of their actual usage. The execution of applications in the cloud implies costs that depend on the usage of the leased resources and on the resource pricing model adopted by the providers. This paper presents a technique to evaluate the trade-o↵ between costs and performance of cloud applications through the use of benchmarks and simulation. Given a mOSAIC cloud application, it is possible to predict performance indexes and resource consumption under generic workloads. This makes it possible to choose the deployment on the resources of the provider that guarantees the desired performance levels and minimizes the costs for executing the application.
Performance Evaluation in a Cloud with the Provisioning of Different Resources Configurations
2014 IEEE World Congress on Services, 2014
Cloud computing is a computing style where resource providers can offer on-demand services in a transparent way and clients usually pay as they go. It introduces a new level of flexibility and scalability for IT users addressing challenges such as the rapid change in IT and the need to reduce cost and time of infrastructure management. However, to be able to offer QoS guarantees without limiting the number of accepted requests, providers must be able to dynamically adjust the available resources to serve requests. This dynamic resource management is not a trivial task, bringing its own challenges related to workload and performance modelling, and deployment and monitoring of applications on virtualised IT resources. An efficient mapping between resources and applications ensures workload balancing and good resource utilization and allows to meet the QoS levels required by clients. This paper presents a performance evaluation that considers different resource configurations in a cloud environment to define which dimension of resource scaling has real impact on client applications.
Impact of Resource Management and Scalability on performance of Cloud Applications - A Survey
International Journal of Computer Science, Engineering and Applications, 2016
Cloud computing facilitates service providers to rent their computing capabilities for deploying applications depending on user requirements. Applications of cloud have diverse composition, configuration and deployment requirements. Quantifying the performance of applications in Cloud computing environments is a challenging task. In this paper, we try to identify various parameters associated with performance of cloud applications and analyse the impact of resource management and scalability among them.
Cost-Aware Scalability of Applications in Public Clouds
2016 IEEE International Conference on Cloud Engineering (IC2E), 2016
Scalable applications deployed in public clouds can be built from a combination of custom software components and public cloud services. To meet performance and/or cost requirements, such applications can scale-out/in their components during run-time. When higher performance is required, new component instances can be deployed on newly allocated cloud services (e.g., virtual machines). When the instances are no longer needed, their services can be deallocated to decrease cost. However, public cloud services are usually billed over predefined time and/or usage intervals, e.g., per hour, per GB of I/O. Thus, it might not be cost efficient to scale-in public cloud applications at any moment in time, without considering their billing cycles. In this work we aid developers of scalable applications for public clouds to monitor their costs, and develop cost-aware scalability controllers. We introduce a model for capturing the pricing schemes of cloud services. Based on the model we determine and evaluate the application's costs depending on its used cloud services and their billing cycles. We further evaluate cost efficiency of cloud applications, analyzing which application component is cost efficient to deallocate and when. We evaluate our approach on a scalable platform for IoT, deployed in Flexiant 1 , one of the leading European public cloud providers. We show that cost-aware scalability can achieve higher application stability and performance, while reducing its operation costs.
Scaling the Performance and Cost for Elastic Cloud Web Services
Journal of Computing and Information Technology, 2013
Cloud computing is the latest evolution of computing where the IT resources are offered as services following the "pay-per-usage" pricing model. Cloud's scalability feature causes variable price for resources governed by the cloud service providers. Therefore, the cloud customers' main interest is whether the performance scales to the price for the leased resources in the cloud. In this paper we analyze the variable server load impact on the performance and the cost of two web services that utilize memory and CPU resources. In order to determine the real cost of the rented CPU resources, we experimented with different number of concurrent messages with different sizes. The results concerning the memory demanding web service show that the lowest cost is obtained when the web service is hosted on two CPUs, whereas the results concerning the web service which additionally utilizes CPU show that the lowest cost is achieved when it is hosted on one CPU and linearly rises with the resources.
Performance Evaluation of Popular Cloud IaaS Providers
2011
Cloud computing has become a compelling and emerging computing model for delivering and consuming on demand computing resources. In this paper, we study and compare the performance of three popular Cloud IaaS (Infrastructure as a Service) providers. These three popular Cloud IaaS providers include Amazon EC2, ElasticHosts, and BlueLock. The performance is studied in terms of execution time of CPU-bound processes, size of memory bandwidth, and speed of read write disk I/O. To make the comparison fair, we strived to create virtual server on each of the providers with similar hardware and system configurations. Experiment results show that the performance of these selected servers varies with regard to different benchmarks.
Estimating Resource Costs of Executing Data-Intensive Workloads in Public Clouds
The promise of "infinite" resources given by the cloud computing paradigm has led to recent interest in exploiting clouds for large-scale data-intensive computing. In this paper, we present a analytical model to estimate the resource costs for executing data-intensive workloads in a public cloud. The cost model quantifies the cost-effectiveness of a resource configuration for a given workload with consumer performance requirements expressed as Service Level Agreements (SLAs), and is a key component of a larger framework for resource provisioning in clouds. We instantiate the cost model for the Amazon cloud, and experimentally evaluate the impact of key factors on the accuracy of the model.
Future Generation Computer Systems, 2013
Cloud computing provides on-demand access to computational resources which together with pay-peruse 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 payper-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 multitenancy, thus creating a cost-effective scalable environment. (J. Espadas).
Defining and Quantifying Elasticity of Resources in Cloud Computing and Scalable Platforms
2011
Elasticity is the ability of a software system to dynamically scale the amount of the resources it provides to clients as their workloads increase or decrease. Elasticity is praised as a key advantage of cloud computing, where computing resources are dynamically added and released. However, there exists no concise or formal definition of elasticity, and thus no approaches to quantify it have been developed so far. Existing work on cloud computing is limited to the technical view of implementing elastic systems, and definitions or scalability have not been extended to cover elasticity. In this report, we present a detailed discussion of elasticity, propose techniques for quantifying and measuring it, and outline next steps to be taken for enabling comparisons between cloud computing offerings on the basis of elasticity. We also present preliminary work on measuring elasticity of resource pools provided by the Java Virtual Machine.
On the performance variability of production cloud services
Cluster, Cloud and Grid …, 2011
Cloud computing is an emerging infrastructure paradigm that promises to eliminate the need for companies to maintain expensive computing hardware. Through the use of virtualization and resource time-sharing, clouds address with a single set of physical resources a large user base with diverse needs. Thus, clouds have the potential to provide their owners the benefits of an economy of scale and, at the same time, become an alternative for both the industry and the scientific community to self-owned clusters, grids, and parallel production environments. For this potential to become reality, the first generation of commercial clouds need to be proven to be dependable. In this work we analyze the dependability of cloud services. Towards this end, we analyze long-term performance traces from Amazon Web Services and Google App Engine, currently two of the largest commercial clouds in production. We find that the performance of about half of the cloud services we investigate exhibits yearly and daily patterns, but also that most services have periods of especially stable performance. Last, through trace-based simulation we assess the impact of the variability observed for the studied cloud services on three large-scale applications, job execution in scientific computing, virtual goods trading in social networks, and state management in social gaming. We show that the impact of performance variability depends on the application, and give evidence that performance variability can be an important factor in cloud provider selection.