OpenStack is a real platform doing real work for real users. So why does OpenStack have a reputation for not working? It falls into the lack of core-focus paradox: being too much to too many undermines your ability to do something well. In this case, we keep conflating the community and the code.
I have a long history with the project but have been pretty much outside of it (yay, Kubernetes!) for the last 18 months. That perspective helps me feel like I’m getting closer to the answer after spending a few days with the community at the latest OpenStack Summit in Sydney Australia. While I love to think about the why, the what the leaders are doing about it is very interesting too.
Fundamentally, OpenStack’s problem is that infrastructure automation is too hard and big to be solved within a single effort.
It’s so big that any workable solution will fail for a sizable number of hopeful operators. That does not keep people from the false aspiration that OpenStack code will perfectly fit their needs (especially if they are unwilling to trim their requirements).
But the problem is not inflated expectations for OpenStack VM IaaS code, it’s that we keep feeding them. I have been a long time champion for a small core with a clear ecosystem boundary. When OpenStack code claims support for other use cases, it invites disappointment and frustration.
So why is OpenStack foundation moving to expand its scope as an Open Infrastructure community with additional focus areas? It’s simple: the community is asking them to do it.
Within the vast space of infrastructure automation, there are clusters of aligned interest. These clusters are sufficiently narrow that they can collaborate on shared technologies and practices. They also have an partial overlap (Venn) with adjacencies where OpenStack is already present. There is a strong economic and social drive for members in these overlapped communities to bridge together instead of creating new disparate groups. Having the OpenStack foundation organize these efforts is a natural and expected function.
The danger of this expansion comes from also carrying the expectation that the technology (code) will also be carried into the adjacencies. That’s my my exact rationale the original VM IaaS needs to be smaller. The wealth of non-core projects crosses clusters of interests. Instead of allowing these clusters to optimize their needs around shared interests, the users get the impression that they must broadly adopt unneeded or poorly fit components. The idea of “competitive” projects should be reframed because they may overlap in function but not ui use-case fit.
It’s long past time to give up expectations that OpenStack is a “one-stop-shop” of infrastructure automation. In my opinion, it undermines the community mission by excluding adjacencies.
I believe that OpenStack must work to embrace its role as an open infrastructure community; however, it must also do the hard work to create welcoming space for adjacencies. These adjacencies will compete with existing projects currently under the OpenStack code tent. The community needs to embrace that the hard work done so far may simply be sunk cost for new use cases.
It’s the OpenStack community and the experience, not the code, that creates long term value.