POSIX for the data center
The container orchestration wars are upon us. A dozen container orchestrators vie to be the kernel of the modern data center. But can the warring parties come together on a standard interface for modern cluster operations? Karl Isenberg explores what these parties have in common and outlines what a common interface might look like for operating these distributed operating systems.
|Talk Title||POSIX for the data center|
|Conference||O’Reilly Software Architecture Conference|
|Conf Tag||Engineering the Future of Software|
|Location||San Francisco, California|
|Date||November 14-16, 2016|
The operating system wars went on seemingly forever. Windows won the consumer. Linux won the server. Mac OS won the developer and artist. But they all speak POSIX (more or less). POSIX is a set of standards specifying the programmatic interface of an operating system. A small part of that is how to define processes and their relative priority so that they can be scheduled, but that’s just the tip of the iceberg. On a more recent battlefield, the container wars still smolder. Hostilities mostly ended with the establishment of the Open Container Initiative, an organization built to extract and merge the runtimes of the most popular containers. While Docker may have won the single-machine container runtime popularity contest, using containers in a cluster of machines adds a whole new layer of complexity. Today, Kubernetes, Docker UCP, DC/OS, and others battle for dominance—for that higher layer of abstraction. They all champion a different distributed kernel, a different method of resource management, a different scheduler, and a different API. But what if the warring parties came together? What if they settled their differences diplomatically, on paper, in the conference room? Karl Isenberg explores what these container orchestrators and distributed operating systems have in common, reflects on the pros and cons of standardization, and reviews Mesosphere’s latest effort to come up with an abstract new programmatic interface for the modern data center operating system.