I recently ran across an opinion piece with an attention grabbing headline: Did Amazon Just Kill Open Source?
The author’s primary argument is that the industry is moving too fast for good architecture to take shape around open standards like inter-application protocols and common APIs (which take time and collaboration). He makes his case by pointing out that well thought out integration layers were a hallmark of early open source projects like Linux.
The article also layers in the idea that a glut of overlapping open source projects that don’t have clean integration layers has benefitted Amazon’s “full stack” cloud approach, which is easier for developers than sifting through many similar choices and tackling integration on their own.
His points are correct, in some contexts, but they have little to do with problems with open source as a concept or market model. Open source is here to stay. Even if managed cloud services replace some of what people do today with open source code, there will always be other aspects of any project that will inevitably come from the community. The concept is simply too big and too powerful to die, even at the hands of the mighty Amazon! 😉
Looking Past the Clickbait Headline
The other two question he raises are far more interesting to me:
- How will the process of defining open standards change to keep pace with the increasing rate of change we are seeing in technology? Do we have enough common layers in place for sharing between services and defining layers to allow the kind of autonomy promised by an approach like microservices, so developers operating in small teams can come together as a unified whole instead of (more rapidly) recreating the silos of the past?
- Is mass adoption of Amazon’s “new stack” for the cloud a good thing or a bad thing? Haven’t we seen this movie before where we overlook the fact that a hot new service used proprietary protocols and APIs in the name of simplicity? Only to end up locked in to that approach when the next shift in the market occurs?
For smaller developers with relatively simple needs, there’s no question Amazon is knocking it out of the park – meeting the needs of startups and smaller fast-moving projects has made AWS the 800-pound gorilla of the cloud space. But for large enterprise customers facing these questions, we are overwhelmingly hearing a different story, with three general priorities emerging:
- No More Lock in!
Whether they’ve been trapped in a bad vendor relationship, or stuck on a dead end code base, being locked in sucks and most large enterprises have avoiding lock-in near the top of their list. Instead they are forging relationships with at least two major cloud vendors to soften the impact of outages, and to give themselves negotiating leverage. As part of that they’re prioritizing cloud-independent IaaS and PaaS like OpenStack, CloudFoundry and OpenShift above developing their apps twice for the native cloud services form Amazon, Google or Microsoft. - We want open standard messaging!
This is related to, but not precisely the same as the first point. Yes, proprietary protocols lock you in and open standard protocols maximize choice. More and more though, applications in areas like supply chain or IoT need to exchange information with partners and customers, and open standard protocols are the best way to architect interactions with counterparties into your business processes. Lastly, messaging is not one problem, it is many, driven by the message exchange patterns and quality of service requirements of diverse use cases. Multiple standards have emerged and large enterprises need to be able to choose the right one for each interaction. - Open source is (still) a priority!
More than ever, large enterprises are turning to open source to implement new applications. As mentioned above, portable IaaS and PaaS is virtually all built on open source, and most big data analytics engines are built on open source. With messaging, the questions are always around “how do you integrate with x, y and z?” and more than ever x, y and z are open source tools.
Attention grabbing headlines do get clicks, and there are still too many people that conflate “open source” and “open standard” (not the same thing folks!), but every indication we can see says larger enterprises are treading carefully into the cloud, determined to not make the mistakes they made in the datacenter.