Whether a public cloud or private cloud, everyone agrees that cloud computing key benefits include scalability, instant provisioning, virtualized resources and ability to expand the server base quickly.
However, “cloud computing” is still used to mean a lot of things to a lot of people. When it comes to slicing up the cloud taxonomy a little further, there’s still quite a bit of confusion between the public cloud and private cloud computing.
The public cloud is defined as a multi-tenant environment, where you buy a “server slice” in a cloud computing environment that is shared with a number of other clients or tenants.
Public clouds such as Amazon EC2 and Rackspace Cloud have a number of trade-offs:
- Utility Model – Public Clouds typically deliver a pay-as-you-go model, where you pay by the hour for the compute resources you use. This is an economical way to go if you’re spinning up & tearing down development servers on a regular basis.
- No Contracts – Along with the utility model, you’re only paying by the hour – if you want to shut down your server after only 2 hours of use, there is no contract requiring your ongoing use of the server.
- Shared Hardware – Because the public cloud is by definition a multi-tenant environment, your server shares the same hardware, storage and network devices as the other tenants in the cloud. Meeting compliance requirements, such as PCI or SOX, is not possible in the public cloud.
- No Control of Hardware Performance – In the public cloud, you can’t select the hardware, cache or storage performance (SATA or SAS). Your virtual server is placed on whatever hardware and network, the public cloud provider designates for you.
- Self Managed – with the high volume, utility model, self managed systems are required for this business model to make sense. Advantage here for the technical buyers that like to setup and manage the details of their servers. Disadvantage for those that want a fully managed solution.
The majority of public cloud deployments are generally used for web servers or development systems where security and compliance requirements of larger organizations and their customers is not an issue.
Private Cloud Computing, on the other hand, by definition is a single-tenant environment where the hardware, storage and network are dedicated to a single client or company.
Private cloud computing also has a number of trade-offs:
- Security – Because private clouds are dedicated to a single organization, the hardware, data storage and network can be designed to assure high levels of security that cannot be accessed by other clients in the same data center.
- Compliance – Sarbanes Oxley, PCI and HIPAA compliance can not be delivered through a public cloud deployment. Because the hardware, storage and network configuration is dedicated to a single client, compliance is much easier to achieve.
- Customizable – Hardware performance, network performance and storage performance can be specified and customized in the private cloud.
- Hybrid Deployments – If a dedicated server is required to run a high speed database application, that hardware can be integrated into a private cloud, in effect, hybridizing the solution between virtual servers and dedicated servers. This can’t be achieved in a public cloud.
As opposed to public clouds, private clouds are not delivered through a utility model or pay-as-you-go basis because the hardware is dedicated. Private clouds are generally preferred by mid and large size enterprises because they meet the security and compliance requirements of these larger organizations and their customers.