The cloud deployment model essentially defines where the infrastructure for your deployment resides and determines who has ownership and control over that infrastructure. It also determines the nature and purpose of the cloud.
The first port of call for any organization looking to adopt cloud services is to understand the existing deployment models. Once these are understood, a better decision can be made about which route the business should take. Each model will offer advantages and disadvantages in areas such as governance, scalability, security, flexibility, cost and management.
What are Cloud Computing Models?
As the name suggests, the public cloud is publicly available and resources are shared among all users. Anyone using the internet can access it from anywhere. The public cloud deployment model is one of the most popular types of cloud. Here are some important types of Cloud Deployment models:
- Private Cloud: Resource managed and used by the organization.
- Public Cloud: A resource made generally available under the Pay-as-you-go model.
- Community Cloud: A resource shared by various organizations, often in the same industry.
- Hybrid Cloud: This cloud deployment model is managed partly by the service provided and partly by the organization.
What are Cloud Computing Installation Models?
Cloud computing and services are often based on the ownership of the infrastructure (and to whom the services are provided) and the overall architecture that is visible to users (e.g. whether it is providing generic computing instances, providing a platform for applications, or providing complete application software solutions as a service). Another way of classifying cloud services is based on the service model and architecture.
IaaS (Infrastructure as a Service)
In IaaS, the cloud service provides computing infrastructure such as virtual machines, storage, containers and serverless computing.
PaaS (Platform as a Service)
In PaaS, the cloud service provides a computing platform, usually connected to a specific set of programming languages, tools and applications. Public operating system access (command line) is usually not allowed and the same virtual machines can be shared by multiple users. Typical examples include Google App Engine and many web hosting services.
SaaS (Software as a Service)
In SaaS, an application running in the cloud is provided as a service. The cloud service provider manages all the infrastructure and upgrades and provides the application software. The customer basically only uses the software. The software can run in a customer-specific virtual machine, multiple software instances can run in the same virtual machine, or the same application server instance can serve multiple customers. Software as a service is usually provided on a subscription basis, for example, the customer pays a monthly fee per user to use the software.
Choosing the Right Cloud Deployment Model
Every organization will have its own requirements when migrating or embarking on a cloud journey. Understanding organizational needs before embarking on a cloud journey is critical to avoid costly and time-consuming bad decisions. Making good decisions in the planning phase can help your business accelerate growth, help your business objectives and help you stay competitive. Poor planning in the early stages can put you at a disadvantage against competitors who may be at a more mature stage in their cloud journey.
In the real world, new businesses and start-ups will generally prefer to fully adopt the public cloud where possible. Most existing businesses will have some existing infrastructure assets on-premises and so it may make more sense to bring this to a private cloud and adopt the hybrid model. Private cloud is a high-cost option with high overheads, but sometimes a necessity where data security regulations or data sovereignty concerns are paramount. Multi-cloud can be considered where high reliability is important, such as in the financial sector.