Will cloud-based hosting be economically feasible for any given application if it migrated into the cloud? It is not straightforward to answer this question.
Cloud-based hosting presents many advantages over traditional in-house (on-premise) hosting such as better scalability, ease of management, and cost savings. It is not difficult to understand how cloud-based hosting can be used to address some of the existing limitations and extend the capabilities of many type of applications. However, one of the most important questions is whether cloud-based hosting will be economically feasible for any given application if it migrated into the cloud. It is not straightforward to answer this question because it is not clear how an application will benefit from the claimed advantages, and, in turn, be able to convert them into tangible cost savings. Within cloud-based hosting offerings, there is a wide range of hosting options one can choose from, each impacting the cost in a different way. Answering these questions requires an in-depth understanding of the cost implications of all the possible choices specific to an application’s circumstances.
In this study we identify a diverse set of key factors affecting the costs of deployment choices. Using benchmarks representing two different applications (TPC-W and TPC-E) we investigate the evolution of costs for different deployment choices. We consider important application characteristics such as workload intensity, growth rate, traffic size, storage and software license to understand their impact on the overall costs. We also discuss the impact of workload variance and cloud elasticity, and certain cost factors that are subjective in nature.
[su_pullquote]Cloud-based hosting presents many advantages over traditional in-house (on-premise) hosting such as better scalability, ease of management, and cost savings.[/su_pullquote]
Application migration to the Cloud
Cloud-based hosting promises several advantages over conventional in-house (on-premise) application deployment. First, it offers ease-of-management since the cloud provider assumes management-related responsibilities, (e.g., procurement, upgrades, and maintenance of hardware/software), thus the customer is relieved of this burden and can focus on its core expertise. Second, it offers capex (capital expenditure) savings. It eliminates the need for purchasing the entire infrastructure. This may translate into lowering the business entry barrier for some organizations. Cloud’s elasticity and high scalability enables customers to operate their applications at higher regions than it was possible with existing in-house infrastructure. Third, it can offer opex(operational expenditure) reduction. This can result from elimination of the need to pay for salaries, utility electricity bills, real-estate rents/mortgages, etc. One aspect of opex savings concerns the ability of customer’s opex to closely match its evolving resource needs via usage-based charging as opposed to provisioning the worst-case needs. There are also other important benefits such as fast-time-to-market and potential increase in reliability.
The most fundamental question in regards to cost savings is whether it makes sense for any given application to move to the cloud. There has been a general belief that the cloud would be more economical due to pay-as-you-go pricing models and the cloud’s capability to match the resource requirements. However, as more factors are taken into the picture, it becomes significantly difficult to answer this question. For example, it is not straightforward to estimate how many and what type of cloud instances to purchase as there is no information about how an application will perform on them. There is also an overwhelming number of cloud-based hosting options and cloud providers, each with different capacities and pricing schemes. For these reasons, there is no consensus yet on whether the cost of cloud-based hosting is efficient enough compared to in-house hosting. There are several aspects to this question that must be considered. First, although many potential benefits of migrating to the cloud can be enumerated for the general case, some benefits may not apply to my application. Second, there can be multiple ways in which an application might make use of the facilities offered by a cloud provider. For example, using the cloud need not preclude a continued use of in-house infrastructure. The most cost-effective approach for an organization might, in fact, involve a combination of cloud and in-house resources rather than choosing one over the other. Third, not all elements of the overall cost consideration may be equally easy to quantify. For example, the hardware resource needs and associated costs may be reasonably straightforward to estimate and compare across different hosting options. On the other hand, labor costs may be significantly more complicated: e.g., how should the overall administrators’ salaries in an organization be apportioned among various applications that they manage?
Answering these questions requires an in-depth understanding of the cost implications of all the possible choices specific to the application’s circumstances. Given that these answers can vary widely across applications, organizations, and cloud providers, the best way is to explore various applications case-by-case in an attempt to draw generalities or useful rule-of-thumbs. We first identify an initial set of key factors affecting the costs of deployment options. Besides the two extreme deployment choices of pure in-house and pure cloud-based hosting available to an application, we identify a spectrum of hybrid choices that can offer the best of both worlds. Our hybrid choices capture both “component based” and “workload-based” ways of partitioning an application, each with its own pros and cons. Using benchmarks representing two different “commercial like” applications (built using open-source vs. licensed software), cloud offerings (IaaS vs. SaaS), and workload characteristics (stagnant vs. growing, “bursty” or otherwise) we present the evolution of costs for different deploment choices.
[su_pullquote]Does it make sense for any given application to move to the cloud? As more factors are taken into the picture, it becomes significantly difficult to answer this question.[/su_pullquote]
Summary of insights and further thoughts
Application characteristics such as workload intensity, growth rate, storage capacity and software licensing costs produce complex combined effect on overall costs. We have also explained issues regarding workload variance and workload-based partitioning. We find that (i) complete migration to today’s cloud is appealing only for small/stagnant businesses/organizations, (ii) component-based partitioning options are expensive due to high costs of data transfer, and (iii) workload-based partitioning options can offer the best of in-house and cloud deployment for certain applications.
Our cost analysis of various hosting options using benchmark applications suggests a couple of points. First, the general cost trend of cloud-based hosting will be an increasing curve over time and the slope is sensitive to the workload size. On the other hand, the cost of in-house hosting tends to be more flat and stable. This implies that initial cost of in-house and cloud-based hosting options provide a rough indication of whether there will be a cross-over point or not. If the cost of cloud-based hosting is cheaper than in-house at year 1, there is a good chance that cloud-based hosting may become more expensive in the future. Therefore, if this happens, it is recommended to carry out detailed cost analysis by incorporating more accurate projections of workloads and taking into account various factor as we have shown in this study.
[su_pullquote]Cloud based hosting is not always more economical than the in-house hosting even under cloud’s pay-as-you-go charging model and elasticity.[/su_pullquote]
Second, the decision of application migration to the cloud should be a periodic task, rather than a one time activity at the beginning of application deployment. This is because many conditions constantly change over the course of operating the applications. Cloud service providers introduce new pricing models and new type of services that might affect the way applications are being hosted. In order to make reasonably accurate assessments, users have to understand the implication of newly introduced services and pricing models. It is likely that new cloud services or features will be more economical since cloud providers actively try to enhance their services in order to stay ahead of competition. The application characteristics may also change. As time passes, the workload growth rate or the degree of workload variance may deviate from the earlier projections and they need to be adjusted.
Overall, we learn that answering the question of whether to migrate the application to the cloud or not is not a simple task. The difficulty lies in understanding the complexities of application characteristics as well as diversities of available cloud services. However, we do confirm from this study that cloud based hosting is not always more economical than the in-house hosting even under cloud’s pay-as-you-go charging model and elasticity. Incorrect decision of hosting options may incur the costs that are several times higher than necessary. Future direction of our study is to develop a framework that can incorporate wider range of cost factors that are ‘less quantifiable’ and application types.
About the authors
Byung Chul Tak is a Ph.D candidate of computer sicence and engineering at the Pennsylvania State University. He joined Penn State as a Ph.D student in the Fall of 2006. Prior to joining Penn State, he worked as a researcher in the Electronics and Telecommunications Research Institute (ETRI), Daejeon, Korea. His research interest includes virtualization, operating systems and cloud computing. Current research focus is on developing accurate resource accounting frameworks of user applications in virtualized environment.
Bhuvan Urgaonkaris an associate professor in the department of computer science and engineering at the Pennsylvania State University. He is a recipient of the NSF CAREER Award, research awards from HP Labs and Cisco, and has co-authored best student papers at IEEE MASCOTS 2008 and ICAC 2005 conferences. His research involves applying ideas from distributed computing, resource management, scheduling, performance evaluation, and analytical modeling to the design and evaluation of data centers, networked systems, operating systems, virtualization techniques, and storage systems.
Anand Sivasubramaniamis a professor at CSE (Computer Science and Engineering) department, Penn State University. Dr. Sivasubramaniam’s research interests are in designing, implementing, evaluating and tuning computer systems that span the spectrum of application domains from high performance clusters and shared memory multiprocessors, to embedded resource-constrained systems. His research has been funded by several NSF grants, including the CAREER award, a grant from the EPA, and gifts from industries including, IBM, Microsoft, and Unisys Corp. He is a recipient of an IBM Faculty Award. In 2010, he has been named a Distinguished Scientist by the Association for Computing Machinery (ACM).