If you’re among those who still think that open source is just for hobbyists and academics, think again. Open source is mature now, both as a concept and as tools for building enterprise IT, and we have two major shifts in understanding to thank for that.
The first key change is that there’s a much more mature understanding now of how the layers of IT architecture relate to each other – of what fits where, in other words. Instead of trying to do too much, adding in every feature or capability that might be related, open source projects have become more focused.
For example, instead of misunderstanding them as rivals, we can now see OpenStack and Kubernetes for what they are. The former is an infrastructure layer, upon which you can run platform layers such as the latter. In parallel with that, open source developers now better understand the need to align their projects with each other. That’s partly driven by users pushing for interoperability – make that easier and you get more users. But it’s also the growing recognition that, as open source usage increases, their project is part of something much bigger – potentially a whole suite of interoperating enterprise-grade software. Open infrastructure, as it’s already being called.
Would you like Kubernetes with that, too?
A good example is the way that hardly a week goes by now without a reference to some new cooperation or interworking with Kubernetes. It was there at the recent Cloud Foundry Summit, it was there when I spoke with Red Hat and SUSE, and it’s here in spades at this week’s OpenStack Summit in Berlin – or the Open Infrastructure Summit, as it’ll be from next year.
What we see is that Kubernetes has won the platform debate. Most major players in the cloud-native ecosystem seem agreed that Kubernetes will be the common platform orchestration layer over or under which they’ll all build – and they have aligned themselves and their own software accordingly.
For example, development frameworks such as OpenShift and Cloud Foundry were once positioned as the key platform layers, but it is more likely now that you will find them used as application layers within Kubernetes, rather than vice versa. And while Docker is still popular as a container format, those containers are likely to run on a Kubernetes platform. Focus on your strengths, is the message.
We should perhaps retain a little caution, of course. The open source community has been notorious in the past for rebel developers deciding that such-and-such a project has “sold out” or taken a wrong turn, and setting up a fork or rival project. After all, even Kubernetes was once the young upstart, with the early attention focused instead on Docker.
The case for open infrastructure
But we should also take comfort in that community’s growing maturity, and with the greater speed of open source. Not just the velocity of development, which is impressive, but also the speed with which the people driving projects are willing to pivot and embrace new and better ideas.
And I get a distinct sense that, as APIs and open standards come to dominate our thinking, modularity is now accepted as the way to get things done. Need a container orchestration layer? Don’t reinvent the wheel. Need converged file, block and object storage? Ceph has come on in leaps and bounds – but even if it doesn’t suit, there’s alternatives.
So yes, open infrastructure is a reality now. Sure, there will be use cases where it’s not appropriate or where proprietary software will be a better fit. But it’s become an attractive alternative for a growing number of organisations.
Originally published on Freeform Dynamics’ Computer Weekly Blog – Write Side Up