A cloud deployment model is defined according to where the infrastructure for the deployment resides and who has control over that infrastructure. Deciding which deployment model you will go with is one of the most important cloud deployment decisions you will make.
When companies talk about migrating to the cloud, it is a general assumption that they are bringing their on-premise workload to the public cloud without switching clouds. But with cloud deployment models, the possibilities are aplenty. However, GitLab, a startup famous for its developing tools, migrated from Microsoft Azure to Google Cloud Platform as mentioned in the official GitLab statement.
The company wanted to adopt cloud-native practices and use microservices and containers, which have become a critical factor in modern software development. Also, Kubernetes turned out to be a beneficial choice for them since it allows elastic scaling from a couple of users to millions.
GitLab is not alone. Many organizations switch their cloud deployment models following the modern demands of application users. You might also be reconsidering your public-cloud choices thanks to continually changing needs. Or you could be wondering whether to re-architect an application. This might feel like you’re spoiled for choice.
1. Public (external) cloud
The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services. It supports all users who want to make use of a computing resource, such as hardware (OS, CPU, memory, storage) or software (application server, database) on a subscription basis. Most common uses of public clouds are for application development and testing, non-mission-critical tasks such as file-sharing, and e-mail service.
- Open Market for on demand computing and IT resources
- Concerns: Limited SLA, Reliability, Availability, Security, Trust and Confidence.
- Examples: IBM, Google, Amazon, e-mail,…
- The Public Cloud allows systems and services to be easily accessible to the general public.
- Public cloud may be less secure because of its openness.
The public cloud is an ideal deployment model for companies whose business demands quick access without incurring massive setup costs upfront. It’s open and available to all types and sizes of businesses and is extremely beneficial due to its unique feature that securely transfers data online. It’s more cost-effective than the private cloud-deployment model since its services are more commoditized.
It has a pay-as-you-go setup with minimal investment to start. Your company purchases virtualized-compute data storage and networking services from a cloud-service provider in the public cloud. This cloud accelerates time-to-market, scales promptly, and gets the agility to try out some latest services or applications swiftly.
There are various leading names such as Amazon Web Services, Google Cloud, Microsoft Azure, Alibaba Cloud, and IBM that provide this service. So you have a variety of providers, large and small, offering an a la carte of services.
This is a multi-tenant model with many clients sharing the same infrastructure like Amazon EC2 Dedicated Hosts.
Public cloud services are especially beneficial for workload in the short term like for an event or initial phase for a start-up just as long as it requires. Public cloud is ideally used by businesses that need services like on-demand scaling, social networking, CRM, and storage.
Advantages of public cloud
- It’s the most affordable model on the market with no location dependencies.
- You don’t need infrastructure management with a dedicated in-house team to fully use a public cloud.
- It offers greater vertical scalability through virtualization.
- It’s very reliable, so there’s no interruption in your services or scope of any failure.
- Services like SaaS, Paas, and Iaas can be readily accessed on the public cloud via all internet-enabled devices.
Disadvantages of public cloud
- Shared resources sometimes lead to breakdowns in scalability and flexibility.
- It’s not suitable for data-sensitive applications.
- Concerns around its security and privacy are serious. It attracts more targeted attacks as it has no stringent data protocol.
- The public cloud has limited customization. Clients can select the operating system and the VM size but cannot customize orders, reports, or networking.
2. Private (Internal) cloud
A private cloud is an environment specifically dedicated to a single user within the user’s firewall. It grants access to only authorized users, giving companies more central control over security factors and data. The data center can be either a co-location or even an on-premises one. However, on-premise deployment is very similar to the “legacy IT” structure.
This deployment is usually single-tenant, which means the platform isn’t shared. However, it can have multiple tenants per department within the company. It also provides on-demand data availability, securing reliability, and aid for mission-critical workloads. Governments and scientific laboratories mostly incorporate a private cloud.
Moreover, companies with precise demands such as their data are confidential and sensitive or need secure and robust efficiency; they should choose a private cloud model. An enterprise typically deploys its applications and infrastructure to its data-center in a private cloud-computing deployment model. If the right stack is designed, it can have many cloud computing characteristics converting into a ‘private cloud’.
However, private cloud is not a pay-as-you-go expense––you pay for the whole stack, used or not. Nevertheless, you can opt for a record meter and display usage to user groups or various tenants. This payment option is known as ‘chargeback’.
Although private cloud deployment doesn’t provide many benefits of cloud computing, having your private cloud means better control of sharing and storing data. When it comes to data security, this deployment model is your best bet to manage data governance, guarantee compliance with regulations, and safeguard precious intellectual property.
The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise. Its infrastructure used by a single organization. Such infrastructure may be managed by the organization itself to support various user groups, or it could be managed by a service provider that takes care of it either on-site or off-site. Private clouds are more expensive than public clouds due to the capital expenditure involved in acquiring and maintaining them. However, private clouds are better able to address the security and privacy concerns of organizations today.
- For Enterprises/Corporations with large scale IT.
- The Private Cloud allows systems and services to be accessible within an organization.
- It offers increased security because of its private nature.
Advantages of private cloud
- The company is the exclusive owner with full control of its service integrations, operations, regulations, and user practices.
- It supports legacy applications, which is not an option on a public cloud.
- Companies can customize their solution according to demands.
- It further enhances the quality of service given by the clients.
- It offers exceptional reliability in performance.
- It provides higher control over system configuration as per your company’s requirements.
Disadvantages of private cloud
- Under-utilization is a cost to your company, and not to your provider, affecting the model’s overall feasibility.
- Your company may need to invest in expensive hardware and software along with trained human resources.
- Scalability depends on the choice of hardware.
- It’s maintained in-house and demands high maintenance.
- A hosting-service provider may encounter limitations with storage capacity, which can influence your requirements directly.
3. Hybrid cloud
Many organizations make use of this model when they need to scale up their IT infrastructure rapidly, such as when leveraging public clouds to supplement the capacity available within a private cloud. For example, if an online retailer needs more computing resources to run its Web applications during the holiday season it may attain those resources via public clouds. The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
This consists of two or more cloud-deployment models. They’re all unique, but they’re bound by specific, standard protocols. Very few companies can switch over all of their technology stacks to the cloud in one go. For such companies, the hybrid cloud-deployment model provides a smoother transition with a mix of on-premise and cloud options. NASA uses this system. For example, Nebula- an open-source cloud-computing project, employs a private cloud for research and development while using a public cloud to share datasets with external partners and other people.
Hybrid cloud models are used for cloud bursting. Say the client runs their application mainly in a private cloud. But if the system is experiencing a spike, sudden surge, or heavy load, it can ‘burst’ into the public cloud to ease the load. This hybrid cloud combination of public and private cloud environments allows sharing of applications. It helps companies seamlessly scale services within their cloud infrastructure whenever required.
This model safeguards and strategically controls your company’s essential assets. It’s such a cost-effective and resource-positive approach that more companies should adopt it. Its infrastructure strategy facilitates application and data portability greatly and enables companies to mix and match options that best suit their requirements.
As the private cloud-deployment model might not be optimal for all workloads, this model meets all requirements of even the larger organizations. It borrows significant advantages of both public and private cloud although some companies find their needs met via either one model and embrace the benefits to going “all in”.
- Extend the Private Cloud(s) by connecting it to other external cloud vendors to make use of available cloud services from external vendors.
- The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds). An organization makes use of interconnected private and public cloud infrastructure.
- The Hybrid Cloud is mixture of public and private cloud. However, the critical activities are performed using private cloud while the non-critical activities are performed using public cloud.
Advantages of hybrid cloud
- It reduces operational costs and gives companies the freedom to combine cloud models for workflows.
- Thanks to its segmented storage, the security protocols are simpler. So it becomes easy to shield the cloud from attackers.
- It gives robust setup flexibility, so that customers can customize their solutions to fit their requirements.
- It’s scalable due to its mix-and-match combination to operate and manage the workloads.
Disadvantages of hybrid cloud
- It’s a somewhat complex setup to manage as you combine two or more separate cloud models.
- It makes sense only if your company has varied use or demand for managing the workloads.
- It’s noticed that there can be infrastructure dependency on this model.
- There are possibilities of a security violation by public cloud back-door.
4. Community Cloud
The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise. This deployment model supports multiple organizations sharing computing resources that are part of a community; examples include universities cooperating in certain areas of research, or police departments within a county or state sharing computing resources. Access to a community cloud environment is typically restricted to the members of the community.
This model is shared among many companies/tenants operating within the same domain like banking, government, education institutions, etc. Access to a community cloud is limited to the members of that specific community. In other words, a group of several companies shares a multi-tenant setup where they have some privacy, security, and performance limitations and concerns. Businesses use this for joint ventures and research firms that require a centralized cloud-computing system. For governments, it’s known as Government Cloud and is embraced by many countries. Due to legislative issues, a typical Government Cloud is the answer to many country-specific judicial matters.
For example, according to Google‘s recent announcement, it will develop security-and-app-management tools for the Defence Innovation Unit of USA’s Pentagon to eliminate the challenges the Defense Department faces and run a multi-cloud environment in a community cloud deployment model. Two Google Cloud product managers, Christopher Johnson and Bhavna Batra, said, “Assured Workloads for Government helps its customers, suppliers, and contractors. Additionally, the Department of Defense, the FBI’s Criminal Justice Information Services Division, and the Federal Risk and Authorization Management Program to meet the extraordinary security and compliance standards set forth.”
Community cloud is technically no different than public cloud or private cloud. The difference lies in who holds the control together with their set of users. It’s as if a group of companies shared the cost of a building, and several other firms with similar requirements for infrastructure and resources share this environment. In this model, all active users share the cost. This multi-tenant data center helps companies boost their efficiency and performance while also maintaining standard protocols for privacy, security, management, implementation, and usage for projects like a centralized cloud.
- The Community Cloud allows systems and services to be accessible by group of organizations.
- The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations).
- It may be managed by the organizations or a third party and may exist on premise or off premise.
Advantages of community cloud
- It’s more cost-effective than other cloud models. Multiple companies share the bill, which lowers the individual cost.
- It offers scalability and flexibility to manage cloud computing needs.
- Configuration and protocols in community systems are designed to meet the community’s requirements to enhance efficiency.
- The availability and reliability of the community make it a go-to choice for governments and universities.
Disadvantages of community cloud
- The most common problem with this system is its lower bandwidth capacity with limited storage.
- Its security standards are difficult to maintain without skilled IT staff.
- It increases the setup costs and incurs consistent maintenance costs.
- You can’t get the complete benefits of either private or public cloud.