There are two fundamental reasons to use Cloud Computing: saving money and improving performance. You reserve resources that are in your best estimate enough to meet your performance needs, and then pay extra for additional on-demand resources if they’re needed. And, of course, the rates for the on-demand resources are higher than the rates for the reserved resources, so your most cost-effective configuration would be to make sure that you reserve just enough capacity without reserving too much.
The tricky part of reserving Cloud resources is that every aspect of the Cloud is metered. It’s not just a matter of selecting how much bandwidth, memory, CPU and storage. What OS do you need to run? Do you need databases? Or a Web server? On a scale of Light, Medium or Heavy, how much utilization do you expect your instances to have? How much storage do you need? How much I/O will that storage see? Do you want all your resources in one geographic location, or multiple locations?
In order to simplify Cloud Management, Cloud providers usually package resources into typical usage cases, and, in the case of the IBM SmartCloud, or Amazon Web Services, provide calculators to help you estimate your monthly expenses based on sample use cases. For example, using the IBM calculator to compare a high-availability configuration to a small web application configuration gives the following details:
|High Availability||Web Application|
|Storage||1 TB||2 TB|
|Storage IO||526 million||237 million|
|Network IO||5 TB||173 GB|
The cost estimate application lets you adjust the values used for the configurations, which can provide an idea as to where costs might begin to add up rapidly. For example, if you decide you would like a 10 TB storage package, the High Availability package price increases to $4,171/month. If you select a 50 TB storage package, the cost increases even more dramatically to $8,082/month.
The AWS Simple Monthly Calculator provides similar options, but also provides the option to decide which of Amazon’s data centers you would like to use to host your application, including the option of hosting the application over multiple data centers for the sake of redundancy. Please keep in mind that while the redundancy provided by multiple data centers will keep your site running in the event of an outage, you are paying for twice the cloud, and if data needs to be replicated between sites, there will be additional costs for that as well.
The takeaway from this is that everything in the Cloud is metered, and any increase in IO, or storage needs, or web traffic can increase your costs if you have not reserved enough resources and need to use on-demand resources. Make sure you know your application’s performance parameters, budget resources accordingly, and keep an eye on the application to see if you need an increase in resources.
In the next part of this series, we’ll take a look at performance issues in Cloud computing.
Additional Posts in our Considering the Cloud series: