Over the past years, I've played a leading role in helping to bring openness to the storage industry. At Nexenta, we inherited great technology from Sun Microsystems and went to market with an open core business model. This model, and a lot else, worked well and Nexenta has been called "the most disruptive storage company of the last 10 years" in part because of the impact we had on legacy, lock-in based proprietary vendors.
When I decided to leave Nexenta and to get back into the early stage of start-ups, I dug into OpenStack immediately. For an infrastructure entrepreneur with open source leanings, OpenStack is inspiring. The cloud and the software defined data center is too important to leave to proprietary software vendors and cloud service providers.
In short, I'm more than a little biased.
So keep that in mind when I say I think we can do better as a developer community.
For a generation we've heard that developers are starting to become more important as buyers of technology, not just as the creators of technology. And now, without a doubt, those of us that code, rule the budgets. Or do we?
I ask because it seems to me that some proprietary cloud vendors are taking more than they are giving to open source communities and yet the developers who, without a doubt, drive most proprietary cloud usage are using it more than ever. Even more, those whose projects and packages are effectively competing for sales with proprietary cloud vendors versions of that same code are still developing and even hosting their code on these services.
So let me reiterate—your own code is generating money for a provider that is itself taking potential users from you without doing too much in the way of helping the quality and capability of your code.
Everyone should have freedom to fork—I get that. However, some vendors of closed source cloud services seem to be taking the freedom to fork to extremes.
On the other hand, OpenStack shows the tremendous power of open source when adopted both by developers and by leading technology companies. Already there are thousands of developers contributing to OpenStack. While it is behind in features and capabilities versus some alternatives, the second derivative—the rate of contributions—is catching up.
So, what can we do to avoid this potential tragedy of the commons and to accelerate OpenStack catching up with proprietary public cloud providers?
A few ideas:
- Go cold turkey. Switch everything. Probably impossible but worth suggesting.
- Try not to use a proprietary flavor of something from a cloud provider when there is an open alternative you could use even by running a software package on your hosting provider. In other words, treat your current cloud vendor as IaaS. This way you can more easily switch to other clouds or to your own as needed.
- Keep an eye out for other sources of lock-in. For example, your applications may assume that the underlying IaaS behaves in a certain manner. Here I mean not that a particular DBAS is available, rather, for example, that VMs will provision in a certain way or in a certain window of time.
- Overall—treat dependence on closed clouds as technical debt. Allocate time and money to pay it off.
- Having reduced that technical debt, or that dependency on vendor-locked, closed cloud system, start using OpenStack private cloud as an example and other solutions as a part of your overall approach. Start small and gradually extend the extent of your development and operations environment that is not.
The value to you of moving away from a dependency on close infrastructure is more than removing some of the oxygen from a company whose relationship with open source is somewhat fraught. If you follow the above you will also truly have removed some technical debt and achieved a more flexible operating environment. In turn, this flexibility translates into better applications, better user experience, cost savings and revenue boosts.