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

Distributed Operating Systems: Evolution or Revolution?

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

    View Slide

  2. © 2015 Mesosphere, Inc.

    View Slide

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

    View Slide

  4. © 2015 Mesosphere, Inc. 4
    Scene 1:

    Why have an Operating System?

    View Slide

  5. © 2015 Mesosphere, Inc.
    An Operating System …
    • … provides abstraction of resources

    • … exposes common services

    • … enables faster app development
    5

    View Slide

  6. © 2015 Mesosphere, Inc.
    Example: memory management
    a = 1
    6
    Resource Abstraction

    View Slide

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

    • network stack

    • memory management

    • job scheduling

    • access control

    • user management

    • package manager
    7

    View Slide

  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

    View Slide

  9. © 2015 Mesosphere, Inc.
    App development
    • $$$

    • Stability

    • $$$
    9

    View Slide

  10. © 2015 Mesosphere, Inc. 10
    Scene 2:

    A Little Distributed Operating
    System History

    View Slide

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

    View Slide

  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

    View Slide

  13. © 2015 Mesosphere, Inc. 13
    Scene 3:

    Meet the Wizard of OS*
    *apologies for this horrible pun.

    View Slide

  14. © 2015 Mesosphere, Inc. 14
    http://bitly.com/os-vs-dcos
    Local OS vs. distributed OS

    View Slide

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

    • scheduling (long-lived, batch)

    • networking

    • service discovery

    • stateful services

    • security

    • monitoring, logging, debugging
    15

    View Slide

  16. © 2015 Mesosphere, Inc.
    Read more …
    16
    http://www.eightypercent.net/post/layers-in-the-stack.html

    View Slide

  17. © 2015 Mesosphere, Inc. 17
    Scene 4:

    Building Distributed Apps

    View Slide

  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

    View Slide

  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/

    View Slide

  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

    View Slide

  21. © 2015 Mesosphere, Inc.
    We're hiring …
    21
    San Francisco
    New York
    Hamburg

    View Slide