dockerday2015: keynote
TRANSCRIPT
- 1. Keynote Tuna www.meetup.com/Docker-Hanoi Linh Tran GMO VNLAB
- 2. DockerCon Day 1 Welcome
- 3. Our mission is to build tools of mass innovation
- 4. What is the biggest innovation multiplier today?
- 5. What is the biggest innovation multiplier today? PROGRAMMING
- 6. New hardware can do incredible things Millions of programmers Make it programmable Mass innovation
- 7. What new hardware could do incredible things if made programmable?
- 8. The Internet is pretty cool...
- 9. and getting lots of upgrades! Servers, phones, TVs, cars, sensors, drones, homes, watches, maps, payment systems, scientific equipment, virtual worlds, data banks, crypto- currencies... The Internet is pretty cool...
- 10. Could we make the Internet...
- 11. Could we make the Internet... PROGRAMMABLE?
- 12. App App App App App App App App App App App Eager developer The Internet Software walled gardens
- 13. App App App App App App App App App App App Happy developer The Internet Open software layer
- 14. For the next 5 years were going to build a software layer to make the Internet programmable
- 15. How do we get there? 4 big goals.
- 16. Goal 1 Reinvent the programmers toolbox
- 17. Building distributed applications is too hard, because the tools are not adequate.
- 18. Lets give programmers a toolbox designed for distributed applications. Developer experience matters!
- 19. 1. Choose one fundamental problem. 2. Solve it in the simplest possible way. 3. Repeat. Incremental Revolution
- 20. Problem 1: runtime How do I run my code repeatably on different machines?
- 21. Docker container runtime
- 22. Problem 1: runtime Problem 2: packaging & distribution How do I ship my code across many different machines?
- 23. Docker distribution tools
- 24. Problem 1: runtime Problem 2: packaging & distribution Problem 3: service composition How do I organize my application in scalable services?
- 25. Docker Compose
- 26. 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?
- 27. Docker Machine
- 28. 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?
- 29. Docker Swarm
- 30. This is what incremental revolution looks like.
- 31. What problems are you solving next?
- 32. https://docker.com/experimental Docker experimental releases
- 33. 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?
- 34. The network should be part of the application, not the other way around.
- 35. + SocketPlane Earlier this year...
- 36. 3 months later...
- 37. Introducing Docker Network
- 38. Multi-host networking out of the box
- 39. Micro-segmentation is built-in Assemble virtual networks into any topology, enforce security policies, insert probes and firewalls.
- 40. Dont modify your application, Dont rip out your infrastructure. Built on industry standards
- 41. Do you use DNS? Congratulations, you support Docker service discovery. Standardized service discovery
- 42. 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?
- 43. Introducing Docker Plugins
- 44. 4 new extension points Network plugins, Volume plugins, Scheduler plugins, Service discovery plugins. ... and more to come.
- 45. No patches or restarts needed. Dynamic loading
- 46. Multi-tenant Use different plugins for different applications.
- 47. if your application works in Docker, it already supports every plugin. No lock-in
- 48. Goal 2 Build better plumbing
- 49. To build a developer platform, we need infrastructure plumbing. Lots of it.
- 50. Infrastructure plumbers around the World are improving the Internets software infrastructure.
- 51. 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 Define standard interfaces for assembling larger systems.
- 52. We have re-used a lot of plumbing to build Docker. LXC selinux apparmor lvm Linux zfs btrfs virtualbox iptables openssl tar git raft aufs serf xen kvm openvzpaxos ssh Go ... jenkins
- 53. We have also built a lot of our own. networking os containers storage logging build content distribution code signature service discoverymaster election scheduling authentication testing load balancing code review 50% of Dockers source code is plumbing!
- 54. Plumbing Project Introducing The Docker Lets spin it all out!
- 55. We need your help! #dockerplumbing
- 56. Plumbing for.... SECURITY
- 57. Trusted, cross-platform content distribution on the Internet is an unsolved problem. Is curl | sh really the best we can do?
- 58. Introducing Notary A trusted publishing system for any content.
- 59. OS CONTAINERS Plumbing for...
- 60. Its just plumbing... but its popular plumbing! Containers are 5% of Dockers code
- 61. Introducing runC A universal runtime for OS containers https://runc.io
- 62. 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 Defines a standard, portable runnable format Usable from the command-line https://runc.io
- 63. Goal 3. Promote open standards
- 64. Its getting people to agree on something The real value of Docker is not technology
- 65. You are the defactor standard. Now its your responsibility to make it a proper standard.
- 66. What is a proper standard?
- 67. 1. A formal specification Make it easy for anyone to write their own implementation A proper standard needs...
- 68. Introducing OCF: a universal intermediary format for OS containers Supports all hardware architectures and OS
- 69. 1. Aformal specification 2. Independent governance Dont tie the standard to a single company A proper standard needs...
- 70. Introducing OPEN CONTAINER PROJECT in collaboration with
- 71. 1. A formal specification 2. Independent governance 3. A neutral reference implementation The best standards start with rough consensus and working code A proper standard needs...
- 72. Docker donates runC to the Open Container Project runC is now the OCF reference implementation
- 73. 1. A formal specification 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...
- 74. OPEN CONTAINER PROJECT founding members:
- 75. OPEN CONTAINER PROJECT founding members:
- 76. 1. Aformal specification 2. Independent governance 3. Aneutral 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...
- 77. OPEN CONTAINER PROJECT welcomes the APPC maintainers as founding members
- 78. Promote open standards
- 79. Build better plumbing
- 80. Reinvent the programmer toolbox.
- 81. Help organizations solve real-world problems in unique ways.
- 82. Happy hacking!