Docker Open Container Project - Please Make It Awesome
I’m live-blogging this from the DockerCon opening keynote in San Francisco. Docker has announced that it will create the Open Container Project under the Linux Foundation. This is based on news that is breaking in...
How Weave built a cloud deployment for Scope using Kubernetes
Life and Docker Networking - One Year On
Weave: the fastest path to Docker on Amazon EC2 Container Service
I’m live-blogging this from the DockerCon opening keynote in San Francisco. Docker has announced that it will create the Open Container Project under the Linux Foundation. This is based on news that is breaking in multiple places online. [update: and on the Docker blog and The New Stack]
This is being positioned as Docker healing a rift with CoreOS. But wait – also involved are Microsoft, IBM, Amazon Web Services, Google, VMware, Red Hat and about ten other companies. That’s some really big guns. This could be game changing. But what just happened?
OCP is a new non-profit affiliated with the Linux Foundation, with the mission of ensuring that Docker is a successful open source project. “Docker” means 1. the open container format (ie. specification) and 2. the core runtime container engine that implements it. The OCP will own this key project IPR, and manage the project roadmap and governance. Foundations are fashionable these days – how is this different? Well, it is NOT OpenStack 2.0 – this feels much tighter and more focussed: a single project affiliated with the Linux Foundation.
We say YES. But please execute well so this is a good project.
This is a huge wow moment. Has Docker just handed over the crown jewels to behemoths who will squeeze the life out of the project? Or are we seeing the creation of a new platform – something we can all get behind? We feel, on balance, that it’s the latter – a GOOD thing. The rules are changing and we want in.
But the new OCP must work in the right way- The container model should be a completely open shared standard via an open source foundation. It is in Docker’s best interest that Microsoft, Google, Red Hat, IBM et al. invest in one standard and feel a sense of common ownership over the direction and support of this technology. This core technology must be open, simple and portable. The project must be fast moving.
Step back. Let’s take a look at what Docker has done since going all in on platform. They say they want to be an open platform for distributed applications – also called ‘cloud native’ apps. This has three parts:
- An infrastructure model – containers
- A way to extend this with an open ecosystem of services and plugins
- A system for orchestrating multiple containers and plugins into applications
This is what we believe Docker has just announced:
1) The container model: a completely open shared standard via an open source foundation.
2) Docker are also announcing the launch of a new plugins model today – Weaveworks is already a big part of this. It is in Docker’s interest that the ecosystem of plugins be as broad as possible meaning that some elements may be shared through the foundation project, while others may be independent open source or commercially licensed.
3) Docker will now focus all its energy on building an application orchestration platform and a business model that is designed to work in favour of the Open Container Project and plugins ecosystem, while also carving out a unique space for Docker to generate revenue in a way that customers can trust. That’s the fun part 😉
At Weaveworks we feel that we can make the most customers happy without being a “platform” – as we said last week when launching Weave 1.0. So if Docker can make this project work for customers of their platform, then we declare full support.
Let’s enjoy a moment of by-point speculation concerning other players.
Containers: What about appc and rocket?
Assume the caveat “provided Docker and the OCP execute well and don’t slow progress to a halt”. Otherwise all bets are off.
Recall that CoreOS are part of the new project – so what does this mean for appc and rocket?
We stated on InfoQ that Docker and the industry both gain by joining with appc so that there is one industry standard container specification, but multiple implementations of this spec. Enterprises care a lot about avoidance of any semblance of lock-in. An open container standard with multiple implementations is of great value in providing that reassurance. Of course, Docker would be the leader nonetheless.
Last DockerCon coincided with the creation of Rocket – a new open container system. Part of this was the appc container spec. This will now merge with the Docker container format (2.0) under OCP. It’s a no brainer. Appc can run a victory lap right now: it shook things up; job done.
By the same token: rocket (aka rkt), garden, etc, will become implementations of one Open Container standard – just like all web browsers implement HTTP. There is room for other container implementations: rkt is optimised for embedded cases and is not a platform. Garden is optimised for use in Cloud Foundry.
A single standard creates a containers market. Container technologies must compete – i.e. get big or stay in their niche. Customers will benefit knowing that ecosystem ops tools and app platforms will rally around the consistency of a standard container spec.
Ecosystem: What about Plugins?
We’ve already seen Docker make great strides towards a flourishing market this week with the ecosystem announcements around the Docker plugin architecture and extensions, which Weaveworks is delighted to be part of. From the Docker press release:
Docker Plugin Architecture Exponentially Grows Options for Users and Opportunity for Technology Partners — The Docker team in collaboration with its ecosystem partners–most notably ClusterHQ, Glider Labs and Weaveworks — has created a new dynamic plugin architecture,which provides an opportunity for direct platform extensibility for hundreds of technology partners and for thousands of developers who have created their own Docker tooling.
The goals of this are bold. Achieving them would of course be great news for Weave. As we’ve written about previously our whole philosophy is to create components that can integrate seamlessly with other tools and platforms in the container ecosystem, delivering value to the end user in the simplest way possible without placing any adoption barriers in their way. Collaborating closely with Docker on the plugin architecture, and the consequent release of our weave networking extension for Docker exemplify this approach.
We believe the new OCP reinforces our investment in Docker plugins. Our hope is that Docker plugins will work with any container technology supported by the project. More open Docker means more opportunities for Weave to add value to customer applications.
“The war of the platforms, begun it has”
This is the market now: an open container standard, plus an ecosystem of plugins, plus Docker’s investment in an open platform. Others who see themselves as wearing the platform ‘crown’ are now competitors or involved. There is no middle ground.
The Open Container Project will not have a free ride from competitors. It will stand and fall by whether it can get things done fast and bring people with it! And this is ultimately how we can judge its success – by the extent to which the foundation is able to serve as a facilitator for collaboration across the whole container ecosystem, enabling broad participation and accelerating the rate at which we can collectively deliver value where it matters most – to the end users.
There is tremendous potential for containers to transform the way enterprises build, deploy, and run applications. That’s ultimately why big players like Google and Microsoft are involved. Technologies like Weave will gain from alignment with this overall mission. Technologies that do not align with this mission should prepare to justify themselves.
Caveats and Gotchas
We said earlier that this has to be executed well. Docker have signed up some good partners. The Docker project must now move really fast and stay open, simple, and portable at its core. The OCP has to take some of the responsibility for that.
Given this, what do want from an Open Container Project?
- A Fair Board with a strong mandate around being OPEN
- Lean Governance so that development and delivery of value to end users can be very FAST
- Maintaining a Clear Roadmap enabling the development of a coherent platform.
Above all keep a relentless focus on solving issues that matter to the customer. Weave will too. There is too much complexity out there and we have business to do.