Private or Public Cloud ?
Currently Cloud is to a lot of people synonymous to "Public Cloud" i.e. some company provides virtual machines or a platform to deploy applications on. Examples are Amazon AWS/EC2, Rackspace, Terremark, Google AppEngine, force.com, vmforce etc. But an enterprise can also build its own Private Cloud. Companies like VMware offer all the infrastructure you need - and there are Open Source offering like Eucalyptus or OpenStack. Which route should you take?
Public Cloud Advantages
Private Cloud Advantages
- Getting started is very easy - basically a credit card is all you need.
- Different service levels: While Public PaaS are quite common there is not really a lot of choice for private PaaS.
- Almost unlimited ressources - you can easily add more servers and a lot of them if needed.
- You would think that you have to ship data to the Public Cloud provider - actually using e.g. Amazon Virtual Private Cloud you can connect the Public Cloud to your local network using a VPN. I guess you can trust a computer in the Public Cloud at least as much as a (potentially compromised) computer in a DMZ
- It is a logical next step after outsourcing operations or using hosting solution - it just provides more flexible.
- Demanding SLAs are available for the services. For example multiple data centers for redundancy are hard to do by yourself and costly - but readily available in Public Clouds.
- You can provide exactly the kind of machines you need. A Public Cloud will only provide a pre defined set of configurations which might or might not offer what you need.
- Legal regulations might make using public clouds impossible.
- You might not want to ship your data into the cloud. But: Salesforce is making 2 billion dollar revenue - and the customer store all their customer contacts, order, revenue forecast etc in the Salesforce Cloud.
- Compared to virtualized environment that are usually already in place a Private Cloud offers a self-service portal. So a user can create a new environment by himself. That means complex and unnecessary processes to approve new environments can be short cut and therefore productivity can increase. However, note that this is also the case for Public Clouds and it is a technological solution to an organizational problem.
Maybe the truth is in the middle: Only for high load you might want to offload work to the Public Cloud. But then you would need a common API for the Public and Private Cloud. Also the Public Cloud would need the same access to data as the Private Cloud - which is doable but might not be trivial. And you would still get different latency.
But: Cloud is in its core a business model. Instead of investing in infrastructure you just rent it - which drives down capital expenditure. This can only really be achieved in a Public Cloud because only then you don't own the infrastructure. Also a Private Cloud can only offer as many ressources as you have purchased.
More applications and data than you think might end in the Public Cloud. The most sensitive business data of quite a few companies are in Salesforce already. If important data cloud not be in the Cloud Salesforce would been doomed - but the reality is that they are very successful.
PS: I would like to hear your opinion. In particular if you are interested to give a talk about "How and why we built a Private Cloud successfully" I would like to hear from you!
Labels: Cloud, Private Cloud, Public Cloud