Home > Cloud computing > Private clouds – a great misconception?

Private clouds – a great misconception?

cloud computer

Image by mansikka

Cloud computing has been defined and described by multiple experts, institutions, universities and associations around the globe.

One of the key characteristics of cloud computing that almost all of the above sources relate to is elasticity. Elasticity actually has two aspects that together can provide companies with a new set of opportunities.

Elasticity as scale out and scale in

Rapid scalability is really the key to elasticity. When more resources are necessary in order to handle an increased amount of work or traffic, rapid scalability ensures that it is easy to get access to these extra resources. In cloud computing these new resources are added by creating and hosting more instances of your application or service. Scaling solutions by adding more instances is commonly referred to as scaling out. When fewer resources are in need the process is quite simply reversed; some instances are removed. This is called scaling in.

Elasticity as pay-per-use

Pay-per-use is just as important for elasticity as scalability. When more resources are consumed the grand total on the invoice will increase. Consuming fewer resources should translate into a reduced grand total. This is related to elasticity since the very reason companies want to consume fewer resources is to save money. A green computing initiative may be OK with saving resources without saving any money, but to most companies the all important motivation for scaling in is to save money. So if scaling in doesn’t save money chances are it will not happen at all.

Private Cloud – a cloud deployment model

In the NIST definition a private cloud is defined as a cloud that is operated solely for an organization. Others define private cloud as employing cloud computing within a company’s own networks. Private cloud has also been defined as corporate network and datacenter that utilizes virtualization and distributed computing. The definitions are somewhat different and some of them can lead us into muddy waters, depending on how we interpret the definitions.

Private clouds – the great misunderstanding

Using virtualization technology atop your company’s private servers will not give you a cloud. Not even if you use the exact same technical setup as a big cloud provider. The reason for this should be evident in the light of the elasticity discussion above. In a privately owned datacenter, scaling out will take a lot of time. Before more resources can be available hardware and software must be purchased and delivered. Software must be installed. Rapid is not really the word that leaps to mind when thinking about this process.

If your company owns all the hardware and software, pay-per-use is not an option at all. Your company still owns both the hardware and software even if it is not being put to good use.

The real point here is that private clouds, as in having your company purchase and own both hardware and software, will not get you the advantage of elasticity.

Privately owned clouds may still be an option

In spite of the last sentence there is actually one way in which privately owned clouds could offer the advantage of elasticity. In order to explain how this is possible I would like to compare a privately cloud to captive insurance (I owe this idea to my former colleague Peter Tallungs).

Captive insurance is a risk management technique. To apply captive insurance, an enterprise would establish its own private insurance company and other subsidiaries of the enterprise pay premiums to this new insurer. In case of a loss in any of the insured subsidiaries of the enterprise, their private insurance company will compensate them.

Please note that the private insurance company is not created with the aim of earning money; it is purely a risk management technique. It is based on the idea that not all the different subsidiaries will suffer loss at the same time and therefore not be in need of compensation at the same time. In order for captive insurance to work well, it is important to spread risks. Things that typically could spread the risks are that the different subsidiaries of the enterprise are located in different buildings, cities, countries or even parts of the world. If a disaster strikes in one part of the world, chances are that many companies in that part of the world will be stricken. Companies in other parts of the world may be stricken at the same time, but the probability for that is much lower. Subsidiaries in multiple lines of business will also spead risks.

Privately owned clouds that provide elasticity

In a similar fashion an enterprise could have a separate subsidiary that owns and manages a private could, a cloud that is owned and operated by the enterprise. If this setup is to provide the advantage of elasticity, the other subsidiaries of the enterprise should have some differences with respect to how much resources they need at a given time. Geographical dispersion of the subsidiaries across different time zones would give the private cloud several traffic peaks during the business hours of the different time zones. This means that the resources in the private cloud could have a higher utilization degree throughout the day. Different lines of business would possibly have different needs at different times a day and even different seasons of the year. In such a setting a privately owned cloud may in fact be a real cloud!

  1. 2010/05/27 at 01:14

    Hi Herbjörn, I totally agree! 🙂 I’m of the same opinion regarding private clouds too, but usually just go along with the people who subscribe to that marketing message as opposed to fighting them. And for the exact same reason/aspect you identified, is that on-premise environments still require CAPEX investments to establish the physical infrastructure, then one may run virtualization + clustering + whatever-is-labeled-cloud-platform software to make it look like a “private cloud”. Sure business teams may benefit from a more OPEX-like charge-back model with the shared infrastructure team, but ultimately it is still CAPEX to the company.

    And like you said, “privately owned clouds” (another name I liked is “dedicated clouds”), like Amazon VPC, and major outsourced hosting providers are positioning themselves with (IBM, CSC, for example), are more aligned to what “private cloud”s should be. But realistically I think the majority of existing software out there don’t work in a scale-out way; they need to be re-architected to work in that model, thus these outsourced hosting providers ultimately, are still just outsourced hosting providers that call themselves private cloud operators. Like you said, applying virtualization doesn’t make an infrastructure “cloudy”; these outsourced hosting providers won’t get to supporting scale-out/in applications until they incur major investments to be able to operate that type of infrastructure (which have different properties such as homogeneous infrastructure, common/shared policies, multi-tenancy, etc.) – today they’re just outsourced hosting and they’re still managing heterogeneous infrastructure that allow anyone to do anything..
    Best! -David

  2. Dave Chappell
    2010/05/27 at 23:08

    Hi Herbjorn,
    You raise some good points. I agree that virtualization alone does not equate to provide the benefits of a private cloud. The benefits become more apparent when you have an elastic PaaS in place to support the private cloud. IT can provide a fixed set of hardware assets, and apps built for the PaaS can be deployed using self service provisioning, and scaled out and scaled in as necessary.
    If the PaaS supports data and compute grid capabilities, then the app itself can be redesigned to scale elasticly within the platform rather than relying on the virtualization technology to scale out/in whole instances of the platform.

    Dave

    • 2010/05/28 at 17:15

      @Dave

      You are right! In order to make good use of the elasticity of the cloud many applications and services need to be redesigned. This is true if the app/svc is to scale elastically by itself, but also for those cases when the app/svc rely on the platform for scaling out to more instances.

      /Herbjörn

  3. 2011/11/27 at 20:47

    Pretty interesting point of view. 😉

  1. 2011/11/16 at 18:59

Leave a comment