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

The End of the General Purpose Operating System

The End of the General Purpose Operating System

Talk for the London Devops meetup. Lots of speculation, talk of economic impact of technology advancement and big ideas. Hypervisors, containers, unikernels, and other future operating system trends.

Gareth Rushgrove

March 04, 2015
Tweet

More Decks by Gareth Rushgrove

Other Decks in Technology

Transcript

  1. The End of the General
    Purpose Operating System
    Puppet Labs
    Gareth Rushgrove
    And other stories of the future

    View Slide

  2. @garethr

    View Slide

  3. Gareth Rushgrove

    View Slide

  4. Gareth Rushgrove

    View Slide

  5. This talk

    View Slide

  6. What server operating systems
    are you running?
    Gareth Rushgrove

    View Slide

  7. Gareth Rushgrove
    I’m guessing most people said:

    View Slide

  8. Gareth Rushgrove
    Someone will try and be smart and say:

    View Slide

  9. Gareth Rushgrove
    And someone will hide the fact they’re running:

    View Slide

  10. The future is already here
    — it's just not very evenly
    distributed.
    Gareth Rushgrove
    William Gibson

    View Slide

  11. The hypervisor of containers
    The race to PID 1
    Your container operating system
    The rise of the Unikernels
    Gareth Rushgrove

    View Slide

  12. Some problems

    View Slide

  13. Operating systems are really big,
    both on disk and in memory
    Gareth Rushgrove

    View Slide

  14. Operating systems take a long
    time to boot, and we’re booting
    them more often
    Gareth Rushgrove

    View Slide

  15. Operating systems have a lot of
    moving parts that need managing
    and securing
    Gareth Rushgrove

    View Slide

  16. Our workloads are increasingly
    single purpose, rather than
    general purpose
    Gareth Rushgrove

    View Slide

  17. If my web application server is
    talking to a printer something has
    gone horribly wrong*
    Gareth Rushgrove
    *Or you work for Moo. Hi nice Moo people.

    View Slide

  18. The hypervisor of
    containers

    View Slide

  19. Gareth Rushgrove

    View Slide

  20. Gareth Rushgrove
    Xen, ESX and HyperV are
    Type 1 hypervisors

    View Slide

  21. Challengers for the
    hypervisor of containers
    Gareth Rushgrove

    View Slide

  22. Coming from the operating
    system up
    Gareth Rushgrove

    View Slide

  23. Gareth Rushgrove
    From RedHat, uses
    RPM-OSTree under the
    hood

    View Slide

  24. Gareth Rushgrove
    Built-in service-discovery
    and clustering support

    View Slide

  25. Gareth Rushgrove
    Snappy from Ubuntu,
    basically replaces apt-get
    with docker

    View Slide

  26. Gareth Rushgrove
    Docker running on
    Docker running as PID 1

    View Slide

  27. Common themes
    Gareth Rushgrove

    View Slide

  28. Cluster native
    Read-only file systems
    Atomic changes
    Integrated with Docker
    Gareth Rushgrove

    View Slide

  29. Don’t count out…
    Gareth Rushgrove

    View Slide

  30. Gareth Rushgrove
    VMware are already the
    hypervisor of virtual
    machines

    View Slide

  31. Gareth Rushgrove
    Don’t forget the
    Microsoft ecosystem, with
    Docker support incoming

    View Slide

  32. Gareth Rushgrove
    Subplot - the user
    interface to the hypervisor
    of containers

    View Slide

  33. Coming from the user
    interface down
    Gareth Rushgrove

    View Slide

  34. The importance of APIs
    Gareth Rushgrove

    View Slide

  35. Gareth Rushgrove
    The Kubernetes API is
    based on years of
    experience at Google

    View Slide

  36. Gareth Rushgrove
    Another Google Borg
    inspired project. Aurora is
    used heavily at Twitter

    View Slide

  37. Gareth Rushgrove
    Don’t count out the
    Platform as a Service
    folks just yet

    View Slide

  38. Gareth Rushgrove
    Amazon has launched a
    beta of AWS Elastic
    Cloud Service

    View Slide

  39. Gareth Rushgrove
    And with Swarm, Docker
    want to own this user
    interface too

    View Slide

  40. The race to PID 1

    View Slide

  41. Gareth Rushgrove
    Meanwhile, at a different
    part of the stack…

    View Slide

  42. Gareth Rushgrove
    Not the real Systemd logo

    View Slide

  43. Gareth Rushgrove

    View Slide

  44. Gareth Rushgrove
    SystemD coming from the
    init system up

    View Slide

  45. Gareth Rushgrove
    Docker coming from the
    user interface down

    View Slide

  46. Gareth Rushgrove
    SystemD already contains
    container functionality
    (systemd-nspawn)

    View Slide

  47. Gareth Rushgrove
    Both want to own
    supervision of processes

    View Slide

  48. Gareth Rushgrove
    Expect more overlap, and
    (separate) ecosystems of
    tools to emerge

    View Slide

  49. The operating
    system inside a
    container

    View Slide

  50. What’s wrong with running
    a full distro in a container?
    Gareth Rushgrove

    View Slide

  51. Gareth Rushgrove
    ~ » docker images
    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
    garethr/mirageapp latest e524b7c2faaa 2 weeks ago 2.402 MB
    swarm latest 92d78d321ff2 2 weeks ago 7.19 MB
    garethr/realapp latest 0fc02241d533 5 weeks ago 442.5 MB
    ubuntu latest b39b81afc8ca 6 weeks ago 188.3 MB
    ubuntu trusty b39b81afc8ca 6 weeks ago 188.3 MB
    jeanblanchard/busybox-java latest 906dc9067a40 5 weeks ago 160.2 MB
    busybox latest 4986bf8c1536 8 weeks ago 2.433 MB
    scratch latest 511136ea3c5a 20 months ago 0 B

    View Slide

  52. A base ubuntu container
    has 184 packages
    installed
    Gareth Rushgrove

    View Slide

  53. Just a few apt-get
    commands will see that
    increase to 302 packages
    Gareth Rushgrove

    View Slide

  54. That’s a lot of things to
    track inside what’s meant
    to be a black box
    Gareth Rushgrove

    View Slide

  55. Minimal linux distros
    Gareth Rushgrove

    View Slide

  56. Gareth Rushgrove
    BusyBox

    View Slide

  57. Scratch images
    Gareth Rushgrove

    View Slide

  58. Lots of opportunities here
    for interesting tools
    Gareth Rushgrove

    View Slide

  59. The rise of the
    unikernels

    View Slide

  60. Gareth Rushgrove
    Hypervisors are actually
    awesome

    View Slide

  61. Gareth Rushgrove
    Strong isolation
    guarantees, often
    enforced in hardware

    View Slide

  62. Gareth Rushgrove
    Mature tooling and
    experienced people

    View Slide

  63. Gareth Rushgrove
    What is a unikernel?

    View Slide

  64. Gareth Rushgrove
    A library to build your own
    operating system

    View Slide

  65. Gareth Rushgrove
    No userspace

    View Slide

  66. Gareth Rushgrove
    You application is
    compiled into a kernel

    View Slide

  67. Gareth Rushgrove
    Operating system
    Hypervisor
    Hardware
    Runtime
    Application
    Virtual machines

    View Slide

  68. Gareth Rushgrove
    Operating system
    Hypervisor
    Hardware
    Container
    Operating system
    Runtime
    Application
    Containers

    View Slide

  69. Gareth Rushgrove
    Unikernel
    Hypervisor
    Hardware
    Unikernel

    View Slide

  70. Gareth Rushgrove
    Drastically smaller
    surface area for attack

    View Slide

  71. Gareth Rushgrove
    Very fast to boot, but with
    strong isolation
    guarantees

    View Slide

  72. Gareth Rushgrove

    View Slide

  73. Gareth Rushgrove
    Warning: research
    projects ahead

    View Slide

  74. Gareth Rushgrove

    View Slide

  75. Gareth Rushgrove
    MirageOS

    View Slide

  76. Gareth Rushgrove
    Erlang on Xen

    View Slide

  77. Conclusions

    View Slide

  78. Understanding technology
    change in the large means
    understanding the
    economics of software
    companies
    Gareth Rushgrove

    View Slide

  79. Don’t expect all this to
    replace what we have now,
    but to run alongside it
    Gareth Rushgrove

    View Slide

  80. Many small devices and the
    internet of things
    Gareth Rushgrove

    View Slide

  81. Enterprise App Stores
    Gareth Rushgrove

    View Slide

  82. Evolution and revolution
    happen at the same time
    Gareth Rushgrove

    View Slide

  83. Times they are a-changin
    Gareth Rushgrove
    Bob Dylan

    View Slide

  84. Questions?
    And thanks for listening

    View Slide