Cloud pricing 101: A hotel room with a view

The billing method for cloud has often been described as being similar to that of electricity, with customers being able to access the resources they need, when they need them, on a pay-as-you-go basis. However, the reality of the current situation is very different. Electricity is charged on a standard unit of consumption for a standard period of time. All providers use this unit, so it is simple to compare these providers in terms of cost. By Dr Owen Rogers, Cloud Economist, 451 Research.

  • 10 years ago Posted in

CLOUD, ON THE OTHER HAND, is a different story. Generally, all cloud providers offer a pay-as-you-go model, but they all charge in different units of consumption. Furthermore, a typical cloud application may have many components, all of which are chargeable; this is very different from the simple electricity model. Most cloud providers offer discounts for consumers who are willing to break away from the standard on-demand model, but these models vary between providers. How can consumers compare the options when there are so many?

Here I take a look at the different IaaS pricing models and the issues of comparing them. The traditional electricity analogy is a far departure from reality, so I am introducing a more comparable analogy to the hotel industry.
Why use a hotel?
Why do people use hotels? Generally because they need somewhere to sleep, but don’t want to build or buy a place of their own. Infrastructure as a service essentially works in the same manner.
When checking in to the hotel, the guest would typically state what room they want but would not be able to define every attribute of their room, such as the size of the window.
This is typically the same model in IaaS. A virtual machine is the typical deliverable product of computing power in IaaS. When consumers wish to access a virtual machine, they must choose the specifications of that virtual machine. Most providers bundle resources together to make a virtual machine size. For example, an AWS ‘small’ virtual machine contains 1.7GB of memory, one compute unit and 160GB of local storage. Consumers cannot change the components that make up the bundled virtual machine – they must either opt for a smaller or larger virtual machine product.

If the consumer doesn’t use all of the resources contained within the bundled virtual machine, then these resources are wasted. However, some IaaS providers such as CloudSigma and SoftLayer allow the consumer to specify exactly what combination of resources is needed.

Paying for your stay
If the hotel is huge and the guest has good credit, they can stay in the hotel as long as they wish. The hotel works on a pay-as-you-go model – if the guest has not checked out by 10am, they are liable for an additional whole night. Every month, the guest is billed for the number of nights they have stayed.
All IaaS providers offer this on-demand (also known as usage-based or pay-as-you-go) pricing. Amazon Web Services uses an hour as its minimum chargeable period; Google Compute Engine uses just one minute. If a virtual machine runs for one hour and 43 minutes, the consumer would be charged for two hours with AWS but one hour 43 minutes with Google’s model.

There are other incidental charges at the hotel, too – guests are expected to tip the doorman and may not have budgeted for this cost or predicted how many times they would ask someone to park their car or call a cab.
In IaaS, this charge is typically called a ‘data transfer’ or ‘bandwidth’ charge. Consumers have to pay a price for data transfer, which will vary depending on whether the data is being uploaded or downloaded, its source and destination (public or internal), and the quantity of data transferred. Virtual machines are generally in the consumer’s control – they can start and stop them, as demand requires. Understanding, predicting, and controlling data coming in and out of virtual machines is a lot more difficult. Then again, the cost of bandwidth is often very small compared with the cost of the virtual machine.

Securing a discount
Some hotels would prefer that their guests not create huge bills due to the risk that they may not be able to pay. Instead, the hotel might ask guests to pay a certain amount up front and receive ‘credits.’ The rooms may have an associated cost in credits, which will be cheaper than purchasing the room on demand.

In the IaaS world, this model comes in a number of variants. In subscription pricing, a regular payment is made (typically every month) over a specified term (often six or 12 months). This model has been adopted by Microsoft Azure virtual machines, where the cost of running a virtual machine is cheaper using prepaid credits than on-demand billing.
With prepaid pricing, consumers reload their credits when required. This is compulsory for FlexiScale and ElasticHosts customers. Microsoft Azure customers can choose to purchase prepaid credits, too, but these credits expire at the end of the term, and consumers are given access to additional credits every month, not in a big lump at the start of the term.

Some hotels offer the option of paying for a whole room for a month, a year or longer. The guest has to be certain that the room will be used enough that it is cheaper than paying for it on demand.

In the IaaS world, this model is called ‘annual hosting’ or ‘monthly hosting,’ and is another form of subscription pricing. ElasticHosts, GoGrid, SoftLayer, Joyent, OpSource and others offer this option to their customers.
Alternatively, hotel guests can buy access to the hotel loyalty club for one or three years. For a price paid in advance, the guest has the option to pop into the hotel whenever a room is needed and pay less per night. Consumers can choose to pay more up front, and receive a greater discount on the nightly price. This is the basis of AWS’s reserved-instance model. For service providers, these advance-reservation models allow them to plan more efficiently and increase the stickiness of their product. Furthermore, they reduce the risk that their customers will not be able to pay for resources consumed. Consumers benefit by receiving a discount if they are confident they will need to use resources over a prolonged period. However, there are risks – if virtual machines are not fully utilised, or if too many credits are purchased, refunds are generally not offered. Many of these models automatically renew if not cancelled at the end of the term. Consumers must be confident the up-front investment will be fully utilised and subsequently paid off, and must track and monitor their commitments.

Choosing a hotel
Hotels all offer the same standard service: access to a room when required, for as long as it is needed and a range of specifications and services to differentiate their offerings.
There is no standard size of virtual machine in IaaS. A virtual machine instance described as ‘small’ on one provider will probably vary from that of another provider. In fact, there will probably be no virtual machine specification that is common between two providers.

There are also other room specifications that the hotel does not publish. This may be because the hotel cannot guarantee a specification – for example, the size of the hotel’s double rooms might vary between floors. There may also be specifications that are tough for the provider to control, such as noise from other guests. Some specifications are subjective – all hotels would describe their rooms as luxurious, but which is actually the best?

This problem is endemic in cloud computing. There are many metrics the cloud provider cannot guarantee – since a virtual machine shares resources with other virtual machines, a particular level of performance cannot always be guaranteed because the provider does not know what other consumers will be running, and what impact this will have on multi-tenanted applications. This is akin to having noisy neighbours, ruining the peace and quiet.

The provider may also wish to hide weaknesses in its products (or may not know about them) – maybe bandwidth issues, bottlenecks or a high disk-failure rate. Consumers do not know these characteristics until they turn out to be a problem. The exact definition of a compute unit (or virtual CPU) is another area that is hidden by most providers – what physical processor is used, and what percentage is dedicated to a virtual machine, are rarely published.

Can’t someone else choose?
Hotels all offer essentially the same range of products, delivering the same approximate services. They all allow guests to pay for only the time they spent in the room, and to be charged on completion of their stay.
IaaS providers, too, all offer the same approximate range of virtual machines, delivering the same approximate services. They all allow consumers to access computing resources, and to pay for only those they used.

Hotels are reviewed by classification agencies and assigned star ratings. Is it now time IaaS providers subject themselves to such independent assessment, perhaps a star rating based on virtual machine quality, performance, availability and customer service? In fact, companies like CloudScreener.com and CloudHarmony already offer such ratings. And then - like in the hotel model where brokers like thrive - could a broker find the best combination of cost models and prices for the consumer.
Cloud brokers are key to the concept of a Digital Infrastructure strategy.

Their role will be to select and negotiate the best combination of technologies and services to meet the consumer’s specifications at the best possible price. They will determine the most cost-effective portfolio of financial instruments and pricing models to deliver to the customer’s specifications – in real time as circumstances change. Could cloud classification drive a fair comparison for making these real-time decisions?