Public Cloud vs Private Cloud

Public Cloud vs Private Cloud


The text that follows is a summary of our video. This month we discuss the real technical differences between public cloud vs private cloud. If you’re interested in more details about the cloud, we are constantly adding to our What is Cloud Computing Library.

We Aren’t Discussing Public vs On Premise Cloud

private cloud vs on premise cloud
On Premise vs Public Cloud

When you search for diagrams for public vs private cloud, you tend to get more of a logical diagram that shows on-premise vs public cloud which we’ve drawn above in our own diagram. That depiction, while helpful, isn’t an accurate representation of the differences between public and private clouds.

Let’s start with the basics, what is a Hypervisor?

To kick things off, we need to address what a hypervisor is so let’s define it:

It is a computer on which a hypervisor runs one or more virtual machines and it’s also called a host machine, and each virtual machine is called a guest machine.

Courtesy of Wikipedia

Also, For the ease of discussion, I am going to use terms that are relevant to the VMWare ecosystem of virtualization as it’s just more relatable for most people. Please note, there are many commercial and open source hypervisors out there.

public cloud vs private cloud logical diagram of a hypervisor picture

Let’s set the stage. When building a cloud using hypervisors, you start with a server, and you don’t install windows or linux but you install VMWare vSphere. The vSphere is the hypervisor making this machine a HOST and allows you to add a bunch of various guest operating systems. They can be almost any operating system that runs on x86 architecture. So let’s walk through public cloud and how the hypervisor is situated. I’ll start off by by building groups of hypervisor machines, In the VMWare world, this is referred to as an ESX cluster.

ESX Cluster

This cluster can absorb additional physical servers very easily which allows the resources of the new server to be allocated to the cluster as a pool of resources. The Virtual instances we use are spread amongst many servers throughout the racks and if one server goes down, the Virtual instances are spun up instantly on a different machine.

Public Cloud

Remembering that this example is for public cloud, look at how they sell VM instances. Their clients don’t really know about the infrastructure is behind the scenes. They don’t see the complexity of grouping hypervisor machines together. They just see the individual virtual machine instances that they purchase. They will typically purchase instances with some type of portal that allows them to add servers, CPU, RAM and storage. The client is only responsible for the actual VM instances and not the underlying infrastructure which is no simple feat to properly manage.

As far as billing, the clock starts when you spin up an instance, and they can be billed up to 720 hours per month. So in theory, you are mixed in with other firms on these massive ESX host farms which are logically separated. The networking between all of this is mainly software defined and the public cloud can add capacity simply by adding rows of servers and storage to keep some level of overhead above and beyond the forecasted client need.

Sample Public Cloud Offering Logical Diagram
Sample Public Cloud Offering Logical Diagram

Public Cloud in Review:

  • Massive ESX clusters
  • Instances are in a community cloud.
  • Secure but Limitations on Custom Hardware

Learn about some of the limitations of public cloud in our Disadvantages of Cloud Video

In public cloud, you don’t control the hypervisor, you are renting instances on someone else’s hypervisor.

Switching to Private Cloud…

Keeping some of the terminology in mind, A cloud provider allocates to you 3 servers and builds an ESX cluster on it for you. Remember that would be 3 servers, with hypervisors on each, clustered in a way that all the resources of these machines are pooled. Additionally, they give you access to storage and network and now you allocate your VM instances to the limit of your cluster.

public cloud vs private cloud diagram of ESX server addition of more RAM and CPU
Adding a 4th ESX Cluster Server to increase RAM and CPU by 25 units each

Let’s say you use 3 Servers for your cluster giving you the following capacity:

  • 100 vCPUs
  • 100 GBs RAM.

You can create 100 virtual servers each having 1 vCPU and 1 GB of RAM each. To grow, you can’t goto the service provider and ask for additional virtual machine instance (e.g. 1 CPU, 1 GB RAM), you will to add another dedicated server which is added to the ESX cluster. This gives you another bucket of resources from which you can add more VM instances with CPU and RAM.

When you grow, there’s a minimum step you will need to take, each at a substantial cost because you are buying 1 full server of compute even if you only want to add a single VM instance with 1GB of RAM and 1 vCPU.

bare metal servers being loaded into a data center rack

What is Bare Metal Hosting?

With some hosting providers, you will see an offering referred to as Bare Metal. Bare Metal is where you are handed raw machines where you can add your own hypervisor layer and create your own ESX-like environment.

In this case, you are no longer relegated to just VMWare and you can look at other commercial or open source hypervisors like Linux KVM or Xen.

So in public cloud you are using a shared hypervisor layer managed by the hosting provider. In Private Cloud you are using a private hypervisor layer where it can be managed by either the service provider or the end user.

In the end, there are many exceptions to these rules. You’ll find tons of exceptions to everything I’ve said but those are the fundamentals that we’ve seen here at ColoAdvisor. In the end, it comes down to who manages the hypervisor and is it shared or dedicated.

For additional information on cloud computing, check out our What is Cloud Computing library and also check out Is Virtualization Needed for Cloud Computing. You can also reach out to us at anytime using our contact page.