Many companies pursue private clouds as an alternative to public clouds like AWS (Amazon Web Services) or Microsoft Azure.
Private clouds can provide a semblance of the public clouds's infinite, on-demand, self-service pool of computing resources.
But even the most successful private clouds fall short of the best public clouds. Why?
Public clouds leverage a huge marketplace
Public clouds efficiently provide an illusion of near infinite resources on-demand by tapping into a huge marketplace of supply and demand.
Its very likely in such a marketplace that as one user provisions more resources, another user is de-provisioning. Resources can be efficiently shifted from one user to another without having to actually stand up more hardware.
The scale of this marketplace is particularly useful when temporarily provisioning resources to burst workloads such as large test suites. Because of the sheer large size of the marketplace, a relatively small buffer of unused hardware is enough to smooth out bumps in demand.
In a private cloud, some resource shifting can be done, but the result will not be nearly as effective because the number of users and projects that make up a private cloud is so much smaller.
As a result, private clouds will always need to be significantly over-provisioned to meet large fluctuations in demand. Especially given that it’s difficult to deprovision unused resources during periods of low demand (such as nights and weekends).
This is one reason your private cloud won't be able to get the same level of utilization or efficiency as a public cloud and, to reduce waste during periods of low utilization, would be sized smaller than needed to satisfy your peak workloads, resulting in longer cycle times.
Public clouds leverage the expertise of many smart, hard to find people
It's tempting to think that once you setup a cloud, the automated management software will take over, like magic elves behind the scenes.
But no matter how good the software, many smart people are required to manage and operate a public or private cloud. It’s much, much harder for most companies to attract and hire the number or quality of specialized experts needed to maintain their private cloud.
Don’t underestimate the ongoing operational effort - the system is constantly evolving. New hardware is replacing old hardware, performance is being tuned, and new features are being added in response to the constant changes in usage patterns.
In the public cloud, these experts get plenty of practice applying their specialized skills every day rather than just a few times per year.
The pool of talent and level of readiness required for running public clouds is simply inaccessible to all but a handful of large, leading-edge tech companies. Unless of course you are using the public cloud :)
Public clouds eliminate the uncertainty and overhead of advanced planning
A big benefit of on-demand services is less advanced planning and the resulting reduction in risk. Don’t underestimate the value of being able to react quickly as circumstances change.
There is a huge opportunity cost in the alternative - the time spent creating long term plans, associated contingency plans, and keeping them updated over time. Instead, take the time and attention cycles and focus them on your company's core business. It will create more innovation and growth for your company.
It's the same reason I like the Amazon Prime service. What I value the most is that I don’t have to plan ahead or worry about inventory levels. Just order what you need when you need it.