Solomon
Hykes
Founder & CTO
Programming is changing the world
The world needs
tools of mass innovation
We’re building Docker
incrementally,
in the open.
1.
Developer experience
Let’s eliminate friction in the development cycle
The best tools…
1. Get out of the way
The best tools…
1. Get out of the way
The best tools…
2. Adapt to you
1. Get out of the way
The best tools…
2. Adapt to you
3. Make the
powerful simple
Docker for Mac Docker for Windows
Hypervisor
Framework
vmnet Framework
Docker Container Engine
HyperKit
Linux
VPNKit
DataKit
Client
Libraries
Admin GUI
CLI
Security Sandbox
Making things easy is really hard.
Hypervisor
Framework
vmnet Framework
Docker Container Engine
HyperKit
Linux
VPNKit
DataKit
Client
Libraries
Admin GUI
CLI
Security Sandbox
Making things easy takes a special team.
Making things easy is really hard.
1. Find the best
systems engineers.
Mobile gaming is 5 years
ahead of us
1. Find the best
systems engineers.
2. Bring designers
back from the future.
Making things easy is really hard.
Matt Aimonetti
CTO and Co-Founder
70,000 beta testers
Thank you!
TLDR: just open it already!
Docker for Mac & Windows Public Beta
docker.com/getdocker
2.
Orchestration
The problem with orchestration:
The tech is solved, but only experts can use it.
Hire an army of experts…
Orchestration for non-experts:
or lock yourself inHire an army of experts…
Orchestration for non-experts:
ng the best way to orchestrate Docke
Docker 1.12: now with orchestration built-in.
Swarm mode
Service API
Cryptographic node identity
Built-in routing mesh
Docker 1.12: now with orchestration built-in.
Combine your engines in swarms of any scale
Self-organizing, self-healing
No external data store required
No single points of failure
Infrastructure-agnostic topology
Swarm mode
Cryptographic node identity
Government-grade security by default
End-to-end TLS
Built-in government-grade PKI
Automated key rotation
Revoke any node at any time
Desired state reconciliation
Scaling
Rolling updates
Advanced scheduling
Application-specified health checks
Rescheduling on node failure
Docker Service API
Built-in Routing Mesh
Swarm-wide overlay networking
Container-native load-balancing
DNS-based service discovery
No separate cluster to setup
Works with your existing load-balancers
Rock-solid kernel-only data path with IPVS
Swarm mode
Service API
Cryptographic node identity
Built-in routing mesh
Docker 1.12: now with orchestration built-in.
Docker-native experience
No external dependencies
No single point of failure
Secure by default
Works with your infrastructure
Reverse compatible
Docker 1.12: now with orchestration built-in.
Using the beta? You already have 1.12 installed.
> docker swarm init
> docker service create
Zenly
Where are my friends ?
1M users
half in the last 3 months
6 engineers
Zenly
500M events/day
Zenly Analytics
Zenly Analytics
KAFKA PROXY
TLS
Metal
3.
Ops experience
beta.docker.com
Docker for AWS Docker for Azure
Deep integration with native load-balancers, templates,
SSH keys, ACLs, scaling groups, firewall rules…
beta.docker.com
Nobody cares about containers
It’s the application that matters!
Nobody cares about containers
Distributed Application Bundle
www.docker.com/dab
A portable format for multi-container applications
Tell us what to build next!
Sessions
Check out all of
the great talks
today
Learn More
Hands on Labs
Try these out in
the expo hall
Demos
Stop by the
Docker Booth
docker.com/getdocker
Thank you!

DockerCon 16 General Session Day 1

