Type of Clouds
Tags: aws, cloud, cloudskills, webdev
Published: 2022-05-08 07:39:04

In the last blog, we read about the introduction of the cloud. Today, we will learn about types of cloud. 

>> Remember: It Doesn’t matter which cloud provider you use. Types of clouds would remain same. 


We have 4 different types of clouds:

    
## 1) **Public**

- A public cloud is a shared place with no physical separation between the hardware & resources. Anyone who is using the public cloud to deploy their application or using any resources will be at the same shared place. However, they won’t have access to each other apps, or resources.

_In a layman language, the public cloud is a big space and the cloud provider will assign the space or resources or computing resources as required by customer. Public cloud  (hardware) are not physically segregated._

Eg: think it like a public tennis court where everyone is coming and playing but they are in their court.

Security is a concern in public cloud. In the cloud, the ‘*security of the cloud’* is the responsibility of the cloud provider but *‘security in the cloud’* is the owner’s responsibility.
        
**Benefits:**
        
1) **Cost-effective:** Public cloud is cost-effective. As it is a shared resource and infra. The business will be paying only for the use.
        
2) **Scalable:** The solution can be easily scalable on-demand.
        
3) **Flexible:** The cloud solution on the public cloud is flexible as there are ample resources
        
4) **Reduce complexity:** A lot of complexity is handled by cloud providers. While designing and implementing the solution developers and organisations can focus on the actual work and not worry about the underlay complexity
        
5) **No maintenance cost:** The capital cost (CoPx) is low or almost zero.
        
**Drawbacks:**
        
1) **Security:** As it is a shareable cloud and multiple customers would be using it. Security could be a concern. 
        
2) **Minimal control:** As it is a public cloud then one would have minimum control for the underlying resources, hardware, network etc.
        
**Where to use it:**
        
- Test environments

- Static application or software developments.

- Where the demands are high and predictable.

- Apps focused on business operations
        
**Examples:**
        
Eg:  My [a11ytips.dev](http://a11ytips.dev) is hosted on the public cloud. I am using S3 to host it.

---
        
## 2) **Private Cloud**

- The private cloud is useful when data security is a priority. A private cloud is not a shared space but will be dedicatedly used by a single customer.

- The hardware is physically isolated and not shared by anyone else. It is solely dedicated to one customer.

Eg: Think of it as setting up your own private tennis court at your place and accessible only by authorise person.

**Benefits:**
        
- **Security**: As the hardware is isolated and has limited access. Security is at its best.

- **Total control**: One will have 100% control over the environment and doesn’t depend on the cloud provider. As one can add their own resources.

- **Performance**: As the solution will be dedicated to the business. Performance issues won’t be there.

- **Flexibility**: The benefit of owning the environment and resources is to have a flexible environment based on the demand or ever-changing requirements.

        
**Trade-offs:**

- **Time**: In private cloud the one owes the infra and resources. They need to spend a lot of time doing everything from scratch as compared to public cloud, manage, and on-demand scaling it.

- **Management**: One needs to manage the whole solution and would require time and money

- **Cost**: As this is a dedicated solution with hardware and resources the price would be higher as compared to the public cloud.

- **Scalability**: Infrastructure is not as easy to scalable on-demand as compared to the public cloud.
        

**Where to use it:**
        
- Anywhere the data security is crucial such as - Government, or any R&D organisation

- Any organisation where security or large or high data-centre requirements are.
        
**Example:**
        
A banking application dealing with the monetary and user’s sensitive information should be using a private cloud.
 
--- 
       
## 3) **Hybrid**

- This is the combination of Public and Private cloud. Resources can be combined together to build a solution.

- The customer can merge both - private and public cloud features and resources to get the best out of both. For sensitive information, the private cloud will be used and for non-sensitive public cloud will be used.

- The resources are typically orchestrated as an integrated infrastructure environment.
        
_Think it like you have two tennis court one is at our place (private) and one is at community park. Now, you will be paying for both and managing your time between them.
_
**Benefits:**
        
- **Scalable:** As it is combination of public and private scaling the solution is easy.

- **Best of both worlds:** We will be getting the best of both public and private cloud.
        
**Trade-offs:**
        
- **Cost:** Price could be higher as we are maintaining the two infra

- **Complex:** Complexity is high as now we have private and public both to manage and integrate.

- **Management:** Management will be a lot due to the two cloud solutions.
        
**Where to use it?**
        
Any application which has the requirements of both private and public. One can host their database in private and rest in public.
        
Eg: For my a11ytips, if I want to make a few sections public as they are not vulnerable then I will host them on the Public and for the user database I will host that in the private cloud. Now, my solution would be to design keeping in mind my database is in the private cloud and the rest is in the public cloud.
        
---


## 4) **Community**

- This is the type of cloud where the same type of business industry shares the resources. Eg: healthcare, finance, etc.  Sensitive data should be handled carefully in the community cloud model.

---

## Why it is important?

As a cloud developer or architect, as per your problem on can pick which type of cloud would be suitable. At high level we should consider which selecting type of cloud with: 

- Data Security

- Design complexity

- Cost of maintaining, running, and handling on-demand workloads, or peaks

- Availability

Happy Learning!!