Private vs. Public Cloud – choose wisely
1. Cloud Approaches Overview
As mentioned in my previous article Cloud Technologies Unveiled – a Look behind the Scenes – there are several approaches when we are discussing the Cloud technologies. In this text we will try to compare Public and Private Clouds since there is a lot of confusion around which one to choose. At BULPROS, we have a special service called Enterprise Cloud Strategy, which is designed to help customers find their way into the mix of using these technologies. If you are interested, go to this link.
Let’s begin with some short descriptions of these concepts. There is a very common and simple explanation of what a Public Cloud is: “A public cloud is a type of computing in which a service provider makes resources available to the public via the internet”. With this model, you don’t have information and control over what is the underlying infrastructure.
On the contrary, Private Cloud is a model, where the Cloud consumption approach is transferred in-house and the Cloud environment is built and dedicated for the organization’s internal needs and usage. This gives the organization complete control over the underlying infrastructure.
2. Pros & Cons of the different Cloud types (Public vs. Private)
So now that we have the basic understanding of what each one is, from a definition perspective, let’s try to go deeper and compare the two concepts based on several key parameters.
Needless to say, when it comes to flexibility, Public Cloud is designed especially for that reason. Although the Private Cloud offers the same (or almost the same) experience from a business/user perspective, it still has its limitations. In case the demand for resources exceeds the hardware configuration of the Private Cloud, you are stuck and back to the well-known procurement process and constraints. On the other hand, in Public Cloud you can grow as much as you need literally in just a few clicks. And let’s not forget that flexibility also applies to the necessity to reduce your consumption. You can do that in both cases, but with the Private Cloud your investment is not protected.
But, let’s look at one more aspect of the term flexibility. Actually, from a technology perspective the Public Cloud is flexible – there is no question about that. But is it flexible from all the other aspects of an IT environment? In most conventional IT environments there is SLA tiering applied. Some applications are considered „supporting“, other are considered „important“, and there are „business critical“ ones. If we also count the Test and Dev environments, there are basically at least 4 SLA levels. And you can have different infrastructure associated with these different SLAs. In Public Cloud this is not really possible.
From my perspective, there is no need for discussion here. The management options and control a company gets in a Private Cloud scenario are much greater than what the Public Cloud can offer. Actually, this is one of the reasons why Private Cloud exists at all. You know exactly where your data and applications are, and you can apply different SLA’s and security policies to them. Lately, most Public Cloud vendors have begun to give customers the possibility to choose a geographic location, where the data would reside in order to comply with regulatory and company policies, but this is still far from being even close to the level of control you have in the Private Cloud scenario.
Let’s take the two-side approach here as well – what about management simplicity? Well, Public Cloud is generally easier to manage – no doubt. The single fact that you don’t have to take care of the underlying infrastructure is enough. But the problem is that our internal IT departments feel quite comfortable managing IT Infrastructure, while they are not that familiar with the concepts, tools and processes when it comes to managing Public Cloud.
Control, however, also means obligations. So the whole responsibility for running the environment, supporting, operating, updating, and keeping it compliant with different regulations, change management, etc. is up to the company in the case of Private Cloud. In a Public Cloud scenario, you are just using what your provider gives you, and that’s it. “Make it someone else’s problem” is the motto and you practically start caring from the OS above, in most cases. If you are using PaaS and not IaaS, then this means even fewer obligations.
That’s an easy one, right? We would all say Public Cloud, of course. And in most cases that would be true, actually. In Public Cloud you can scale your systems in seconds to minutes, whenever you need to, while in Private Cloud you are constrained by the limits of your physical infrastructure. But in reality we scale not only in size, but also in performance. And there are some performance requirements that Public Cloud cannot handle, yet. One example would be, if you are running a workload that requires a very big number of IOPS. That workload would have to be kept on-prem.
This is one of the biggest concerns for companies when they start building their Cloud strategies.
Honestly speaking, I think Public Cloud providers have reached a level of security that is acceptable for a big number of clients and companies out there. They have built-in Intrusion Prevention Systems (IPS) for their whole environment, they have email protection, etc. I think most SMB companies will never be able to get to that level of security, if they try to achieve it on their own. So for most of them relying on their Public Cloud provider can be good enough.
But when companies grow, so does their data as well as their online visibility and exposure. There are certain regulations and requirements that cannot be met in a Public Cloud, and can only be achieved in-house. A simple example is the PCI-DSS regulation, which does not forbid the Public Cloud approach, but defines requirements, that in reality cannot be met in a Public Cloud, as of today.
Well, it’s always about money, right? I don’t think there is a simple answer to the question of costs. The reality is, that at first Public Cloud seems to be more cost effective. Pay-as-you-grow, Start-Small-Grow-Big, monthly payments – you name it. If I am starting a business now I would definitely choose Public Cloud. Thus, I won’t have to make huge investments in infrastructure and operations, and maintenance, etc. It is a perfect solution for my needs. But the thing is, that when my business grows (hopefully), so will my consumption in the Cloud and my bill respectively. Will I be able to manage and predict the costs, and what options would I have to change this situation?
4. Dropbox vs. Netflix
Learning from the experience of others is the key to humanity’s progress. We already have enough experience with Public and Private Clouds to start learning from it and find our own truth in this situation. For some businesses, Public Cloud seems to be really suitable, while for others it can be inefficient and might put the business at risk.
The very well-known case of Dropbox vs. Netflix is a very good example of this. Dropbox started as a Public Cloud hosted solution, and at present, it is completely hosted in a Private Cloud environment. On the other hand, Netflix started as a Public Cloud solution and is currently still running in the Public Cloud.
The Dropbox exec team has come to the conclusion that running in the Public Cloud is not efficient for them, and they claim that migrating to their own infrastructure has saved them $75M, and has granted them the control they need.
Why is Netflix OK with Public Cloud and Dropbox not?
You can read a lot of different views on that topic out there, and they all have their strong and logical points, to be honest. In order to be successful, Dropbox needs to have control and to be able to optimize the resource usage to an extent that is not possible in the Public Cloud. And their utilization is easily predictable.
On the other hand, Netflix has a resource usage curve that is perfectly suitable for Public Cloud implementations. Netflix have huge spikes of usage on their platform, which are hard to predict and even harder to provide resource for, if you are running in-house.
Most companies, though, are neither Netflix, nor Dropbox. So where is the truth for most of us?
In 2018, the Federal Government released a Cloud Smart strategy for the government agencies, replacing the old Cloud First one. One of the reasons for introducing the new strategy was that “many organizations have struggled with cloud migration due to the lack of adequate planning, analysis and cloud implementation strategy that aligns with their IT portfolio requirements.”
To sum up: Be smart – assess, plan, design and only after you’ve gone through all these steps, start defining and then implementing your custom Go-To-Cloud strategy. We at BULPROS can help you during this long and complex process.