What is Happening?
Due to multiple drivers – most frequently, pursuit of reductions in operational costs – adoption of public cloud offerings is rapidly expanding among client enterprises. But disturbingly, in our ongoing research among clients, we find some enterprise IT executives belatedly learning that relatively under-publicized attributes of public cloud offerings are causing unnecessarily inflated costs for operating an application workload. Even more disturbingly, we are finding some enterprise IT executives are unaware of these attributes and their potential cost impacts. As a result, we estimate that as much as 50 percent of the workloads resident in public clouds are incurring unnecessary charges for infrastructure resources. These unnecessary charges mean inflated costs for enterprises and “windfall profits” for providers.
Why is it Happening?
The early days of public cloud adoption featured a concentrated focus on relatively low costs compared to using traditional dedicated enterprise infrastructure. Since those early days, trade press and industry pundits have largely maintained that original focus, often highlighting regular reductions by major public cloud providers in the cost of using a server or storage. As a result, many enterprise IT staffs and managers have not been alerted to the potential of inflated costs for using public cloud infrastructure offerings. However, during those same intervening years our research has identified the following factors that can yield the greatest unforeseen – and, often unrecognized – increases in the costs of operating an application workload on a public cloud offering. These include the following:
- Configuration Granularity or “Stair Steps.” Public cloud providers typically offer the ability to select specific resources including the number of servers, the number of CPU cores on each server, the amount of memory on each server, and the amount of storage (disk and/or solid state). This sounds easy; however, “the devil is in the details” and selecting a specific configuration may be challenging or even not possible. Example: Some public cloud providers offer a menu of pre-defined configurations that create “stair-step” configuration increments. Each “stair-step” typically brings an increase in multiple resource components. Moving from one pre-defined server configuration to another results in a different number of CPU cores, a different amount of memory, and a different amount of storage. This results in unnecessary costs when the infrastructure components of the required configuration does not closely align with those in a pre-defined configuration. The result is excessive costs for specific resources that may not be used to the extent paid for. Smaller pre-defined resource increments, or more pre-defined configurations, can provide more choices that in turn can reduce excessive costs.
- Pricing Details. There are less obvious – and, potentially substantial – costs that typically vary across cloud offerings and across geographies. These include costs that are likely not part of the conventional thinking within IT organizations. Thus, these costs are easily neglected when pricing Cloud-based offerings. Consider that when an application workload is executed on a traditional in-house dedicated infrastructure, the costs of the infrastructure are (except for some increase in electrical power consumption) already fixed and “sunk.” Increasing utilization of the IT infrastructure thus does not directly increase the cost of the infrastructure that was acquired and dedicated to that application workload. These factors are typically not measured or included in charge-back mechanisms. But when that same application workload is operated on a public cloud, usage of the infrastructure components is metered, and costs are incurred based on the provider’s price structure. Thus, consuming more processor time, accessing or updating data on disks, or transmitting data over a network may incur charges. Add to this the fact that providers have different pricing structures for data transmission, data storage, and data usage.
- Application Characteristics. Many enterprise applications morph through variations in requirements for infrastructure resources. Such variations result in peaks and valleys of IT infrastructure resources required to deliver desired performance levels such as transaction response time, or completion deadlines. The duration of the peaks and valleys as well as the differences between the magnitudes of the peaks and valleys are unique for every application workload. Establishing a fixed public cloud configuration of IT resources that satisfies the peak requirements for a variable workload will result in excessive costs for resources during the valleys. If the peaks are significantly greater than the valleys and the peaks are relatively short duration compared to the valleys, the excessive infrastructure costs can be substantial.
Cloud-based offerings provide valuable alternatives to traditional in-house IT infrastructures. Most enterprise IT staffs are capable of overcoming the technical challenges associated with selecting, migrating, and operating application workloads on public cloud infrastructures. However, it is quite easy for an enterprise IT organization to not address and mitigate factors that can result in inflated costs for using a public cloud.
We urge each enterprise IT team to do the following:
- Carefully evaluate and identify minimum IT infrastructure resources required to deliver required performance for each application workload. Match IT resource requirements as closely as possible with the configuration options from multiple cloud providers. Consider potential alternative sets of resource requirements (e.g., a smaller number of cores combined with a larger amount of memory) that could yield acceptable performance and sizeable reductions in overall costs.
- Do not overlook cost implications in provider pricing details. Understand that some rather substantial costs can be incurred as a result of rather innocuous decisions. E.g.: selecting a backup/recovery image in a different data center may incur data transmission charges; or, depending on the provider and type of storage selected, charges for data accesses may be incurred.
- For application workloads with wide variations in IT resource requirements, consider enhancements that will interface with the dynamic resource provisioning capability of the cloud infrastructure. By requesting dynamic provisioning and de-provisioning of infrastructure resources, the costs for operating the application workload can be minimized.
- Some public cloud providers offer tools on their websites to estimate costs for using their on-demand infrastructure. These tools are easy to use, but the user interfaces vary across providers. Alternatively, use of a tool such as provided by CloudGenera, Cloudorado, RightScale, or Unigma can provide comparative costs for multiple public cloud providers. We suggest exercising caution when using any cost estimator tool. Ensure that all required resources are included in the costs and note if any cloud provider’s pre-defined configuration stair steps are causing inflated costs.
- We strongly suggest regular/ongoing monitoring of the infrastructure resources consumed and costs incurred by application workloads. Investigation and remedial action are appropriate if actual resource consumption results in significantly higher costs than projected.