Having spent the last 15 months of my life, amongst other things, trying to build out services to support a Private Cloud, I have learned a few things:

Our view of what a Private Cloud should be has been influenced mainly by the Analysts, Forrester and Gartner decided a Private Cloud should be like a Public Cloud, but with limitations. Hardly a day goes by when I read a blog discussing either; another nail in the coffin of private cloud, or a glowing appraisal of the future of private cloud. Let’s look at this subject from another angle.

The reality is most Private Clouds are more “Cloudy” than Cloud, and serve a very different purpose to a Public Cloud. If I have cloud aware workloads, that can utilize the Public Cloud paradigms of: Agility, Flexibility, Scalability, Elasticity, why would I put them anywhere else? Public Cloud is the perfect location for anything that is truly built for a Cloud Environment. If I want to use Serverless Compute (e.g. Lambda or Azure Functions) or DBaaS, or PaaS, why would I try to build that into my Private Cloud?

The Public Cloud problem ‘problem’ often arises because lots of organizations have either tried to “Lift and Shift” traditional workloads to Public Cloud, or pushed new workloads to Public Cloud that have not been designed to utilize the target paradigm (Cloud Native or Cloud Aware). This is causing the $ sticker shock that is raising the question “Do we need to move things back on-premise into a Private Cloud?” However if you are not using anything other than IaaS in the Public Cloud do you have or need for the analyst definition of a Private Cloud? What is really required is a virtualization, or a container platform, with some level of automation, and governance. Yes you can almost certainly create a platform for production workloads that will work as well and cost less than a Public Cloud, but you will lose the ability to access all those sexy Cloud things that you are not using.

The concept of elasticity in a typical environment is non-existent, until you build cloud aware workloads. Using all those sexy cloud technologies like; In Memory Data Grids, Clustered/Elastic Compute, NOSQL data, messaging, serverless compute, containers & microservices is great but if you want that, use a Public Cloud, don’t try to build it into your Private Cloud, it’s too expensive. By the time you buy the platform, license a Cloud Management Platform, build your Blue prints and workflows, maintain and manage them, you have spent more than Public Cloud, and you don’t have an elastic consumption model, you have to build for capacity. (Even some of the so called Managed Private Cloud options, while they give some elasticity have minimum commits.)

I regularly hear “we want a Private Cloud with Self Service provisioning, and automation, complex governance, workflows etc.” Who is going to use that? Developers that are developing to the Cloud paradigm don’t want self service provisioning, they want automated provisioning. I want to commit code to Git, have Jenkins see the commit, invoke my CI/CD tools, build a new environment and tell me where I can go test my code. Workflows around management, automation and compliance make sense, but do you really need to license a $million product to achieve it?

I see the future of Private Cloud, is not really a copy of a Public Cloud, but a sub-set of cloud like functionality, that helps keep costs of trying to run non-cloud aware workloads in check. The reality of mobility in a Hybrid cloud is not really achievable either, spanning workloads across Private and Public Cloud has not worked. The promise of On/Off premise Azure or VMWare at AWS may help, but is that really a paradigm anyone wants to manage?  As our understanding of how to effectively use cloud matures, we will understand better where to run what workloads, and how to get the most out of both our Public and Private environments. The concept of a Private Cloud being a clone of a Public Cloud needs a touch of reality.