More and more companies are pushing their compute and storage needs to the cloud, but there is uncertainty over the big question: “How much will this cost?”
Each cloud provider has similar, but slightly different, ways of billing. Utility billing is a universal concept that all cloud providers are using. Amazon has been the leader and trend setter, so I will try to explain how cloud computing billing works using Amazon Web Services (AWS) Elastic Compute Cloud (EC2).
AWS EC2 Pricing Structure
According to Amazon, Amazon Elastic Compute Cloud (Amazon EC2) is a “web service that provides resizable compute capacity in the cloud, designed to make web-scale computing easier for developers.”
Unfortunately, it may be easy for developers, but it’s not easy for accounting. In fact, billing on EC2 is complicated enough that Amazon provides a “Simple Monthly Calculator” that provides an “estimate” of your actual cost. And there are many, many different variables that go into your EC2 cost.
Customers often ask: “If the purpose of the cloud is to make compute easier, why is billing is complex? Personally, coming from the service provider industry, I understand the question as well as understand the complexity from Amazon’s point of view.
Here’s an analogy: Think of the cloud like the electricity that runs through your home. Although the outlets in your walls have power to them, until you plug something in and turn it on you don’t really use power. You, as a user, don’t really care so much where the power comes from, just that when you need it that it is there.
The cloud is the same way: you have almost unlimited server resources sitting out in Amazon’s cloud, ready to be used.
The cloud and the power grid are very much alike. In the power grid, power providers constantly generate power in a wide variety of ways: wind, coal, solar, nuclear, water, etc. The cost to produce this electricity varies according to the method of generation and your location – those differences show up in your bill, paying different rates based on your location and type of consumption.
Sometimes power companies generate more power than their customers need, or do not generate enough power to fulfill demand – in that case, power companies also buy and sell excess power on the open market to maximize the dollar spent to create that power.
Amazon EC2 operates in a very similar way. You have five data center hubs which “generate” compute in a wide variety of ways: hypervisors, CPU, GPU, SANs, etc. The cost to produce this “compute” varies according to the method of generation, and the physical geographical location.
There are 11 different types of EC2 instances that you can run, with five different operating systems to choose from, all of which have different licensing costs. And Amazon sells excess compute power through “Spot Instances.”
In addition to all of that, the final decision is whether you need an On-Demand vs. Reserved Instance. An On-Demand instance can be activated at any time, and you pay for compute capacity by the hour. Reserved Instances require you to make a one-time payment for each instance you want to reserve.
You still pay for compute capacity by the hour, but the cost is much lower compared to On-Demand.
There are also “Dedicated Reserve Instances” (which are more of a private cloud offering, rather than public cloud), and the previously mentioned “Spot Instances” (a method of bidding on surplus capacity).
Adding to the complexity of choosing where, and what type, of instance you want, you also have to make a few more choices – all of which impact your bill: Storage, Elastic IP, Data Transfer, and Load Balancing.
Storage: Within EC2, there are different storage options available, but the primary storage option is known as EBS Volumes (Elastic Block Store). EBS service provides block level storage volumes for use with Amazon EC2 instances, and persist independently from the life of an instance.
The good news is that EBS has a relatively simple price structure. Your cost is determined from your location and the amount of data you have to store, multiplied by the amount of time you use it.
Elastic IP: Elastic IP is a static IP address designed for dynamic cloud computing, and is associated with your account, not a particular instance. You control that address until you choose to explicitly release it.
What gives “Elastic” IP its elasticity is that, unlike traditional static IP addresses, you can mask instance or Availability Zone failures by programmatically remapping your public IP addresses to any instance in your account. If one instance fails, you can reroute automatically.
The cost for Elastic IP is determined from the geographical location, and you pay per remapping per month. (In many ways, this seems a bit strange to me; it’s like paying for automation to recover from EC2’s failures.)
Data Transfer: Like the other services previously mentioned, the prices of this service varies by location, but you are also charged for inbound and outbound data transferred. Local network traffic is free.
Load Balancing: Elastic Load Balancing is the ability to automatically distribute incoming application traffic across multiple Amazon EC2 instances, to improve fault tolerance in your applications. Again, price is based on location.
Much like your power bill at home, Amazon charges based on what you have plugged in, but there are far more variables that can change on the fly to dramatically affect your monthly and yearly costs with Amazon and any other cloud provider.
Although more and more companies are adopting cloud services every day, IT teams need to be able to have a handle on what the cost and performance of these clouds are. Like the power utility company, it can be hard to determine what the monthly power bill will be until it actually arrives.
Without real-time monitoring of use you don’t really know. Even the AWS Simple Monthly Calculator only provides an estimate.
One of our customers received a $40,000 bill from their cloud provider and had no idea where those costs came from. With ScienceLogic EM7’s public cloud management, we provide a high level of visibility into costs of both public and private clouds, so there is no surprise of what your bill will be as you use the cloud.
I would encourage you to contact one of our sales representatives to see a demo of how we can provide you the visibility you need to understand your costs and performance in the cloud.