about me brandonphilips cto co founder github com philips
play

About Me @brandonphilips CTO/CO-FOUNDER github.com/philips - PowerPoint PPT Presentation

About Me @brandonphilips CTO/CO-FOUNDER github.com/philips systems engineer Why build CoreOS? containers run and isolate apps containers what is it exactly? libc python django app.py $ /usr/bin/python run app.py libc python django


  1. About Me @brandonphilips CTO/CO-FOUNDER github.com/philips systems engineer

  2. Why build CoreOS?

  3. containers run and isolate apps

  4. containers what is it exactly?

  5. libc python django app.py

  6. $ /usr/bin/python run app.py

  7. libc python django app.py

  8. example.com/myapp libc python django app.py

  9. $ container fetch example.com/myapp $ container run example.com/myapp

  10. pid ns isolated pid 1

  11. user ns isolated uid 0

  12. network ns isolated netdev

  13. mount ns isolated /

  14. cgroups manage resources

  15. cgroups count resources

  16. cgroups limit resources

  17. docker engine

  18. google lmctfy cloud foundry garden mesos containers lxc systemd-nspawn

  19. containers how are they created?

  20. containers super-powers

  21. App independence from the OS. System to get container to the server. Resource isolation between apps.

  22. OS reduced API contracts

  23. distro distro distro distro distro distro distro distro kernel python systemd java etcd nginx app ssh mysql docker openssl

  24. distro distro distro distro distro distro distro distro kernel python systemd java etcd nginx app ssh mysql docker openssl

  25. distro distro distro distro distro distro distro distro python app1 openssl-A kernel java systemd app2 openssl-B etcd ssh java app3 docker openssl-B

  26. manual updates

  27. automatic updates

  28. automatic updates

  29. auto updates atomic with rollback

  30. OS super-powers

  31. Opportunity for automatic updates. Consistent set of software across hosts. Base OS independent from app.

  32. clustering design for host failure

  33. etcd

  34. /etc distributed

  35. open source software sequentially consistent exposed via HTTP runtime reconfigurable

  36. -X GET Get Wait -X PUT Put Create CAS -X DELETE Delete CAD

  37. Available

  38. Available

  39. Available

  40. Unavailable

  41. Available Leader Follower

  42. Available Leader Follower

  43. Temporarily Unavailable Leader Follower

  44. Available Leader Follower

  45. etcd super-powers

  46. Share configuration data across hosts. Resilient to host failures. Designed for consistency across hosts.

  47. scheduling getting work to servers

  48. You Scheduler API Scheduler Machine(s)

  49. $ cat foo.service [Service] ExecStart=/usr/bin/sleep 500 $ fleetctl start foo.service Job foo.service launched on e1cd2bcd.../172.17.8.101

  50. while true { todo = diff(desState, curState) schedule(todo) }

  51. while true { todo = diff( desState , curState) schedule(todo) }

  52. while true { todo = diff(desState, curState ) schedule(todo) }

  53. while true { todo = diff(desState, curState) schedule (todo) }

  54. job scheduling fleet mesos kubernetes swarm

  55. coordination locksmith

  56. scheduling super-powers

  57. Think about app capacity first. Take advantage of compute resources. Build for resilience to host failure.

  58. service discovery skydns, discoverd, confd

  59. service discovery magic proxies

  60. OS Containers Cluster Configuration Job Scheduling Service Discovery

  61. Wednesday 6:00pm AKL Continuous Delivery Meetup. CoreOS: An Introduction Thursday 6:00 PM Go AKL Meetup etcd (and maybe rocket) Friday 10:40am LCA CoreOS Tutorial

Recommend


More recommend