Talk at Software Circus 2015 in Amsterdam, NL
Distributed Operating Systems:Evolution or Revolution?Michael Hausenblas, Developer and Cloud Advocate 2015-09-11 | SoftwareCircus | Amsterdam
View Slide
© 2015 Mesosphere, Inc.
© 2015 Mesosphere, Inc.What have all of them in common?3
© 2015 Mesosphere, Inc. 4Scene 1: Why have an Operating System?
© 2015 Mesosphere, Inc.An Operating System …• … provides abstraction of resources• … exposes common services• … enables faster app development5
© 2015 Mesosphere, Inc.Example: memory managementa = 16Resource Abstraction
© 2015 Mesosphere, Inc.Common Services• file system• network stack• memory management• job scheduling• access control• user management• package manager7
© 2015 Mesosphere, Inc.Example: network stack8Common Servicesint socket(int domain, int type, int protocol);int bind(int sockfd, struct sockaddr *my_addr, int addrlen);int connect(int sockfd, struct sockaddr *serv_addr, int addrlen);int listen(int sockfd, int backlog);pingnetstatethtooltracerouteifconfig
© 2015 Mesosphere, Inc.App development• $$$• Stability• $$$9
© 2015 Mesosphere, Inc. 10Scene 2: A Little Distributed OperatingSystem History
© 2015 Mesosphere, Inc. 11https://www.quora.com/What-was-revolutionary-about-Plan-9
© 2015 Mesosphere, Inc.• [1] http://plan9.bell-labs.com/plan9/• [2] Google, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines http://research.google.com/pubs/pub35290.html• [3] http://j.mp/google-stack121980 1990 2000 2010Plan9, Bell Labs [1]Google's stack [2], [3]Mesos, Docker, Kubernetes
© 2015 Mesosphere, Inc. 13Scene 3:Meet the Wizard of OS**apologies for this horrible pun.
© 2015 Mesosphere, Inc. 14http://bitly.com/os-vs-dcosLocal OS vs. distributed OS
© 2015 Mesosphere, Inc.Distributed OS• local host OS, containers• scheduling (long-lived, batch)• networking• service discovery• stateful services• security• monitoring, logging, debugging15
© 2015 Mesosphere, Inc.Read more …16http://www.eightypercent.net/post/layers-in-the-stack.html
© 2015 Mesosphere, Inc. 17Scene 4: Building Distributed Apps
© 2015 Mesosphere, Inc.Building Distributed Apps• Focus on business logic (but beware of leaky abstraction)• Selection of scheduler or roll-your-own• How to build, test and distribute container images (CI/CD)?18
© 2015 Mesosphere, Inc.Example: a simple Marathon app• e-Commerce demo• Redis/nginx Web app• ELK stack-based analytics19Building Distributed Appshttps://mesosphere.com/blog/2015/06/21/web-application-analytics-using-docker-and-marathon/
© 2015 Mesosphere, Inc.Conclusion• Distributed OS are a revolution …• … but also an evolutionary step!• You should use distributed OS:• increase developer agility• reliable & scalable operations20
© 2015 Mesosphere, Inc.We're hiring …21San FranciscoNew YorkHamburg