Amdahl’s Law and the Revenge of Private Clouds
Let’s face it -- those of us on the private cloud side of the house have not had great years. While public clouds have grown exponentially, private clouds have fallen significantly short of expectations. Vendors such as HPE, Cisco, RackSpace etc. have all exited or massively reduced their OpenStack efforts. And on the customer side, telcos (broad adoption) and a handful of Fortune 500 types have adopted private clouds built on OpenStack.
Why is this? The answer lies in a the Amdahl’s Law:
Slatency(s)= 1/((1-p) + p/s)
Slatency is the theoretical speedup of the execution of the whole task;
s is the speedup of the part of the task that benefits from improved system resources;
p is the proportion of execution time that the part benefiting from improved resources originally occupied.
I’m going to modify the law, to bring in into a business context. We will look at the improvement to a business in response to a technology investment:
Simprovement(sp)= 1/((1-p)/sl + p/sp))
Simprovement is the theoretical business improvement;
sp is improvement to the part of the business that benefits from the investment;
sl is the degradation to the part of the business not benefiting from the investment;
p is the proportion of business benefiting from the investment.
Having developed an elaborate total-cost-of-ownership (TCO) model that compared public clouds and private clouds, it is easy to show a 30-60% cost reduction for private. Let’s take the average: 45%. So if you can get 1 VM for $1 on a public cloud, you can get 1VM for $0.55 on a private cloud (or 1.8VMs/$1). So sp = 1.8. That sounds pretty good right? Yes, until you apply the modified Amdahl’s law.
Let’s assume that IT/OPS costs are 20% while app development costs are 80% of the total IT budget. That means, p = 0.2.
Next comes the non-intuitive part, private clouds actually degrade app development productivity as compared to public clouds since they lack the gazillion services available on a public cloud ranging from the mundane database to the fancy AI engine. Let’s assume the degradation is a modest 15%. So if it takes 1 developer/app on a public cloud, it takes 1 developer/0.85 app on a private cloud.
Crunching the numbers:
Simprovement = 1/(0.8/0.85 + 0.2/1.8) = 0.95
So! Instead improving the business, a private cloud investment is actually detrimental by looking at just the economics. This explains the current private cloud malaise. Net-net people investing in a private cloud are doing it for reasons other than app developer productivity.
But that’s all about to change. MEC and edge computing require private cloud technologies.
Will public cloud vendors win on the edge? I don’t think so. I equate public clouds to fancy restaurants. There’s complete chaos in the kitchen, but a soothing calm prevails on the customer-facing part of the restaurant. Imagine if the restaurant exposed the kitchen to customers. That's tantamount to public clouds exposing their technology to customers. Net-net, despite Green Grass from AWS and IOT Edge from Microsoft, I don’t expect public clouds to win in the edge. And the early stalwarts of private clouds aka big companies are bruised and fatigued. Therefore it will be new open source projects and startups around those projects that will win; plus these new projects are unlikely to be OpenStack based.
Case in point, check out the Container4NFV project (formerly known as OpenRetriever, a project where I’m a committer) and specifically the Next Gen VIM scheduler requirements document . The document lays out requirements for a next-gen edge computing infrastructure platform. On behalf of all of us contributors, we’d welcome feedback!
In summary, while not terribly successful in the datacenter, I think private cloud technologies are going to be back with a vengeance in the edge computing use case.