DockerCon SF 2015: Keynote Day 1

Embed Size (px)

Citation preview

1. DockerCon Day 1 Welcome 2. Our mission is to build tools of mass innovation 3. Billions of creative people Incredible technology 4. Mass innovation 5. What is the biggest innovation multiplier today? 6. What is the biggest innovation multiplier today? PROGRAMMING 7. New hardware can do incredible things Millions of programmers Make it programmable Mass innovation 8. What new hardware could do incredible things if made programmable? 9. The Internet is pretty cool... 10. and getting lots of upgrades! Servers, phones, TVs, cars, sensors, drones, homes, watches, maps, payment systems, scientic equipment, virtual worlds, data banks, crypto- currencies... The Internet is pretty cool... 11. Could we make the Internet... 12. Could we make the Internet... PROGRAMMABLE? 13. App App App App App App App App App App App Eager developer The Internet Software walled gardens 14. App App App App App App App App App App App Happy developer The Internet Open software layer 15. For the next 5 years were going to build a software layer to make the Internet programmable 16. How do we get there? 4 big goals. 17. Goal 1 Reinvent the programmers toolbox 18. Building distributed applications is too hard, because the tools are not adequate. 19. Lets give programmers a toolbox designed for distributed applications. Developer experience matters! 20. 1. Choose one fundamental problem. 2. Solve it in the simplest possible way. 3. Repeat. Incremental Revolution 21. Problem 1: runtime How do I run my code repeatably on different machines? 22. Docker container runtime 23. Problem 1: runtime Problem 2: packaging & distribution How do I ship my code across many different machines? 24. Docker distribution tools 25. Problem 1: runtime Problem 2: packaging & distribution Problem 3: service composition How do I organize my application in scalable services? 26. Docker Compose 27. Problem 1: runtime Problem 2: packaging & distribution Problem 3: service composition Problem 4: machine management How do I deploy many machines to run my code? 28. Docker Machine 29. Problem 1: runtime Problem 2: packaging & distribution Problem 3: service composition Problem 4: machine management Problem 5: clustering How do I stop worrying about individual machines? 30. Docker Swarm 31. This is what incremental revolution looks like. 32. What problems are you solving next? 33. https://docker.com/experimental Docker experimental releases 34. experimental 35. Problem 1: runtime Problem 2: packaging & distribution Problem 3: service composition Problem 4: machine management Problem 5: clustering Problem 6: networking How do I securely connect my containers across machines? 36. The network should be part of the application, not the other way around. 37. SocketPlane + Earlier this year... 38. 3 months later... 39. Docker Network Introducing experimental 40. Multi-host networking out of the box experimental 41. Micro-segmentation is built-in experimental Assemble virtual networks into any topology, enforce security policies, insert probes and rewalls. 42. experimental Dont modify your application, Dont rip out your infrastructure. Built on industry standards 43. experimental Do you use DNS? Congratulations, you support Docker service discovery. Standardized service discovery 44. experimental 11 community-contributed backends And more on the way. weave calico consul etcd zookeeper midokuraciscoazure nuagenetworks 45. Demo time! experimental 46. Problem 1: runtime Problem 2: packaging & distribution Problem 3: service composition Problem 4: machine management Problem 5: clustering Problem 6: networking Problem 7: extensibility How do I add my own tools to the toolbox? 47. Docker Plugins Introducing experimental 48. 4 new extension points Network plugins, Volume plugins, Scheduler plugins, Service discovery plugins. ... and more to come. experimental 49. experimental No patches or restarts needed. Dynamic loading 50. experimental Use different plugins for different applications. Multi-tenant 51. experimental if your application works in Docker, it already supports every plugin. No lock-in 52. experimental Developed with the ecosystem WeaveWorks A very special thank you to: 53. There is no platform without ecosystem 54. Deepak Singh Sr Manager, Amazon Container Service 55. Goal 1 Build better plumbing 56. To build a developer platform, we need infrastructure plumbing. Lots of it. 57. Infrastructure plumbers around the World are improving the Internets software infrastructure. 58. The principles of software plumbing THOU SHALT I Re-use and improve existing plumbing. II Make new plumbing easy to re-use and improve. III Follow the unix principles: make small simple tools, not big complicated ones. IV Dene standard interfaces for assembling larger systems. 59. We have re-used a lot of plumbing to build Docker. Linux LXC selinux apparmor aufs lvm zfs btrfs virtualbox iptables openssl tar git raft serf xen kvm openvzpaxos ssh Go ... jenkins 60. We have also built a lot of our own. service discovery networking os containers authentication storage logging build content distribution code signature master election load balancing scheduling testing code review 50% of Dockers source code is plumbing! 61. The Docker Plumbing Project Introducing Lets spin it all out! 62. We need your help! #dockerplumbing 63. SECURITY Plumbing for.... 64. Trusted, cross-platform content distribution on the Internet is an unsolved problem. Is curl | sh really the best we can do? 65. Notary Introducing experimental A trusted publishing system for any content. 66. experimental Distribute any content: source, build artifacts, packages, containers, vm images, documentation... Platform-agnostic 67. experimental Reliable updates, proof of origin, resistant to untrusted transport, survivable key compromise. Build on industry- leading research 68. experimental Distribute any content: source, build artifacts, packages, containers, vm images, documentation... Build on industry- leading research 69. A quick demo of Notary 70. OS CONTAINERS Plumbing for... 71. Its just plumbing... but its popular plumbing! Containers are 5% of Dockers code 72. Introducing RunC The universal container runtime All of Dockers container management plumbing and nothing else Super lightweight Battle-tested and production-ready Supports all security features of Linux: selinux, apparmor, cgroups, seccomp, namespaces, cap-drop.. Supports user namespaces Supports live migration Microsof is contributing Windows support Arm support underway Intel is contributing DPDK, Secure enclave Denes a standard, portable runnable format Usable from the command-line https://runc.io 73. runC Introducing A universal runtime for OS containers https://runc.io 74. Just the runtime and nothing else Battle-tested and production-ready Supports all security features of Linux: selinux, apparmor, cgroups, seccomp, cap-drop.. Supports user namespaces Supports live migration Microsoft is contributing Windows support Arm support underway Intel is contributing DPDK, Secure enclave Denes a standard, portable runnable format Usable from the command-line or programmatically 75. Goal 3. Promote open standards 76. Its getting people to agree on something The real value of Docker is not technology 77. You are the de facto standard. Now its your responsibility to make it a proper standard. 78. What is a proper standard? 79. 1. A formal specication Make it easy for anyone to write their own implementation A proper standard needs... 80. Introducing OCF: a universal intermediary format for OS containers Supports all hardware architectures and OS 81. 1. A formal specication 2. Independent governance Dont tie the standard to a single company A proper standard needs... 82. OPEN CONTAINER PROJECT Introducing in collaboration with 83. 1. A formal specication 2. Independent governance 3. A neutral reference implementation The best standards start with rough consensus and working code A proper standard needs... 84. Docker donates runC to the Open Container Project runC is now the OCF reference implementation 85. 1. A formal specication 2. Independent governance 3. A neutral reference implementation 4. Support from a broad coalition Your standard must present a majority of the market A proper standard needs... 86. OPEN CONTAINER PROJECT founding members: 87. OPEN CONTAINER PROJECT founding members: 88. 1. A formal specication 2. Independent governance 3. A neutral reference implementation 4. Support from a broad coalition 5. An open door to fresh ideas Many people have been thinking about this. Hear them out. A proper standard needs... 89. OPEN CONTAINER PROJECT welcomes the APPC maintainers as founding members 90. Promote open standards 91. Build better plumbing 92. Reinvent the programmer toolbox. 93. Help organizations solve real-world problems in unique ways. 94. Happy hacking! 95. WIFI FOR EVERYONE! NETWORK: DockerCon15 PASSWORD: mobydock 96. DOWNLOAD THE MOBILE APP: guidebook.com/app/DockerCon 97. ASK THE EXPERTS MONDAY & TUESDAY - 11:00AM - 5:00PM CONTRIBUTOR MONDAY & TUESDAY - 11:00AM - 5:00PM 98. BUILD YOUR OWN STACK AT THE SPONSOR BOOTHS MONDAY BREAK - 11:00AM - 11:45AM 99. CONFERENCE PARTY STARTS AT 7 PM ON MONDAY EVENING BUSES WILL DEPART FROM MARRIOTT AND WILL RETURN BACK TO HOTEL STARTING AT 8:45PM THANKS INTEL FOR SPONSORING!