18. 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.
34. 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
37. 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
40. 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.
41. Using the beta? You already have 1.12 installed.
> docker swarm init
> docker service create
57. 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
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,
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
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.
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:
Last year we heard very clearly: few areas the community agrees we should improve next:
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.
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
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
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
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
to solve all these these issues you need hard core engineering work
to solve all these these issues you need hard core engineering work
to solve all these these issues you need hard core engineering work
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.
CLEAN UP
Docker for Developers
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
First thing you told us last year is we should improve the dev experience, we’ve done that
2nd thing: fix orchestration
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.
Today it looks more like this
Who’s interested in getting in the beta?
First thing you told us last year is we should improve the dev experience, we’ve done that
2nd thing: fix orchestration
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.
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
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
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
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!
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
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.
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.
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.
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?
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
Docker Orchestration
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.
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.
thanks solomon
super excited to be here
we’re zenly
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
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
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_
Demo Zenly
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.
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.
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
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,
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.
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.”
Docker for AWS
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
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.