If you’ve spent much time in the open source world, then you might be familiar with the old saying: “Too many cooks spoil the broth.” While, of course, version control systems have long ago taken away many of the pains of dealing with multiple contributors to a code base, open source systems can face issues when dealing with new contributions that alter the core APIs.
In this episode of The New Stack Analysts podcast, The New Stack founder Alex Williams speaks with Ryan Jarvinen, developer advocate and open source evangelist at Red Hat, about how last week’s OpenShift 3.2 release and next month’s Kubernetes 1.3 release, both of which address this issue of API destruction through the use of extensions (OpenShift is based on Kubernetes). The interview was held at the OSCON open source conference, taking place this week in Austin. Listen to the interview on SoundCloud here:
Jarvenin explained that the company is already seeing this method of using extensions to safely add on to Kubernetes, rather than directly altering core APIs or code.
“When we look at the OpenShift code base, we’ll often have some of these experimental features available a little bit early in our code base,” explained Jarvenin. “Then we’ll upstream those into the mainline Kubernetes code once they’ve been more generally accepted by the wider community. This is kind of a model that I think we are going to see more and more contributors to Kubernetes adopting — developing extensions and allowing people to plug them into an existing stack and then evaluate them rather than trying to change the base APIs.”
Beyond contribution via extension, Jarvenin explores the new features being announced to increase performance, add support for more diverse application workloads, and provide more comprehensive cluster management.
ProtoBuf, for example, is a protocol developed by Google that works to reduce network data overhead by serializing data and sending it as language- and platform-neutral binary rather than as JSON streams, improving performance and making scalability much more achievable.
In terms of cluster management, the “Ubernetes” project is meant to allow multiple Kubernetes clusters to recognize each other while providing cross-cluster management. In explanation, Jarvenin asks if it is really a good idea to have, for example, 1,000 nodes all running with the same administrative command line tool, where one mistyped command can mean disaster. Ubernetes addresses that obvious issue, allowing for segmentation and overarching control.
Here is a video of the conversation:
Red Hat is a sponsor of The New Stack.
Feature image: Ryan Jarvinen, Red Hat developer advocate and open source evangelist (left), and The New Stack Editor-in-Chief Alex Williams.