Engineering the Future of Software
November 13–14, 2016: Training
November 14–16, 2016: Tutorials & Conference
San Francisco, CA

POSIX for the data center

Karl Isenberg (Mesosphere)
3:50pm–4:40pm Wednesday, 11/16/2016
Distributed systems
Location: Tower Salon A Level: Beginner

Prerequisite knowledge

  • General familiarity with operating systems, containers, and distributed systems

What you'll learn

  • Learn what Kubernetes, Docker UCP, and DC/OS have in common and see what a common interface might look like for operating these distributed operating systems in the cloud and in the data center

Description

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.

Photo of Karl Isenberg

Karl Isenberg

Mesosphere

Karl Isenberg is a distributed systems architect at Mesosphere working on DC/OS (the Datacenter Operating System). Prior to Mesosphere, Karl worked on CloudFoundry and BOSH at Pivotal. Karl’s current side projects include Probe (a service-ready check), Inject (a Golang dependency injection library), and Mesos Compose Docker-in-Docker. Karl is, as of this writing, the only person to have been a committer on CloudFoundry, Kubernetes, and DC/OS, so he is uniquely qualified to address the container platform market, cloud-native frameworks, lifecycle management strategies, and deployment tools in general. Karl’s publications include Obfuscation, an irregularly updated tech blog, and a more active stream of technology-related tweets.