Blog.strom.com
Understanding and managing the cost of the cloud
By David Strom
Introduction
While computing in the cloud can cost less than running servers in your enterprise data center, the question of how much less isn’t an easy one to answer. Like a 1960s-era car salesman, cloud service providers do a great job of hiding the actual numbers and instead presenting buyers with long, confusing lists of à la carte pricing. Some don’t even offer access to a full price list until you sign up for their service. Others hide their services behind a web calculator page that has dozens of variables, many of which you won’t really know until you begin using the actual services.
The issue has gotten more complex, as Amazon and others have dozens of different cloud services available. Now cloud computing requires not only running a virtual machine on someone else’s data center but also provisioning the right collection of resources such as RAM and CPU to match the kinds of applications and loads you will be running on these machines. Being able to easily see these configuration trade-offs in the bottom-line monthly bill is important as more servers migrate to the cloud and are used for more mission-critical tasks.
In this research note, we will look at some of the current challenges of calculating cloud costs when using services from the major Infrastructure-as-a-Service (IaaS) vendors, some of the more important pricing issues to understand, noteworthy third-party vendors to watch, and our predictions for the future.
The current IaaS market
Before you can price services, you have to know what options each cloud service provider offers. And that is where it gets somewhat difficult, because cloud vendors organize and group their services differently. Let’s say you just want to run a single Windows Server 2008 in the cloud. If you had a physical machine, you would purchase a given amount of RAM and disk and a particular CPU configuration. Each cloud vendor has hourly charges for using these items, as you expect.
Some vendors have servers in prepackaged options with a given CPU, RAM and disk configuration that you can start from, while others have you build your virtual machines from scratch, where you can specify each item.
Consider IBM’s SmartCloud pricing and how many degrees of freedom are available to users. To order your various services, you are brought to this page first, which is great at showing you the various pricing trade-offs all in one place.
Figure 1. Screen capture of IBM’s SmartCloud pricing options
[pic]
Source: IBM
The first decision is choosing the software image you want to run, and there are choices beyond the simple Linux and Windows servers. There are virtualized third-party applications such as Servoy, BeyondTrust PowerBroker, Riverbed’s Stingray and plenty more.
In IBM’s situation, there are five different Windows Server models available, including 2003 and 2008 versions and 32- and 64-bit versions. Next you need to decide how many individual machine instances you want to run of each type and how many hours per month it will be running. IBM offers five different prepacked server configurations labeled by metal (platinum, gold, silver, bronze or copper). For example, the silver package has 4 CPUs with 8 GB of RAM and a terabyte of storage that is priced at 50 cents per hour. You add to this an amount of persistent storage that you want available to each virtual machine. From there, further estimates must be made on how available this storage will be. And there are dozens of other parameters, too.
IBM, like some other vendors, has loads more fees to collect: the data transferred to and from your server to the Internet, whether you need a public IP address for your server and a VPN connection, and other items. Indeed, the entire process can take several hours and requires lots of educated guesses, and it may not even come close to matching your actual usage patterns. Then, once the first monthly bill arrives, you need to go back to see what you can do to shave some costs or perhaps configure your virtual machines better.
Contrast what IBM has done with CloudShare, which offers a very simple pricing model of $49 per month for up to six VMs. CloudShare has taken a lot of mystery out of pricing by choosing dozens of prepacked images, but for those wanting to get a cloud environment up and running within minutes — a small testing operation or someone who wants to quickly prototype a new application, for example — this approach has a lot of appeal. Some of CloudShare’s packaged images are somewhat underpowered, such as an Exchange 2010 server with only 25 GB of storage. But there are no hidden fees or surcharges. And currently CloudShare will allocate additional RAM to your VMs with no additional charge with just an email asking for it.
Now let’s try to duplicate the same setup that we have for IBM or CloudShare with Amazon Web Services (AWS). It is nearly impossible, due to the many choices involved in selecting a machine image, the computing and storage requirements, and other features that IBM includes as part of its cloud but that AWS charges separately. The vendors deliberately add this complexity to make it hard to shop around.
Some of the cloud vendors have attempted to explain their packaging and options and offer online guides or other tips to help you choose the right configuration for your anticipated workloads. Here is an explanation from Amazon’s FAQs on how to select the right instance type:
“Amazon EC2 instances are grouped into four families: Standard, High-Memory, High-CPU, and Cluster Compute. Standard Instances have memory to CPU ratios suitable for most general purpose applications; High-Memory instances offer larger memory sizes for high throughput applications, including database and memory caching applications; and High-CPU instances have proportionally more CPU resources than memory (RAM) and are well suited for compute-intensive applications.”
Amazon also states that it reserves the right to change the underlying hardware of each instance type as well. So be prepared to spend some time researching its options.
Other cloud vendors besides those mentioned above have their own quirks and fall in between IBM and CloudShare in terms of complexity when it comes to pricing their services. We recommend you start with the pricing page links included in Appendix A of this report, then go back to the particular service descriptions if you aren’t clear on how the various pieces relate to one another.
Issues in the current cloud-pricing model
In trying to understand cloud-pricing issues, there are several things to keep in mind.
Prices change often and without much notice. Just because you went to a particular website and got one quote today doesn’t mean the vendor won’t adjust things tomorrow and render your research obsolete. Amazon is fond of actually reducing its prices quite frequently as it buys new and cheaper equipment, for example. While this is better than increasing them, it still means it is a lot of work to keep track of prices. Each vendor is constantly adding new features or supporting new configurations in an attempt to be responsive to the market and its competition. If something is lacking from your provider, make your wishes known in the support forums.
Billing is not necessarily always usage-based. It’s also not consistently applied across all of a vendor’s offerings. Some items are billed whether a virtual machine is up and running or if you are even using the service at all during the month. For example, Verizon’s Computing-as-a-Service SMB offering charges for all of your configured VMs whether or not they are actually turned on and running. If you just want to set up a test VM environment and try out a few things and then turn it off, it would be better to use Amazon or someone else who doesn’t continue to charge you.
Both Amazon and IBM charge for virtual private network (VPN) access whether it’s used or not: IBM charges $60 per connection per month, plus additional (and hefty) setup fees. Amazon charges $36 per connection per month, billed hourly, plus the data transferred over the connection. The danger here is that if you are planning on testing and not using this service, you might not remember to cancel it until you get your next monthly bill.
For its Symphony Virtual Private Data Center offering, Savvis bills its Internet bandwidth based on the 95th percentile of what you use over the course of the month at a fixed rate of $50 per Mbps and excludes that calculation from its web calculator, making it probably the most obscure surcharge of all the providers’ charges. We understand that this makes it easier to have the occasional peak volume on your cloud account, but still it would be nicer if it were easier to calculate.
Some, like GoGrid, set monthly usage maximums and charge for overages, just as a mobile carrier would when users exceeded their data plan. This means you need to keep a running tally of your monthly usage of its service to ensure that you know your consumption and are below the cutoff of your plan.
Licensing and support fees are hard to find. Some vendors include the underlying OS or applications software licenses, and some have surcharges for either or both items. For example, Rackspace has an add-on management-support fee of 12 cents per server hour along with a $150 monthly fee if you choose its Cloud Sites management option. Terremark’s vCloud Express tacks on 20 percent or $500 per month — whichever is higher — for priority support, and it also adds to its hourly fees if you want a Windows image. As we said earlier, CloudShare has perhaps one of the simplest pricing plans, and as part of that simplicity it doesn’t have any OS or support surcharges. Amazon offers developers one-on-one support of various levels starting at an extra $50 per month. The bottom line is that dollars can add up. And when you factor in live support, the costs rise even higher.
Each vendor has multiple offerings; understanding the choices among them can be daunting. Amazon has more than a dozen offerings, from its Platform-as-a-Service product Elastic Beanstalk to Elastic Map Reduce, its Hadoop NoSQL offering. Each has its own pricing calculator and a page of various options before you can calculate the costs.
Figure 2. The AWS EC2 calculator
[pic]
Source: Amazon Web Services
GoGrid offers two different pricing metrics that are somewhat confusing, at least at first blush. The first is based on a specific allotment of RAM hours, meaning the amount of RAM per server you have deployed multiplied by the number of hours that the server is running. The second component is based on total outbound data transfer (all inbound data is free of charge) and also allows you a fixed allotment of data transfer. If you go over your allotment, you are subject to overage charges.
Google is a relatively new entrant into IaaS with its Compute Engine and Cloud Storage offerings. They make use of a special metric called the Google Compute Engine Unit per hour. This is a unit of CPU capacity, and Google chose 2.75 units to represent the minimum power of one virtual core. It offers four different prepackaged instances from one to eight virtual cores, and each has a surcharge of 5.3 cents for every running GCEU per hour.
Savvis has multiple bundled packages, but once you find the right one it simplifies the number of choices. For example, on its VPDC plan there are only three different packages:
▪ Essential, which offers a single dedicated VLAN and persistent storage
▪ Premier, which offers three VLANs with 32 IP addresses apiece and three storage tiers Balanced, which is somewhere in the middle, along with load balancers and firewalls
For each package you can select either Windows Server 2008 or Red Hat Linux v5, and you have a limited number of RAM, CPU and disk options.
Figure 3. Savvis package options
[pic]
Source: Savvis
Figure out what isn’t charged for too. Sometimes it is hard to immediately see what is included as part of your particular plan with each provider, and these insights can save you money in the long run if you would have gone with a provider that would have ended up charging you for this service. GoGrid provides free load balancing as part of its packages. Others offer specials that include additional software or extra processing power, so it pays to watch the promotions. Joyent doesn’t charge for any data transfers up to 20 TB per month per account and includes 100 TB per month of free data transfer for customers with images with over 500 GB of memory. It also has burstable CPU and intelligent data caching included in its prices, which could be a significant savings if you require these features. Amazon offers free EC2 services for its lowest usage tier for the first year of any new customer, and several other players also offer free trials.
Companies and technologies to watch
This pricing complexity hasn’t gone unnoticed by the industry. Thanks to it, a new class of companies has emerged and is constantly attempting to predict your consumption of cloud resources. There are various third-party tools that are now around that help you compare these costs or resource usage. Some are limited to just AWS or one or two other providers, while others cover a more extensive range of services.
These tools can be divided into three general categories: monitoring and operations management, pure costing tools, and reliability measures. You’ll probably end up choosing at least one tool from each category, depending on whether you need just cost calculations or want more analysis of your cloud infrastructure.
Monitoring, orchestration and operations-management tools
We could write an entire research note on this topic alone, but this is certainly an emerging area and there are numerous vendors already establishing some solid credentials in this space.
▪ Zenoss offers a variety of cloud monitoring and costing products. This is probably more than you initially want if you are just after costing comparisons, but it offers a complete solution for cloud operations management. It provides comprehensive cloud computing monitoring of networks, devices and relationships among your physical, virtual and cloud devices. It has extensive video demos and tutorials on its site.
▪ VKernel provides a free capacity planning tool called CapacityView. The tool is Windows-only and connects to your vCenter or ESX server and quickly gives you a lay of your virtual landscape. Sometimes you lose track of what you have actually running in your cloud, so this can be helpful. While much of this information is available through various VMware consoles and displays, it is nice to have everything consolidated into a single dashboard.
▪ is just in beta, and it provides a rather nifty dashboard showing you the status of your various Amazon Web Services projects only. Presently it is free and worth a look. It also reports on potential open ports, unreliable servers and other abnormalities it finds in your AWS account. The report takes a day to compile before you can access it online.
▪ RightScale supports the largest collection of public and private cloud providers, including AWS, Rackspace, OpenStack and others. You can examine all cloud resource usage for compute, networking and storage. You can also manage your block storage volumes and object stores to enable web serving, content delivery, persistent data storage and backups.
Pure costing tools
If all you care about is your monthly cloud-hosting bill, then focus first on one of these services. Some handle comparisons with several providers, while others are limited to just AWS.
▪ PlanForCloud is perhaps the most comprehensive costing tool, and it is also free of charge. It covers thousands of price points with AWS, Azure, Google and Rackspace, and it can print out some very nice graphs such as the one below that can be shared with management. Two nice things about this service are that it explains the reasons why your costs are what they are (such as “Uses an extra 10 GBs of storage every month, hence the gradual monthly cost increase”) and it also allows you to experiment with elasticity assumptions to test how your costs will change in the future (it purchased the former ShopForCloud service).
▪ Uptime Software has its uptimeCloud that will show you the current costs of all of your running instances as well as make recommendations for how to save money by changing your cloud configuration. Right now it just works with Amazon, but more services are planned. You can try it out for free for a month, and then there are various plans starting at $35 per month.
▪ Cloud Cruiser is another tool that is available for both private and public cloud environments with an extensive series of reports and dashboards. It guarantees within the first month that it can identify a minimum of 10 percent cost savings in your operations or it will give you your money back.
▪ Cloudorado has a nifty graphical tool: You dial in your RAM, disk and CPU and it presents the final calculated price for more than a dozen different providers. There is a more advanced mode where you can specify multiple servers and more-complex configurations.
▪ Cloudability has a variety of tools available that include costing and monitoring, and you can set up a free account to try them all out. There is also a Pro account that starts at $49 per month that has detailed reports and additional features. It also has a way for you to segment your costs by department or other cost-center groupings.
▪ Cloudsizer is another tool that has more than a dozen different public cloud providers that can help you track costs. It has two different plans, a free Express one that can handle smaller instances and a Pro plan that sells for AU$300. The results are presented in a simple summary bar graph.
Reliability measurement tools
Pricing your cloud is nice, but what if your cloud provider is less than reliable in your particular part of the world? That is when you need a tool that can show you the past performance history of your provider. And while the past is not necessarily the best predictor of the future, it does give you an inkling of what you can expect from cloud connections to particular providers. Here are two services to consider:
▪ CloudHarmony benchmarks particular performance metrics for dozens of different cloud providers. You can actually run your own real-time tests too. It uses agents scattered around the globe to arrive at latency and performance figures.
▪ CloudSleuth is a great service that can keep track of uptime at various public cloud providers. While it doesn’t have costing information, it still can be useful to screen which provider you want to host your data based on its reliability records.
What the cloud-costing future will look like
Certainly the cloud world is ever evolving. That includes pricing and support. With that in mind, here are a few of our predictions for the near future.
The cloud will get cheaper. Clearly, AWS is the big gorilla in the room, and it continues to expand its offerings and lower prices (particularly on memory, storage and compute power, all of which it has in abundance). With Google entering this marketplace, expect that prices will be even cheaper as the two go head-on. Depending on the machine configuration, it is competitive with AWS’ prices.
Pricing plans will get simpler. CloudShare is doing a nice business with its simple pricing and packaging plans, and we suspect that others will follow and simplify their pricing schedules or at least bundle various elements together to make them more understandable. But look at this page on Joyent’s website that tries to compare what it offers with Amazon’s EC2. It is hard to make these comparisons without many assumptions, such as the relative size of the individual CPUs and memory and how new instances are orchestrated to come online when needed (read the fine print below the chart for starters). And that is just for one of numerous AWS services.
AWS needs to simplify its pricing and make it easier to get started with its services. It has built a rich ecosystem of cloud players and will continue to dominate in the IaaS space, and it will probably either purchase or program its way to having clearer pricing tools in the future.
The cloud will get more manageable. Look to the pure IaaS players to either acquire or partner with management vendors to provide more orchestration, provisioning and other tools. Rackspace has an early version of its cloud-monitoring APIs, and Amazon has its CloudWatch monitoring tool, not to mention that it supports most of the third-party tools we have already mentioned. As an example of this, in July VMware purchased DynamicOps, a cloud-provisioning-and-management vendor.
Part of the IaaS players’ ongoing maturity is being able to automatically scale up and down on demand without having to manually intervene whenever loads change. AWS has its Auto Scaling feature and CloudFormation service that both can be used for this purpose. IBM has a wealth of offerings here too.
Better and deeper support for private and hybrid clouds. What is infrastructure and what is a platform is getting harder to keep track of, and some of the major IaaS vendors are moving into PaaS offerings (or vice versa). IBM’s SmartCloud Foundation is more a collection of individual services including consulting, business-process management and middleware that can help deploy a private or hybrid cloud solution. Joyent has its SmartDataCenter and an entire offering based on the Node.js platform support, GoGrid has its Hybrid Hosting plan, and others, including Google’s offerings, can be found in our table below.
Figuring out your cloud costs is currently more of an art form than an accounting endeavor. Many of the providers don’t make it easy to predict your monthly bill because they have very complex pricing algorithms. And some require lots of patience and careful reading of their conditions and pricing pages on their websites. Given this complexity, there is a rich collection of cloud-costing and cloud-monitoring tools to help in your own calculations. Certainly, we would expect lots of mergers and new vendors to come into play in this arena. And hopefully keeping track of your cloud costs will get easier and more transparent in the future.
Appendix A. Public IaaS provider comparison table
|IaaS provider |Pricing page link |PaaS offerings |Hybrid or private cloud |
| | | |offering |
|Amazon |EC2 pricing |Elastic Beanstalk, others |Virtual Private Cloud |
|CloudShare |ProPlus pricing |None |No |
|GoGrid |Calculator |None |Hybrid Hosting |
|Google |Compute Engine |App Engine, others |No |
|IBM |SmartCloud Enterprise |None |SmartCloud Foundation |
|Joyent |SmartOS pricing |Smart DataCenter |Node.js |
|Rackspace |Cloud hosting |None |OpenStack |
|Savvis |Symphony VPDC |None |Symphony Dedicated |
|Terremark |vCloud Express |None |CloudSwitch, Private Edition |
About David Strom
David Strom is a former IT manager and has had several editorial management positions for both print and online properties in the enthusiast, gaming, IT, network, channel and electronics industries. He has worked in the print division of Network Computing as the editor in chief, Digital and Tom’s . He has also written two books on computer networking.
About GigaOM Pro
GigaOM Pro gives you insider access to expert industry insights on emerging markets. Focused on delivering highly relevant and timely research to the people who need it most, our analysis, reports and original research come from the most respected voices in the industry. Whether you’re beginning to learn about a new market or are an industry insider, GigaOM Pro addresses the need for relevant, illuminating insights into the industry’s most dynamic markets.
Visit us at:
-----------------------
Cloud computing
GIGAOM PRO
pro.
© 2012 GigaOM
All rights reserved
- 2 -
Understanding and managing the costs of the cloud
August 2012
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.