Cloud Computing services may be delivered on-premises, or in public clouds. This article discusses the various cloud computing deployment models including: Public Cloud, Private Cloud, Hybrid Cloud, and Multicloud.
In previous articles, you’ve learned what cloud computing is, and the various cloud computing service models. But which one is best for you and your company? The reality is there’s rarely a single answer here, Most organizations will use a mixture of cloud service models and will often utilize a variety of cloud providers.
In an on-premises, or private cloud computing deployment model an enterprise deploys their own infrastructure and applications into their own data center. The data center can be on-premises or co-location (col0). Though an on-premises deployment is very much the “legacy IT” setup, it can have many of the characteristics of cloud computing if the stack is designed properly – hence turning it into a “private cloud”.
For instance, a private cloud can be delivered using a virtualization platform with orchestration and self-service software. From a developers perspective, this can mean elastic compute capacity is delivered on-demand, elastically (within the capacity constraints of the system), and programmatically.
The private cloud deployment is typically single-tenant, meaning the platform is not shared with other organizations. It may, however, have multiple tenants which could be departments within the organization.
Private cloud is not a pay-as-you-go expense as you own (and pay for) the entire stack, whether it’s being used or not. However, you can use metering to either record and display usage across different tenants or to actually charge those user groups – these methods are sometimes called “showback” or “chargeback”.
A private cloud deployment doesn’t provide many of the benefits of cloud computing but is sometimes sought for its ability to provide dedicated resources. Though you have complete control on how you deploy and manage a private cloud, this needs to be weighed against the capital expense of owning your own data centre, and the limitations in scalability this type of architecture typically imposes.
A word of warning: and speaking from experience… trying to create a private cloud that mimics the features and functions of a public cloud can be extremely difficult and expensive. Once you start layering on orchestration, multi-tenancy, metering, chargeback, and so on, it can become very complex so you need a very strong business case to do this.
The benefits of private cloud include:
- Complete control of the entire stack
- Security – in a few cases, organizations may need to keep all or some of their applications and data in house
When we talk about “cloud computing” this is typically what’s being discussed and is the model which provides most of the advantages of cloud computing. A Public cloud computing deployment model means the IT services that you consume are hosted and delivered from a third-party and accessed over the Internet. Services are available to the “public” to use, so any organization or end user can create an account with their credit card.
This model is typically multi-tenant with many customers sharing the same underlying infrastructure (though you can use dedicated hardware in a public cloud, e.g. Amazon EC2 Dedicated Hosts). We’ve discussed the benefits of the public cloud at length in another article in this series so I won’t repeat here.
Top public cloud providers include: AWS, Microsoft Azure, and Google Cloud Platform.
What is hybrid cloud? This is a cloud computing deployment model in which a combination of on-premises, private cloud, and public cloud services are consumed. This model is extremely common, especially with larger organizations, as a single cloud deployment model may not be optimal for all workloads.
For instance, an organization may require some data to be maintained on-premises (or at least not in a multi-tenant public cloud) for compliance reasons, but may wish to deploy web services in public cloud providers around the world to leverage the elasticity and get content closer to customers.
Hybrid cloud models are also used for cloud bursting. This means that the organization may run their applications primarily on-premises, or in a private cloud, but in times of heavy load they can “burst” into the public cloud, launching additional application servers to service the load,
This model delivers some of the benefits of private cloud and public cloud, though some organizations have found that there are operational advantages to going “all in” on a single deployment model. It’s really up to each and every organization to evaluate the pros and cons of each deployment model to work out the ideal fit.
Benefits of hybrid cloud include:
- Allows companies to keep the critical applications and sensitive data in a traditional data center environment or private cloud
- Enables taking advantage of public cloud resources like SaaS, for the latest applications, and IaaS, for elastic virtual resources
- Facilitates portability of data, apps and services and more choices for deployment models
The term “multicloud” has come into the IT architect’s vocabulary fairly recently. Multicloud refers to the usage of two or more public clouds at a time, and possibly multiple private clouds. This is not to be confused with hybrid cloud, where you use different deployment models such as private and public.
With multicloud you use multiple providers. For instance, you might have some workloads running on Microsoft Azure IaaS and others running on Amazon EC2. These are both public cloud IaaS services.
Benefits of multicloud include:
- Reducing reliance on any single vendor
- Increasing flexibility through choice
- Adherence to local policies that require certain data to be stored within the area/country
How do you decide on the best cloud computing deployment model?
You should now understand the various patterns and anti-patterns associated with each cloud computing deployment model. There are several approaches towards determining the best model for your organization. These include:
- Workload centric approach – in this approach you analyze every workload to determine the most suitable cloud computing deployment model. You need to take into account multiple factors, including technology fit, operational fit, and cost.
- Organizationally centric approach – in this approach you take a more holistic view of which type of cloud computing deployment model is most suitable for your company. Factors to consider would include business agility and growth, competitive differentiation, operational preference, and CAPEX vs OPEX preferences
This article is part of a series, please also check out:
- What is Cloud Computing? Cloud vs Legacy IT
- Cloud Computing Service Models – IaaS, PaaS, SaaS
- Cloud Computing Deployment Models – Public, Private & Hybrid
- Cloud Computing Basics – Compute
- Cloud Computing Basics – Storage
- Cloud Computing Basics – Network
- Cloud Computing Basics – Serverless