There are many considerations for cloud computing architects to make when moving from a standard enterprise application deployment model to one based on cloud computing. There are three basic cloud computing models to consider, and they differed as the open APIs versus the proprietary ones. These are public, private and hybrid cloud and IT organization can choose to deploy applications according to their requirements.
IT organizations can choose to deploy applications on public, private, or hybrid clouds, each of which has its trade-offs. The terms public, private, and hybrid do not dictate location. While public clouds are typically “out there” on the Internet and private clouds are typically located on premises, a private cloud might be hosted at a collocation facility as well.
Companies may make a number of considerations with regard to which cloud computing model they choose to employ, and they might use more than one model to solve different problems. An application needed on a temporary basis might be best suited for deployment in a public cloud because it helps to avoid the need to purchase additional equipment to solve a temporary need. Likewise, a permanent application, or one that has specific requirements on quality of service or location of data, might best be deployed in a private or hybrid cloud.
Public clouds are run by third parties, and applications from different customers are likely to be mixed together on the cloud’s servers, storage systems, and networks. Public clouds are most often hosted away from customer premises, and they provide a way to reduce customer risk and cost by providing a flexible, even temporary extension to enterprise infrastructure. If a public cloud is implemented with performance, security, and data locality in mind, the existence of other applications running in the cloud should be transparent to both cloud architects and end users. Indeed, one of the benefits of public clouds is that they can be much larger than a company’s private cloud might be, offering the ability to scale up and down on demand, and shifting infrastructure risks from the enterprise to the cloud provider, if even just temporarily. A public cloud provides services to multiple customers, and is typically deployed at a collocation facility.
An example is Think Grid, a company that provides a multi-tenant architecture for supplying services such as Hosted Desktops, Software as a Service and Platform as a Service. Other popular cloud vendors include Salesforce.com, Amazon EC2 and Flexi scale.
Private clouds are built for the exclusive use of one client, providing the utmost control over data, security, and quality of service. The company owns the infrastructure and has control over how applications are deployed on it. Private clouds may be deployed in an enterprise data center, and they also may be deployed at a collocation facility. Private clouds can be built and managed by a company’s own IT organization or by a cloud provider. This model gives companies a high level of control over the use of cloud resources while bringing in the expertise needed to establish and operate the environment.
This type of cloud computing is generally used by large companies, and allows their corporate network and data center administrators to effectively become in-house ‘service providers’ catering to ‘customers’ within the corporation. However, it negates many of the benefits of cloud computing, as organizations still need to purchase, set up and manage their own clouds.
Hybrid clouds combine both public and private cloud models. Hybrid clouds can be particularly effective when both types of cloud are located in the same facility.They can help to provide on-demand, externally provisioned scale. The ability to augment a private cloud with the resources of a public cloud can be used to maintain service levels in the face of rapid workload fluctuations. A hybrid cloud also can be used to handle planned workload spikes. Hybrid clouds introduce the complexity of determining how to distribute applications across both a public and private cloud. Among the issues that need to be considered is the relationship between data and processing resources. If the data is small, or the application is stateless, a hybrid cloud can be much more successful than if large amounts of data must be transferred into a public cloud for a small amount of processing.
For example, a company could choose to use a public cloud service for general computing, but store its business-critical data within its own data centre. This may be because larger organizations are likely to have already invested heavily in the infrastructure required to provide resources in-house – or they may be concerned about the security of public clouds.