Cloud computing is one of those terms that is not very precise in its description. If I search “cloud computing definition” on Google , I get about 196,000 results. They all refer to the use of computers and the Internet, but that is probably where the consensus stops. According to GoogleTrends, both news and web searches in regard to cloud computing have expanded exponentially since 2007. The bigger question is, ”Do we agree on what we mean by those terms”?

I often read about cloud computing and realize that I don’t know if the author meant public, private or hybrid cloud. The author could also be referring to any combination, although he just uses the term cloud. That makes it difficult to understand and agree with the arguments used. More clarification is needed.

The cloud concept

Fundamentally, cloud technology allows you to use a given pool of equipment (often called resources) to run many workloads. This allows for more efficient use of the hardware you have. That’s the virtualization and automation part.

Cloud also allows your users to request access to specific functionality and have it provisioned automatically to them without manual intervention. (This is often called self-provisioning). Not only do you become more cost effective in the use of your infrastructure, but you also become more responsive to the business. These principles apply to all types of clouds, so where are the real differences between them all?

Private, managed and public cloud

The first element to take into account is ownership the cloud. Why is that important? Well depending on who owns the cloud your level of understanding how the service is delivered and what you can control is different.

Let’s start with the private cloud. You own the environment, you were instrumental in setting it up, and you decided the technology you wanted to use. You clearly understand what is actually happening with the cloud. Your private cloud is only used by people you know and have vetted. So, from that perspective, it’s known territory. The drawback is that you have to manage and maintain it yourself, and that you are limited to the capacity you have available. If you need extra, you will have to order more infrastructure.

A managed cloud can come in different flavors. One possibility is an outsourced cloud, which means a private cloud that is run by an outsourcer. You can still decide many technologies, but many service providers will force upon you some management and security tools to ensure your cloud fits within their datacenter. The advantage is that you no longer have to perform the day-to-day management yourself. This outsourced cloud is for the benefits of your organization and the people you have vetted. However, in most occasions you will share some of the networking with other customers of the outsourcer. Also, you are limited to the capacity outlined in the contract.

Another type of managed cloud is a virtual private cloud. This cloud leans more toward a public cloud, in the sense that you can request more or less capacity with short notice (from a couple of minutes to a couple of days depending on the offering). The contract provides a clear description of the services provided to you (security levels, locations, SLA’s etc.) giving you access to a standardized environment.

With this option your choices are more limited, but you still have full visibility of what you get. You may have a portion of this cloud that is dedicated to you (single-tenant), or you may share the infrastructure with others (multi-tenant). As I described earlier, there are many models of multi-tenancy. One that might be interesting to you is a specific infrastructure that is reserved for you when you use it, but available to others, when you don’t.

Last but not least, you have the public cloud. Here you are delivered a service, but often you have little understanding of what is happening behind the scenes. You lack transparency. Security is assumed, data locations are suggested for the primary data location, but what about secondary ones? You are limited to reading a set of terms and conditions on the website, and frankly, those are not always very clear and succinct. Also, you are typically operating within a multi-tenant standardized environment that you have to take or leave. This leaves you without choices.

What about Support?

One aspect that is often overlooked is support. If something goes wrong with your private cloud, you know who to call. You may actually be in the middle of trying to resolve the problem. It’s in your hands. If you use a managed cloud, the service provider will typically have a help desk, and depending on the contractual agreements, you will receive help, information or even access to another site in case of disaster recovery.

The situation is somewhat different in the public cloud. Most public cloud providers interact with their users through blogs and twitter accounts. So, the information you receive in case of issues can be somewhat cryptic. For example, here is the current status of Windows Azure are the latest notifications from SoundCloud. Does this work for some of your functionality, but is it good enough for all? That’s the fundamental question.

How costs are aggregated—two business models

You own your private cloud, you paid for it (or potentially leased the equipment) and you pay to keep it running. With this model, things are clear. One downside is the limited capacity available. In some cases, equipment providers install additional capacity onsite that you only pay for when you use it. Obviously there is a financial model behind such approach and because the provider takes some risk, a price tag is associated.

In the case of outsourced cloud, you have either paid for the equipment upfront, or the cost of the equipment is included in your monthly fee. In these two situations, your cost is not directly related to your actual consumption. That’s the first business model.

Cloud is often associated with “pay-per-use” models. Pay-per-use, or as we will see, one of its many variances, is the second business model for cloud. It’s associated with the virtual private and the public cloud models. Charges are related to what you use or reserve. For compute power, a very commonly used approach is “pay-per-reservation”, falsely called “pay-per-use”. In this model, you pay for the virtual machine from the moment you provision it to the moment it is de-provisioned. Typical rates are hourly, rounded to the next full hour. Very little providers actually do what was common with the mainframe—pay for actually used compute cycles For storage, the model is typically to pay per gigabyte per month. Here again, rounding is typically upwards. For network traffic, the cost is per gigabyte transferred. Many public cloud services also have costs for public IP addresses; some do for reading/writing to storage, for communication between zones etc. Actual costs are not always as transparent as expected.

Software licenses cost for operating systems is mostly included in the compute hourly rates, while SaaS prices are compiled per user per month. It's sometimes also possible to use your won license. That's particularly useful if you already have enterprise licenses of the software.

Finding the most suitable option for your organization

Now this leaves us with the question, what is the cheapest option? Well, if you own a (outsourced) private cloud, using the private cloud is probably the cheapest option if capacity is available. Start there and use managed or public clouds when you run out of capacity in your private cloud.

If you have to build a private cloud in the first place, things are different. Public cloud is probably the cheapest solution. But are you able to run all your software in a public cloud; can you live with the limited-support capabilities? A thorough analysis of your workloads should be done prior to making a decision.

Cloud covers multiple types and business models. I can only urge people to be very precise when they talk about cloud computing. Make sure you highlight what type of cloud you are talking about and what business model you mean. Otherwise your comments may be misunderstood. What do you think?

Excellent foundation article. It seems like cloud computing is going to be a much bigger change than most experts predicted in 2009. Virtualization was a nice small step, so was SaaS, but the whole transition into many different web services, applications and business models is going to take time and going to need more adoption in the market. I am looking forward to the follow up article with more in-depth description of each of your points.

As genera interest: we at Tikal Networks (http://www.tikalnetworks.com) are early adopters of cloud VoIP for enterprise installation. Our experience with large call centers and enterpriase PBXes is a definite advantage. Yet, we see every day the need for customers, resellers and internal employees to adopt new working standards and ideas which sometimes were contrary to their past experience.