To Move or Not to Move: The Economics of Cloud Computing

Abstract

Cloud-based hosting promises cost advantages over conventional in-house (on-premise) application deployment. One important question when considering a move to the cloud is whether it makes sense for 'my' application to migrate to the cloud. This question is challenging to answer due to following reasons. Although many potential benefits of migrating to the cloud can be enumerated, some benefits may not apply to 'my' application. Also, there can be multiple ways in which an application might make use of the facilities offered by cloud providers. Answering these questions requires an in-depth understanding of the cost implications of all the possible choices specific to 'my' circumstances. In this study we identify an initial set of key factors affecting the costs of a deployement choice. Using benchmarks representing two different applications (TPC-W and TPC-E) we investigate the evolution of costs for different deployment choices. We show that application characteristics such as workload intensity, growth rate, storage capacity and software licensing costs produce complex combined effect on overall costs. We also discuss issues regarding workload variance and horizontal partitioning.

1. Introduction

Cloud-based hosting promises several advantages over conventional in-house (on-premise) application deployment. (i) Ease-of-management (although arguments against this have also been made [6]): since the cloud provider assumes management-related responsibilities, the customer is relieved of this burden and can focus on its core expertise. (ii) Cap-ex savings: it eliminates the need for purchasing infrastructure; this may translate into lowering the business entry barrier. (iii) Op-ex reduction: elimination of the need to pay for salaries, utility electricity bills, real-estate rents/mortgages, etc. One oft-touted aspect of Op-ex savings concerns the ability of customer's Op-ex to closely match its evolving resource needs (via usage-based charging) as opposed to depending on its worst-case needs.

The quintessential question when considering a move to the cloud is: should I migrate my application to the cloud? Whereas there have been several studies into this
question [1, 7, 14], there is no consensus yet on whether the cost of cloud-based hosting is attractive enough compared to in-house hosting. There are several aspects to this basic 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. For example, benefits related to lowered entry barrier may not apply as much to an organization with a pre-existing infrastructural and administrative base. 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 my circumstances. Given that these answers can vary widely across applications, organizations, and cloud providers, we believe the best way is to explore various applications case-by-case in an attempt to draw generalities or useful rule-of-thumbs. This paper represents our first step towards this endeavor and we make the following contributions.

We identify an initial set of key factors affecting the costs of a deployment choice (in-house, cloud, and combinations). We classify these as "quantifiable" and "less
quantifiable" based on how amenable they are to precise quantification. We also classify costs into the wellregarded "direct" and "indirect" categories: the former's contribution to the cost can be easily traced and accounted (e.g., server costs) while the latter's contribution may be ambiguous and require more meticulous accounting (e.g., cooling costs).

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 "vertical" and "horizontal" ways of partitioning an application, each with its own pros and cons.

2. Background and Overview

Dr. Bhuvan Urgaonkar, PhD has over 15 years of experience in the field of Software Engineering and Computers. His work includes research in computer systems software, distributed computing (including systems such as Zookeeper, Redis, Memcached, Cassandra, Kafka), datacenters, cloud computing, storage systems, energy efficiency of computers and datacenters, big data (including systems such as Hadoop, Spark). He serves as an expert / technical consultant with multiple firms helping them (i) understand technical content related to state of the art products in areas such as content distribution, distributed computing, datacenter design, among others and (ii) interpret patents in these areas and connections between them and state of the art products and services. Services are available to law firms, government agencies, schools, firms / corporations, and hospitals.