Distributed Operating Systems: Evolution or Revolution?

Distributed Operating Systems: Evolution or Revolution?

Talk at Software Circus 2015 in Amsterdam, NL

5c3807aaaf0ffefe6c75e3dbbb8588b5?s=128

Michael Hausenblas

September 11, 2015
Tweet

Transcript

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

    Cloud Advocate
 2015-09-11 | SoftwareCircus | Amsterdam
  2. © 2015 Mesosphere, Inc.

  3. © 2015 Mesosphere, Inc. What have all of them in

    common? 3
  4. © 2015 Mesosphere, Inc. 4 Scene 1:
 Why have an

    Operating System?
  5. © 2015 Mesosphere, Inc. An Operating System … • …

    provides abstraction of resources • … exposes common services • … enables faster app development 5
  6. © 2015 Mesosphere, Inc. Example: memory management a = 1

    6 Resource Abstraction
  7. © 2015 Mesosphere, Inc. Common Services • file system •

    network stack • memory management • job scheduling • access control • user management • package manager 7
  8. © 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
  9. © 2015 Mesosphere, Inc. App development • $$$ • Stability

    • $$$ 9
  10. © 2015 Mesosphere, Inc. 10 Scene 2:
 A Little Distributed

    Operating System History
  11. © 2015 Mesosphere, Inc. 11 https://www.quora.com/What-was-revolutionary-about-Plan-9

  12. © 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
  13. © 2015 Mesosphere, Inc. 13 Scene 3: Meet the Wizard

    of OS* *apologies for this horrible pun.
  14. © 2015 Mesosphere, Inc. 14 http://bitly.com/os-vs-dcos Local OS vs. distributed

    OS
  15. © 2015 Mesosphere, Inc. Distributed OS • local host OS,

    containers • scheduling (long-lived, batch) • networking • service discovery • stateful services • security • monitoring, logging, debugging 15
  16. © 2015 Mesosphere, Inc. Read more … 16 http://www.eightypercent.net/post/layers-in-the-stack.html

  17. © 2015 Mesosphere, Inc. 17 Scene 4:
 Building Distributed Apps

  18. © 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
  19. © 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/
  20. © 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
  21. © 2015 Mesosphere, Inc. We're hiring … 21 San Francisco

    New York Hamburg