The still recent communication revolution, driven by the popularization of networking, brought several benefits regarding the management and orchestration of computational resources. Now, we can access more than content but execute applications and request services using a simple browser.
Most of the previously presented opportunities are enabled by the cloud paradigm. But, there is no single way to comprehend and use a cloud. We can categorize clouds considering different operational and accessibility characteristics.
In this tutorial, we’ll study the categories of private, public, and hybrid clouds. First, we’ll have a brief review of what the cloud means. Thus, we’ll explore the most relevant concepts of private, public, and hybrid clouds. Lastly, we’ll compare such categories in a systematic summary.
2. The Cloud
In the early years of computing, before the popularization of the Internet, people and companies were required to upgrade their equipment every time more computational resources were needed.
Although the replacement equipment strategy works, it is usually not cost-effective and requires a significant time to implement an upgrade.
In this context, cloud computing emerged. Clouds, in short, are data centers that connect computing resources through a network.
These resources are then virtualized and provided to multiple customers. It happens using sophisticated management and orchestration routines.
In this way, clouds can host and execute different applications simultaneously, executing scaling processes (up, down, out, in) according to their workloads and other predefined policies.
The business model related to clouds is another interesting point. The majority of cloud services available in the market adopt X-as-a-Service schemes. Thus, we can see from computing resources to complete programs executing environments as on-demand networked services.
Furthermore, in X-as-a-Service environments, customers typically pay precisely for the resources used at a given time, no less, no more. This billing model is considered a cost-efficient one and is known as pay-as-you-go.
3. The Public Cloud
We can summarize a public cloud as a cloud service offered by a provider over the Internet. Since there is a provider, public cloud customers do not have to deal with all the cloud management.
In this way, the customers typically only define the number of resources required, the necessary services, and scaling policies, among other configurations. Thus, the cloud providers deploy the environment according to customers’ requirements.
A great benefit for the customers regarding public clouds is easy and quick cloud creation from scratch. In the vast majority of cases, there is no need for physical equipment and a specialized team to work on the cloud infrastructure: the provider does it all.
This scenario results in few maintenance costs and reduced complexity for a company deploying a cloud. Furthermore, it is easy to limit the costs of a public cloud by adapting the usage and scaling policies since the providers commonly adopt a very flexible pricing model.
But, the public cloud also has some drawbacks. Although the providers employ several techniques for isolating and securing clouds of different customers, we are still in a shared environment, as depicted in the following figure:
Thus, in a public cloud, we are usually exposed to a higher number of potential threats than in a private one, leading to a decreased security level. For example, attacks targeting a particular customer can cause collateral effects in the cloud environment of other customers since it may affect the overall provider’s infrastructure.
However, most current cloud providers use great security systems capable of effectively mitigating the previously stated problem.
Finally, the customers have minimal control of the cloud infrastructure. So, it is hard to customize specific characteristics (most regarding hardware) of the cloud environment.
4. The Private Cloud
Unlike public clouds, a single company owns a private cloud. So, there is no external provider, and the company must deal with all the cloud management.
Commonly, private cloud owners have a particular team to maintain their physical and logical infrastructure. It means that all the decisions about the cloud policies, configurations, updates, and upgrades are internal to the company which owns it.
The best benefits of implementing a private cloud are its high customization and full compliance with the company’s regulations (since it is a dedicated environment). Moreover, we can cite the improved security and scalability (since decisions on such topics do not depend on third-party entities, such as providers).
The following figure depicts a private cloud infrastructure:
However, all the described management freedom regarding implementing a private cloud comes with specific challenges and drawbacks. The first challenge is that bad decisions lead to poor cloud implementations.
In a private cloud, the companies can choose to employ, for example, the best equipment and security systems. So, the company will get the best cloud environment for particular purposes. However, a company can also choose poor solutions, creating an inadequate environment, probably much worse than simply using a public cloud.
Taking the previously presented scenario into account, we can assume that another drawback is that private clouds are expensive. First, they are costly in terms of capital costs due to the necessity of purchasing and updating the companies’ infrastructure. Furthermore, they are also expensive in terms of operational costs since a team to manage and maintain the cloud is needed.
Of course, the higher costs of a private cloud are not a rule at all. It will depend on several necessity/usage aspects and how much complexity a company agrees to deal with.
5. The Hybrid Cloud
The last cloud category considers deploying an environment in which private and public clouds coexist and cooperate. In such a case, companies and organizations keep a private cloud totally under their control. However, they extend their private clouds by hiring services from public clouds.
For example, companies can deploy innovative services (with uncertain demand) in a private cloud, scaling them to the public cloud as they get popular or present usage peaks. The companies can do that by adopting a policy-driven deployment scheme.
Another benefit is the possibility of creating heterogeneous security levels in a hybrid cloud. We can keep sensitive data in the private cloud, protected with customized security solutions and authentication schemes. Less sensitive data, however, can be allocated in the public cloud, covered with standard security strategies.
Another great advantage consists of the flexibility and scalability of the cloud. We can always request extra resources from the public cloud providers as soon as we need them.
The figure next exemplifies a hybrid cloud infrastructure:
Despite their benefits, hybrid clouds have relevant challenges. The most prominent one regards the extra complexity of managing and maintaining the entire cloud infrastructure.
In a hybrid cloud, the responsible team of the private cloud must continuously keep in touch with the management team of the public cloud to integrate them and keep the environment working adequately.
6. Systematic Summary
The cloud paradigm brought many benefits regarding computing and networking for companies, organizations, and even end users. However, a cloud is not a monolithic concept. Actually, there exist different categories of them.
One interesting cloud categorization considers operational, control, and accessibility aspects of them: public, private, and hybrid.
Public clouds are owned by providers, which negotiate their services with customers. Private clouds are kept by companies that maintain all the required infrastructure to make them work. Finally, hybrid clouds make public and private clouds cooperate.
The following table compares some characteristics of public, private, and hybrid clouds:
It is relevant to highlight that there is no consensus on which cloud category is the best. This decision should be taken company by company, customer by customer, considering each particular scenario and specific needs.
In this tutorial, we studied public, private, and hybrid clouds. First, we investigated some general concepts regarding clouds. Thus, we specifically examined the characteristics of public, private, and hybrid clouds. Finally, we compared these characteristics in a systematic summary.
We can conclude that the choice for using a public cloud, a private one, or even deploying a hybrid environment strongly depends on the objective and requirements of each company or customer. There is no definitive best choice: each cloud category has strong and weak points.