Many companies are interested in running their applications in a cloud computing environment. They are drawn by the potential of being able to scale an application up and down dynamically, using -- and paying -- for only the resources their application consumes.
However, many companies are not sure how to evaluate the costs of a cloud-based application. If the amount of resources devoted to the application can vary, how can an overall cost be assessed?
Here are five tips to help you evaluate the total cost of ownership (TCO) of a cloud computing application:
- Recognize that the total cost is comprised of a number of different cost streams. It is common for a cloud provider to charge for the amount of compute capacity, network traffic and storage. In addition, many cloud providers offer additional services that also carry a charge. For example, Amazon Web Services provides Elastic IP Addresses, which is essentially a permanent IP address that may be associated with an application. The twist is that you don't pay for when you're using an EIP, but when you're not using it.
- Assess the mix of cloud services your application will likely use. Some applications are very compute-intensive. Others do a small amount of processing across an enormous amount of data. Understanding the profile of your application to assign costs to the different cloud services will help you create a clearer TCO picture.
- Understand the role of application load. If the load on your application varies significantly, it probably will affect the number of compute instances you'll be using. As an example, applications that experience high load often scale horizontally; that is, they deploy multiple instances of the same functionality to reduce application bottlenecks. Calculate your TCO under a number of different application topologies to understand the costs under different loads.
- Understand the role of load variation. It's likely that your application will experience load variation, which is to say that some time periods will have much larger loads than others. Think end of the month, or Christmas. TCO calculations too often assume a static pattern of use. One way to address this is to explicitly assess TCO under different load patterns. Spreadsheet plug-ins that support Monte Carlo functionality are available to support the assessment of load variability.
- Look for accuracy, but not down to the penny, and demand a significant cost advantage. The goal of the evaluation is to develop a good understanding of a cloud application's TCO, but not to obsess down to the last penny. Getting a TCO number that is appropriate for most likely scenarios is the proper goal. And, because moving an application to a cloud environment imposes change, it makes sense to demand a minimum advantage for a cloud deployment to mitigate the work required for a cloud deployment. We recommend a 20% cost advantage be present before considering a cloud deployment.
If you keep these five guidelines in mind, they should go a long way to assisting you in developing a TCO for your cloud application.
ABOUT THE AUTHOR:
Bernard Golden is the CEO of HyperStratus, a Silicon Valley cloud computing consultancy which works with clients in the US and throughout the world. The firm's clients include Sensato Capital, Sun Microsystems, and the Silicon Valley Education Foundation. HyperStratus provides services in the areas of application security, system architecture and design, TCO analysis, and project implementation.
He is the Cloud Computing Advisor for CIO Magazine, heading one of their popular blogs. Bernard's writings on cloud computing have also been published by the New York Times and the Harvard Business Review, and he is the author of Virtualization for Dummies and the co-author of Creating the Infrastructure for Cloud Computing (Intel Press, 2010).