Editor's Notes

  • #3 Welcome to DockerCon 4000 people in this room, amazing. I know a lot of you, hope to meet many of you. Concentration of brain power and creativity in this room is ridiculous. Whatever the next incredible invention changes the world will probably come from someone in this room. Some of you are changing the health industry, finance, transportation, retails, research, government,
  • #4 So many different people, geo, industry, what is the common point. We’re all experiencing a common change that cuts across every industry: the impact of programming on human society. We’re all seeing it and all adapting to it. Changing how you work, make money, reach your customer. Over the next few years that change is going to play out in a big way. The people in this room are the ones making it happen. Every aspect of human society is defined by software and interconnected with a network, the internet. This software could be written by anyone. Anyone with a computer and internet access can have a massive impact on any aspect of society. You can write software that can do anything, can be used by anyone
  • #5 Reason we’re here its hat docker’s mission os to build tools of mass innovation give you the tools you need to change your respective industries How will we build and manage software at that scale? To do that you need tools, need new kind of platform, that's what we're building at Docker 3 years ago we launched the first version of docker.
  • #6 3 years ago we launched the first version of it, solved a few problems in a simple way From there a whole community grew, and we built that platform it together. We have ;learned together how to improve that platform. Every year we come together at Dockercon to see how the platform improved and what to build next. Last year we heard very clearly: few areas the community agrees we should improve next:
  • #7 Last year we heard very clearly: few areas the community agrees we should improve next:
  • #9  First step to build software starts with the developer on their laptop Development is a cycle. Write code, try it out, find issues The speed at which you can create new things is constrained by the speed of that cycle. Remove friction in that cycle.
  • #10 To remove friction the tools need to follow a few principles: 1. Get out of the way tools need to be good enough so that you can forget them more important things to do with your time than worrying about the tool 2. Tools adapt to you instead of you adapting to the tool You have existing code, use other tools. - This is not a greenfield world. If a platform comes along and asks you to change all this Our platform adopts your environment 3. Simple yet powerful You should not have to chose. As an industry we have been trained to value complication if lot of options, you think it’s for grownups That is wrong! The best platforms are simple There should be dials and controls, but sane defaults should allow an easy workflow Making simple things easy, and complicated things possible it’s hard to do, but that’s our job
  • #11 To remove friction the tools need to follow a few principles: 1. Get out of the way tools need to be good enough so that you can forget them more important things to do with your time than worrying about the tool 2. Tools adapt to you instead of you adapting to the tool You have existing code, use other tools. - This is not a greenfield world. If a platform comes along and asks you to change all this Our platform adopts your environment 3. Simple yet powerful You should not have to chose. As an industry we have been trained to value complication if lot of options, you think it’s for grownups That is wrong! The best platforms are simple There should be dials and controls, but sane defaults should allow an easy workflow Making simple things easy, and complicated things possible it’s hard to do, but that’s our job
  • #12 To remove friction the tools need to follow a few principles: 1. Get out of the way tools need to be good enough so that you can forget them more important things to do with your time than worrying about the tool 2. Tools adapt to you instead of you adapting to the tool You have existing code, use other tools. - This is not a greenfield world. If a platform comes along and asks you to change all this Our platform adopts your environment 3. Simple yet powerful You should not have to chose. As an industry we have been trained to value complication if lot of options, you think it’s for grownups That is wrong! The best platforms are simple There should be dials and controls, but sane defaults should allow an easy workflow Making simple things easy, and complicated things possible it’s hard to do, but that’s our job
  • #13 To remove friction the tools need to follow a few principles: 1. Get out of the way tools need to be good enough so that you can forget them more important things to do with your time than worrying about the tool 2. Tools adapt to you instead of you adapting to the tool You have existing code, use other tools. - This is not a greenfield world. If a platform comes along and asks you to change all this Our platform adopts your environment 3. Simple yet powerful You should not have to chose. As an industry we have been trained to value complication if lot of options, you think it’s for grownups That is wrong! The best platforms are simple There should be dials and controls, but sane defaults should allow an easy workflow Making simple things easy, and complicated things possible it’s hard to do, but that’s our job
  • #14 to solve all these these issues you need hard core engineering work
  • #15 to solve all these these issues you need hard core engineering work
  • #16 to solve all these these issues you need hard core engineering work
  • #17 put together unique team just to solve these problems acquire a company with the most hard core system engineers we in cloud industry are not very good at user experience, video game industry is great at that developer experience experts from the video game industry to make it simpler and seamless The result is a more seamless experience To demonstrate that, we thought we’d show you a demo. We thought we’d show you what it looks like, with Aanand Prasad.
  • #19 CLEAN UP
  • #20 Docker for Developers
  • #21 we just saw how a developer first day of work fixed a bug didn’t have to install anything but docker and a text editor really powerful we heard that exact feedback for a lot of actual projects discovered many projects, success
  • #23 First thing you told us last year is we should improve the dev experience, we’ve done that 2nd thing: fix orchestration
  • #24 Thank you Matt, example of innovation using tools Who’s using D4Mac? We got some pretty positive feedback! We launched private beta in march. First 24h 30k people signed up for it, now we enrolled 70k in the beta. Who uses d4mac, d4win? do you like it? Pushing one updade a week, update rate is 90% What we found is that it works, when you use Docker for Mac and Docker for Windows, friction in the development cycle is radically reduced, so the development experience is much smoother.
  • #25 Today it looks more like this Who’s interested in getting in the beta?
  • #27 First thing you told us last year is we should improve the dev experience, we’ve done that 2nd thing: fix orchestration
  • #29 What is orchestration? Everything you need to go from a simple containerized development environment on one machine to a complete scalable system running in production that is reachable by anyone at any time, survive hardware failure, can sale instantly to absorb a peak in usage, that can be upgraded several times a day without downtime. In the shipping industry it is the system of ships and cranes and trains that move your containers from A to B —— old stuff We showed how Docker can make developers more agile and productive, next step is to put these apps in production We get that asked a lot: can I use it in production? To use containers in production you need orchestration. One container at a time on one host to many containers on many hosts. What is orchestration: a distributed platform, independent from infrastructure. Stays online through the entire lifetime of your application. Hardware failure, software updates, it needs to stay on. Orchestration is at the same stage today as containerization was 3 years ago. 1. Either army of expert 2. Or ties yourself to an infrastructure provider Need for a universal platform that does not require an army of experts Starting with Docker 1.12, the best way to orchestrate docker is docker. Requires specialized teams and tools, no comprehensive platform for container orchestration that is accessible to everyone. 2. Fragmented space where none of the tools are compatible with each other, need to tie yourself to either anan external tool. It’s time to democratize orchestration easier. In Docker 1.12 there is a full orchestration platform built-in With the release of Docker 1.12 make orchestration available out of the box with Docker. ---- orchestration for everyone. Here’s how it works All the same as before, optional, reverse compatible. If you’re one of the few experts in the world who has figured out orchestration with custom tools. For everyone else, the best way to orchestrate Docker is Docker. Many engines forming a Swarm, we call that feature Swarm mode. Docker Engine 1.12 provides orchestration out of the box and is a complete platform for distributed computing, managing compute, storage and networking resources in your cluster.
  • #30 The technology is solved, but only experts can use it. For the rest of us that means 2 options: you either need an army of technology experts to cobble together a complex ad hoc system, and manage and monitor it 24x7. Not anyone can afford an army of experts, and if you can, these are resources you cannot invest in producing value for your business. or you rely on another company with a lot of experts to take care of everything for you as long as you buy all hardware, services, support, software from them forever. There is a word for that, it’s called lock-in. You told us that is not a very good option either. Those 2 options are not acceptable. Since the whole reason you got into that situation is because of Docker, we thought we’d fix it. This looks familiar, this is the situation containers were in 3 years ago. How did we solve that problem 3 years ago, offering a third option. A platform that makes containerization usable by everyone, without locking you in. Let’s do the same thing for orchestration. What if the same platform that made containerization usable by non experts without locking you in was also providing orchestration is the same streamlined portable way. We’re about to find out
  • #31 The technology is solved, but only experts can use it. For the rest of us that means 2 options: you either need an army of technology experts to cobble together a complex ad hoc system, and manage and monitor it 24x7. Not anyone can afford an army of experts, and if you can, these are resources you cannot invest in producing value for your business. or you rely on another company with a lot of experts to take care of everything for you as long as you buy all hardware, services, support, software from them forever. There is a word for that, it’s called lock-in. You told us that is not a very good option either. Those 2 options are not acceptable. Since the whole reason you got into that situation is because of Docker, we thought we’d fix it. This looks familiar, this is the situation containers were in 3 years ago. How did we solve that problem 3 years ago, offering a third option. A platform that makes containerization usable by everyone, without locking you in. Let’s do the same thing for orchestration. What if the same platform that made containerization usable by non experts without locking you in was also providing orchestration is the same streamlined portable way. We’re about to find out
  • #32 The technology is solved, but only experts can use it. For the rest of us that means 2 options: you either need an army of technology experts to cobble together a complex ad hoc system, and manage and monitor it 24x7. Not anyone can afford an army of experts, and if you can, these are resources you cannot invest in producing value for your business. or you rely on another company with a lot of experts to take care of everything for you as long as you buy all hardware, services, support, software from them forever. There is a word for that, it’s called lock-in. You told us that is not a very good option either. Those 2 options are not acceptable. Since the whole reason you got into that situation is because of Docker, we thought we’d fix it. This looks familiar, this is the situation containers were in 3 years ago. How did we solve that problem 3 years ago, offering a third option. A platform that makes containerization usable by everyone, without locking you in. Let’s do the same thing for orchestration. What if the same platform that made containerization usable by non experts without locking you in was also providing orchestration is the same streamlined portable way. We’re about to find out
  • #33 In Docker 1.12 we roll out a full set of orchestration features available to all Docker users out of the box: the best way to orchestrate Docker is Docker!
  • #34 Only way to make powerful easy is to do that incrementally. We’ve been working on orchestration for the past year, based and that work and feedback from community, we now have a good idea about the missing components and features that people need. For each missing component, we introduced features to solve that aspect. What does that look like, Docker 1.12 ships with major 4 features. Each is a major engineering accomplishment. it is all backwards compatible: if you are an expert, have an orchestration solution setup already, you can continue using Docker the same way. Very long list of improvements to Docker I would talk about if orchestration was not such a huge feature. 4 features
  • #35 Docker now supports a mode called Swarm mode When you install docker you can continue to use it the same way you used it before. Once you enable swarm mode, all your docker engines can discover each other and form a swarm. A group of engines that self organize and let you deploy containers. A swarm can deploy containers, attach volumes, create overlay networks. It does not depend on any external datastore, it’s a decentralized and there’s no SPOF.
  • #36 2. Cryptographic node identity Your Swarm is secure by default. Any node in your swarm at any time is identified by a unique cryptographic key. Access Control solution is built in. You can at any time determine which nodes should have access to the swarm. End to end encryption using TLS. When you use Docker 1.12 you are secure by default.
  • #37 3. Service api We have extended the Docker API to support services. You can describe the state you want your services in and the swarm will make it happen by scheduling containers across all of the nodes, wiring up networks, setting up load balancers, all happening in a self healing way: If a node crashes containers will be redeployed. Rolling upgrades. It’s all 2 commands away.
  • #38 4. Routing mesh It’s not very useful if you cannot expose these services to the outside world. It is complicated to automate with traditional load balancers and proxies, because of the dynamic nature of containers. We have built in the swarm a complete routing mesh. Every engine in a swarm is part of a routing mesh. Swarm knows how to route traffic to the services as your containers are deployed, redeployed. Load balancing built-in. Any of the nodes can route traffic to any container. It still works with your existing load balancing infrastructure. All of these features are complicated to implement and get right. We invested a lot of engineering, both Docker and the community. The beauty of Docker is all these components work together seamlessly in an integrated platform, that exposes all this power in a few simple commands. So simple to use that it feels underwhelming. Who wants a demo?
  • #39 Only way to make powerful easy is to do that incrementally. We’ve been working on orchestration for the past year, based and that work and feedback from community, we now have a good idea about the missing components and features that people need. For each missing component, we introduced features to solve that aspect. What does that look like, Docker 1.12 ships with major 4 features. Each is a major engineering accomplishment. it is all backwards compatible: if you are an expert, have an orchestration solution setup already, you can continue using Docker the same way. Very long list of improvements to Docker I would talk about if orchestration was not such a huge feature. 4 features
  • #40 Docker Orchestration
  • #41 All the commands you saw, available on your laptop now Huge differentiator for small teams who want to have an impact at very large scale. We built this in collaboration with organizations, invite one of them them on stage.
  • #42 All the commands you saw, available on your laptop now Huge differentiator for small teams who want to have an impact at very large scale. We built this in collaboration with organizations, invite one of them them on stage.
  • #43 thanks solomon super excited to be here we’re zenly
  • #44 we’re building an app that tells you where your friends are we have a million users, half of which registered in the last 3 months turns out we are very popular with teenagers a youtube star talked us and it pretty much blew up overnight
  • #45 half a billion events it is a lot of data for 6 engineers our old analytics stack was starting to show its limits by limits i mean crashing and burning, and one of those fire were expenses going through the roof the obvious answer was bare metal but it was too complicated for us, and on top of that we needed to maintain the service running in the cloud that’s when docker approached us to test drive docker 1.12 saved our asses
  • #47 so we just created a new swarm on the metal machine we call that: the globe live zenly users in 183 countries this is live zenly data, showing in _real time_
  • #48 Demo Zenly
  • #49 Thank you Zenly, this is a great example of the impact a small team can have in a very short amount of time with the right platform. Well integrated seamless orchestration platform allows small teams to do, and how easy it let zenly deploy a multi cloud stack, portability, must work the same way in each environment. multi cloud, small team, that’s what it looks like when your orchestration platform does not require an army of experts, that small team does not have time without locking you in, ice and bare metal, may want to expand their footprint, switch providers, they want to be in control off their destiny. We talked about fixing the developer experience, then about fixing orchestration.
  • #50 Let’s talk about the ops experience just like developers loved deep integration docker on mac and windows Ops teams should get native and deep integration with their favorite cloud infrastructure platform. Ops know AWS, lb, autoscaling groups, ssh keys Docker is a complement to that.
  • #51 Docker for AWS and Azure in private beta. Most seamless deeply integrated Docker experience for AWS: lb, autoscaling groups, ssh keys Most seamless deeply integrated Docker experience for Azure Docker is a complement to that. packaged in native installation and upgrade system, cf templates, arm templates beta.docker.com send us feedback tweet #dockercon #dockerfor
  • #53 The cool thing about a beta product is that it makes it easier to roll out experimental features to get feedback from early adopters. Several times a week. There are several experimental features we rolled out. There’s a new experimental feature in Docker for Mac and Windows beta we’re excited about It solves a problem we have heard from many of you, none cares about containers,
  • #54 People care about applications. Right now it is hard to package and distribute the entire application in a way that is guaranteed to work on any docker installation anywhere. distributed application bundle, dab.
  • #55 There’s a new experimental feature in Docker for Mac and Windows beta we’re excited about: distributed application bundle, dab. It defines everything you need to deploy a multi container application. Developers can create a bundle, it is just a file, ops can use that bundle and deploy it with guarantee it will be the same thing. We started adding support for that format in docker-compose and docker engine. Anyone can support this format. if you are building developer, build, code analysis, ci/cd tools, check out this format, play with that feature and send us feedback. We think it is going to be big. Go check it out now. New ops experience that makes it seamless to deploy to was and azure, new format To illustrate this, we’ll show you one more demo. “We’ve seen improvements to developer and ops experience, with the goal of building and deploying applications faster with a platform that gets out of your way, does not lock you in and frees your time to do more important things.”
  • #56 Docker for AWS
  • #57 Better Developer experience with Docker for Mac and Windows public beta Docker 1.12 with Orchestration Swarm Mode Cryptographic Node Identity Service API Routing Mesh Better Ops Experience with Docker for AWS and Azure private beta Distributed Application Bundle format Developers and Ops have more time to do the work that actually matters —- Better Developer experience with Docker for Mac and Windows public beta Docker 1.12 with Orchestration Swarm Mode Cryptographic Node Identity Service API Routing Mesh Better Ops Experience with Docker for AWS and Azure private beta Distributed Application Bundle format Developers and Ops have more time to do the work that actually matters
  • #58 Go download Docker for your favorite platform and start building today. Learn more in this afternoon’s technical sessions or try it yourself in the hands-on labs. See you tomorrow morning for more announcements.