Innovation not waiting for the old guard to die
The physicist Max Planck famously declared: "Science advances one funeral at a time". IT can often feel like this. In our own data centres incomprehensible design choices are retained and implemented because "that's how it's always been". Vendors become inflexible and begin to view all problems as things to be contorted and manipulated such that their existing portfolio will solve the problem.
For innovation to move faster than the passing of the torch from one generation to the next there needs to be a means to incorporate new solutions with minimal risk. The "plug and play" nature of OpenStack (mostly) works.
Any component can be swapped out and replaced with something else. Even seemingly major parts of OpenStack – such as Cinder – can be replaced if someone feels there's a good reason to do so. Neutron – the core Software Defined Networking (SDN) and Network Function Virtualization (NFV) component – is a common target. To be fair, SDN and NFV are common targets in all stacks vying for datacenter dominance.
Neutron has originally designed merely as a reference implementation, and the NFV portion isn't really all that good. At the OpenStack conference in Vancouver in May 2015 I met a number of companies that offered replacements for some or all of Neutron. (If VMworld should be renamed "StorageWorld", OpenStack was "SDNWorld".)
Don't feel that the NFV options in Neutron are good enough? License a commercial alternative and with a little bit of work your OpenStack deployment now uses Midokura instead. Easy peasy.
This has allowed innovation to find a home.
When I talked about storage previously, I talked about array vendors. These folks sell storage that's separate from compute and networking and simply plugs in to OpenStack in a manner not so very different from how it's worked for ages.
This is what most organisations are comfortable with, but other storage categories are emerging. Hyperconvergence is a great example, and you'll find vendors like VMware, Maxta, SimpliVity, Nutanix all offering up OpenStack compatibility. For many of the hyperconverged players there's more to their integration than just a Cinder driver, and that's really the point.
By levelling the playing field OpenStack encourages innovation. If your storage array can be easily swapped for any other without affecting anything else in the stack then you have to start competing on merit. Either your prices have to be better than the next guy or you have to do something clever with that storage that the next guy can't do nearly so well.
And maybe making storage arrays isn't enough. Those pesky hyper-converged companies can do storage and compute together. Some are adding networking, better management tools, integration with public clouds, and more. Maybe there's some value in "doing one thing and doing it well", maybe that deep integration is appealing.
OpenStack is ready for the enterprise, the service provider, the SMB and everyone in between. That doesn't mean those organisations are ready for OpenStack. Working with OpenStack requires discarding everything we've learned about how infrastructure "should" work and relearning a new, more dynamic and interchangeable "should".
OpenStack is incomplete, and it always will be. OpenStack can never be finished because the companies that participate in its ecosystem will be constantly inventing new niches that require new standards and new means of integrating with the rest of the stack whilst preserving that "design out lock-in" mentality.
OpenStack is the attempt to provide a framework for IT infrastructure to interoperate without having to have such things be legislated. We can't let IT infrastructure compatibility be legislated.
Computers are not trains. We don't have hundreds of years to sort-of-but-not-quite get things standardised. IT evolves far faster that governments ever will and it has outgrown the increasingly bureaucratic standards bodies used thus far.
OpenStack is more than just a means to manage and maintain IT infrastructure. It's a grand experiment in changing how we deal with change. It is as much about balancing the needs of the many against the profit of the few as it is about lighting up a VM or providing a self-serve user interface.
OpenStack may fail. OpenStack may succeed. Either way, it will change how we manage change in our data centres forever. ®