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.

98234c645fe8c935edc0fec0186d28b8?s=128

Gareth Rushgrove

March 04, 2015
Tweet

Transcript

  1. The End of the General Purpose Operating System Puppet Labs

    Gareth Rushgrove And other stories of the future
  2. @garethr

  3. Gareth Rushgrove

  4. Gareth Rushgrove

  5. This talk

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

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

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

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

  10. The future is already here — it's just not very

    evenly distributed. Gareth Rushgrove William Gibson
  11. The hypervisor of containers The race to PID 1 Your

    container operating system The rise of the Unikernels Gareth Rushgrove
  12. Some problems

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

    memory Gareth Rushgrove
  14. Operating systems take a long time to boot, and we’re

    booting them more often Gareth Rushgrove
  15. Operating systems have a lot of moving parts that need

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

    Gareth Rushgrove
  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.
  18. The hypervisor of containers

  19. Gareth Rushgrove

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

  21. Challengers for the hypervisor of containers Gareth Rushgrove

  22. Coming from the operating system up Gareth Rushgrove

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

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

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

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

  27. Common themes Gareth Rushgrove

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

    Gareth Rushgrove
  29. Don’t count out… Gareth Rushgrove

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

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

    incoming
  32. Gareth Rushgrove Subplot - the user interface to the hypervisor

    of containers
  33. Coming from the user interface down Gareth Rushgrove

  34. The importance of APIs Gareth Rushgrove

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

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

    heavily at Twitter
  37. Gareth Rushgrove Don’t count out the Platform as a Service

    folks just yet
  38. Gareth Rushgrove Amazon has launched a beta of AWS Elastic

    Cloud Service
  39. Gareth Rushgrove And with Swarm, Docker want to own this

    user interface too
  40. The race to PID 1

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

  42. Gareth Rushgrove Not the real Systemd logo

  43. Gareth Rushgrove

  44. Gareth Rushgrove SystemD coming from the init system up

  45. Gareth Rushgrove Docker coming from the user interface down

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

  47. Gareth Rushgrove Both want to own supervision of processes

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

    to emerge
  49. The operating system inside a container

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

    Gareth Rushgrove
  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
  52. A base ubuntu container has 184 packages installed Gareth Rushgrove

  53. Just a few apt-get commands will see that increase to

    302 packages Gareth Rushgrove
  54. That’s a lot of things to track inside what’s meant

    to be a black box Gareth Rushgrove
  55. Minimal linux distros Gareth Rushgrove

  56. Gareth Rushgrove BusyBox

  57. Scratch images Gareth Rushgrove

  58. Lots of opportunities here for interesting tools Gareth Rushgrove

  59. The rise of the unikernels

  60. Gareth Rushgrove Hypervisors are actually awesome

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

  62. Gareth Rushgrove Mature tooling and experienced people

  63. Gareth Rushgrove What is a unikernel?

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

  65. Gareth Rushgrove No userspace

  66. Gareth Rushgrove You application is compiled into a kernel

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

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

    Application Containers
  69. Gareth Rushgrove Unikernel Hypervisor Hardware Unikernel

  70. Gareth Rushgrove Drastically smaller surface area for attack

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

    guarantees
  72. Gareth Rushgrove

  73. Gareth Rushgrove Warning: research projects ahead

  74. Gareth Rushgrove

  75. Gareth Rushgrove MirageOS

  76. Gareth Rushgrove Erlang on Xen

  77. Conclusions

  78. Understanding technology change in the large means understanding the economics

    of software companies Gareth Rushgrove
  79. Don’t expect all this to replace what we have now,

    but to run alongside it Gareth Rushgrove
  80. Many small devices and the internet of things Gareth Rushgrove

  81. Enterprise App Stores Gareth Rushgrove

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

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

  84. Questions? And thanks for listening