devops n the operating system
play

Devopsn the Operating System John Willis Director of Ecosystem - PowerPoint PPT Presentation

Devopsn the Operating System John Willis Director of Ecosystem Development Docker, Inc. @botchagalupe a.k.a. John Willis 35 Years in IT Operations Exxon, Canonical, Chef, Enstratius, Socketplane Devopsdays Core


  1. Devops’n the Operating System John Willis 
 Director of Ecosystem Development Docker, Inc. 


  2. @botchagalupe • a.k.a. John Willis • 35 Years in IT Operations • Exxon, Canonical, Chef, Enstratius, Socketplane • Devopsdays Core Organizer • 35 Official Devopsdays • Devopscafe on iTunes • Organizer of Devops Enterprise Summit

  3. Devops Devops is a movement motivated to turn human capital into high performance organizational capital.

  4. First Generation Configuration Management Tivoli - Configuration Manager BMC - Bladelogic HP - Opsware

  5. Operations is a competitive advantage… (Secret Sauce for Startups!)

  6. Second Generation Configuration Management Cfengine Puppet Chef

  7. History of Virtualization • IBM 360/370 (1960/1970) • CHROOT - Version 7 Unix 1979 (Bell Labs) and BSD in 1982 (Berkley) • VMware (1998) • FreeBSD Jails 2000 • XEN 2003 • Solaris Zones 2004 • OpenVZ 2005 • Amazon Web Services 2006 • BTRFS (Oracle) 2007 • Namespaces 2007 • Cgroups (Google) 2007 • KVM 2007 • AIX LPARS (IBM) 2007 • Drawbridge (2008) • Hyper-V (2008) • Linux Containers - LXC (Parelles, IBM, Google) 2008 • Docker (Dotcloud Inc) 2013 • Rocket (Coreos) 2014 • Unikernels (2015)

  8. Virtualization • Type 1 Virtualization • VMware ESX, XEN, Hyper-V • (indirectly Amazon, Rackspace, etc..) 
 • Type 2 Virtualization • KVM, Virtualbox, QEMU, VMware Workstation • (indirectly Vagrant) 
 • OS Level Virtualization • OpenVZ, LXC, Docker

  9. http://www.slideshare.net/BodenRussell/realizing-linux-containerslxc

  10. Why OS Level Virtualization • Provision in milliseconds • Near bare metal runtime performance • VM-like agility – it’s still “virtualization” • Lightweight – Just enough Operating System (JeOS) • Supported with modern Linux kernel • Growing in popularity

  11. Introducing Containers Containerization uses the kernel on the host operating system to run multiple root file systems • Each root file system is called a container • Each container also has its own – Processes – Memory – Devices – Network stack 16

  12. Docker? • Isolation • Lightweight • Simplicity • Workflow • Community

  13. http://www.slideshare.net/BodenRussell/realizing-linux-containerslxc

  14. Docker and the Linux Kernel • Docker Engine is the program that enables containers to be distributed and run • Docker Engine uses Linux Kernel namespaces and control groups • Namespaces give us the isolated workspace 19

  15. Docker Client and Daemon • Client / Server architecture • Client takes user inputs and sends them to the daemon • Daemon runs and distributes containers • Client and daemon can run on Client the same host or on different hosts • CLI client and GUI (Kitematic) 20

  16. Understanding image layers • An image is a collection of files and some meta data • Images are comprised of multiple layers • A layer is also just another image • Each image contains software you want to run • Every image contains a base layer • Docker uses a copy on write system • Layers are read only • COW/Union Filesystems (AUFS/BTRFS) 21

  17. Dockerfile Examples

  18. Dockerfile Examples

  19. Socketplane Example

  20. Docker and Windows • Azure 
 • Azure Container Service • Swarm Integration • Windows Server 2016 
 • Windows Server Containers • Hyper-V Containers

  21. Immutable Infrastructure @bglpe

  22. Immutable Matters “The least-cost way to ensure that the behavior of any two hosts will remain completely identical is always to implement the same changes in the same order on both hosts.”

  23. Management Methods • Divergence • Convergence • Congruence

  24. Immutable Delivery

  25. Immutable Delivery

  26. Immutable Infrastructure

  27. Serverless • AWS Lambda • Azure Functions • Google Cloud Functions • Unikernels

  28. Enter Unikernels Unikernels are specialized virtual machine images complied from the modular stack of application code, system libraries and configuration.

  29. Enter Unikernels

  30. Unikernels

  31. Unikernels https://queue.acm.org/detail.cfm?id=2566628

  32. Unikernels http://rumpkernel.org/

  33. Why Unikernels • Performance • user-kernel context switches • instantiation times • Memory footprint • Security • less attack surface • No known architecture patterns • Fine-grained optimisation • as unikernels are constructed through a coherent compiler tool-chain, whole-system optimisation can be carried out across device drivers and application logic, potentially improving specialisation further

  34. Enter Unikernels Part of this is a numbers game – to run a reasonable system you might need to run 50 different services, and install 200 packages on every host. An attacker has to compromise just one of those to win - Gareth Rushgrove

  35. Unikernel Examples • DNS Server 446 KB • Web Server 674 KB • OVS Switch 393 KB • NTP server un-hacked for over a year • Docker for Mac/Windows

  36. Unikernel Opportunities • Composition and Orchestration • Logging and Monitoring • Networking • Debugging • Forces Immutability

  37. Unikernels

  38. john.willis@docker.com @botchagalupe http://ow.ly/Xt2ro

Recommend


More recommend