Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Distributed Operating Systems: Evolution or Rev...

Distributed Operating Systems: Evolution or Revolution?

Talk at Software Circus 2015 in Amsterdam, NL

Michael Hausenblas

September 11, 2015
Tweet

More Decks by Michael Hausenblas

Other Decks in Technology

Transcript

  1. Distributed Operating Systems: Evolution or Revolution? Michael Hausenblas, Developer and

    Cloud Advocate
 2015-09-11 | SoftwareCircus | Amsterdam
  2. © 2015 Mesosphere, Inc. An Operating System … • …

    provides abstraction of resources • … exposes common services • … enables faster app development 5
  3. © 2015 Mesosphere, Inc. Common Services • file system •

    network stack • memory management • job scheduling • access control • user management • package manager 7
  4. © 2015 Mesosphere, Inc. Example: network stack 8 Common Services

    int 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); ping netstat ethtool traceroute ifconfig
  5. © 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-stack 12 1980 1990 2000 2010 Plan9, Bell Labs [1] Google's stack [2], [3] Mesos, Docker, Kubernetes
  6. © 2015 Mesosphere, Inc. 13 Scene 3: Meet the Wizard

    of OS* *apologies for this horrible pun.
  7. © 2015 Mesosphere, Inc. Distributed OS • local host OS,

    containers • scheduling (long-lived, batch) • networking • service discovery • stateful services • security • monitoring, logging, debugging 15
  8. © 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
  9. © 2015 Mesosphere, Inc. Example: a simple Marathon app •

    e-Commerce demo • Redis/nginx Web app • ELK stack-based analytics 19 Building Distributed Apps https://mesosphere.com/blog/2015/06/21/web-application-analytics-using-docker-and-marathon/
  10. © 2015 Mesosphere, Inc. Conclusion • Distributed OS are a

    revolution … • … but also an evolutionary step! • You should use distributed OS: • increase developer agility • reliable & scalable operations 20