Containers - (Austin Cloud Meetup April 2016)

11,799 views

Published on

What are they, and why are they important

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,799
On SlideShare
0
From Embeds
0
Number of Embeds
10,868
Actions
Shares
0
Downloads
13
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Containers - (Austin Cloud Meetup April 2016)

  1. 1. Derrick J. Wippler Blog: http://thrawn01.org Twitter: @thrawn01
  2. 2. Android Super NES Emulator http://www.superretro16.com/
  3. 3. Containers
  4. 4. What Containers Are NOT
  5. 5. DOCKER != CONTAINERS
  6. 6. Container Technology is provided by the Linux Kernel
  7. 7. NOT LXC
  8. 8. Linux Kernel Containers
  9. 9. Everything you need to create and run containers already exists in the linux kernel
  10. 10. Everything you need to create and run containers already exists in the linux kernel
  11. 11. However…….
  12. 12. CHROOT
  13. 13. CHROOT PROVIDES Isolate Process & File systems
  14. 14. CHROOT
  15. 15. CHROOT Kernel Namespaces CGroups
  16. 16. Namespaces
  17. 17. PID Namespaces NET Namespaces
  18. 18. PID Namespaces Provide Process Isolation
  19. 19. PID NameSpace 1
  20. 20. PID NameSpace 1 PID NameSpace 2 PID NameSpace 3 PID NameSpace 4
  21. 21. PID NameSpace 1 PID NameSpace 2 PID NameSpace 3 PID NameSpace 4 CHROOT ?
  22. 22. NET Namespaces
  23. 23. NET Namespaces Provide Network Isolation
  24. 24. Root NET Namespace NET Namespace 1 NET Namespace 2
  25. 25. Root NET Namespace NET Namespace 1 NET Namespace 2
  26. 26. Network your chroots together inside the kernel
  27. 27. Network your chroots together inside the kernel Sounds like - VM Hypervisor
  28. 28. Container is NOT a VM
  29. 29. Container is NOT a VM VM’s run entire OS
  30. 30. Container is NOT a VM VM’s run entire OS Containers run a single process
  31. 31. <demo>
  32. 32. Prepare for coolness
  33. 33. Remember, when you start a container, you are just starting a process with namespaces
  34. 34. Existing container workloads on VMs 1X DataCenters
  35. 35. Configuration Management
  36. 36. Infrastructure is in a known state. Prevent Infrastructure drift. Self Healing
  37. 37. Container Images treated as immutable No more Infrastructure Drift
  38. 38. Prevent Infrastructure drift Infrastructure is in a known state Self Healing
  39. 39. Clustering
  40. 40. What is Kubernetes Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the user's declared intentions.
  41. 41. Kubernetes Monitoring Builtin support for application level health checks (DB Checks, Socket & Http checks, etc…) Automatically restart crashed processes (aka containers) Natively React to Monitor Events
  42. 42. Prevent Infrastructure drift Infrastructure is in a known state Self Healing
  43. 43. MANAGED BY KUBERNETES Self healing No Infrastructure Drift Infrastructure is in a known state Reliability
  44. 44. Why do we need Configuration Management?
  45. 45. What about Operating System Configuration?
  46. 46. Immutable Operating Systems Immutable Infrastructure AKA
  47. 47. Brandon Phillips CTO Alex Polvi CEO
  48. 48. All you need is a OS that can run Containers
  49. 49. No Package Manager Immutable Config files
  50. 50. Why configure the OS? Our containers can contain all OS config files and daemons necessary for our application to run
  51. 51. How to configure all the disparate containers?
  52. 52. Consistent Distributed Key Store
  53. 53. Why do we need Configuration Management?
  54. 54. Brian Redbeard Principal Architect CoreOS
  55. 55. “If we do our job correctly, future releases of CoreOS will NOT have SSH server installed”
  56. 56. “If we do our job correctly, future releases of CoreOS will NOT have SSH server installed”
  57. 57. How you would design your infrastructure/software if you were unable to SSH into the host OS?
  58. 58. Typical Operating System Kernel Configuration Storage Workloads
  59. 59. Typical Operating System Kernel Configuration Storage Linux Kernel /etc FileSystems EXT4 Workloads Processes
  60. 60. Typical Operating System Kernel Configuration Storage Linux Kernel /etc FileSystems EXT4 Kubernetes etcd ISCSI Block or FSAS Workloads Processes Containers
  61. 61. Cloud Operating System
  62. 62. Infinite CPU Power Distributed Scale Self Healing Always Available
  63. 63. GIFEE
  64. 64. GIFEE Google Infrastructure For Everyone Else
  65. 65. All I WANT create my application in a container make it scale I don’t want it to go down
  66. 66. Blog: http://thrawn01.org Twitter: @thrawn01

×