With continued investment, apparently inexhaustible media attention, and real enthusiasm from developers, it would be easy to assume that San Francisco startup Docker invented the increasingly popular concept of the container. They did not. Instead, they took an existing technology and made it easier to use.
At one level, containers offer similar benefits to the VMware-style virtual machine. Containers, too, allow an administrator to share the resources of a physical computer between two or more ‘guest’ virtual computers. But while each guest in the model pursued by VMware and others includes its own operating system (
Even before the rise of Docker, organizations were finding uses for containers. Back in June of last year,
Everything at Google, from Search to Gmail, is packaged and run in a Linux container. Each week we launch more than 2 billion container instances across our global data centers, and the power of containers has enabled both more reliable services and higher, more-efficient scalability
Cloud provider Joyent, too, used container-like technology behind the scenes, and has recently begun to promote this as Triton.
For Google, Joyent, and practically every organization using containers before 2014, they represented a powerful tool in the hands of operations staff. And that’s an important point. Before Docker, containers – like mainstream virtual machines – were all about efficiently managing infrastructure at scale. Containers were for operators. Docker’s strength lay in turning existing container technology into a powerful proposition for a far larger market: developers.
Competing container offerings like CoreOS’s Rocket and Joyent’s Triton (despite its heritage) broadly repeat Docker’s developer-friendly pitch. Amazon Web Services’ Container Service does too, although its Docker-specific language continues to evolve in ways that suggest greater choice may not be far away.
But to ensure long-term viability, and to effectively transition from the laptops and test environments of developers to the mission-critical production servers at the heart of so many enterprise applications, Docker and its competitors must also appeal to operations teams. Containers must be managed, at scale, and effectively integrated with everything else in a company’s IT estate.
Google, one company that depends upon containers for so much of what it does internally, open sourced a version of its own container management system as Kubernetes back in June last year. At the same time, the company’s VP of Infrastructure joined the Governance Committee set up to steer the Docker open source project. It is in Google’s interests for as many people as possible to embrace web-scale computing in a way that’s compatible with Google’s own approach.
Microsoft was also quick to join in, supporting Docker on Microsoft Azure back in June, and releasing an open source tool for visualizing Kubernetes’ container management capabilities on Azure more recently. Last month, Microsoft released more information about a more container-friendly approach to future development of Windows and Windows-based apps.
These moves from Google and Microsoft (and others) clearly build upon Docker’s momentum, but will also appeal to those who are concerned with keeping the infrastructure running: the operators.
VMware has not been blind to the technology transformations upon which Docker is so successfully riding at the moment. But it has, perhaps, been caught off guard by the speed with which developers have embraced the container-based alternative. In the short term, at least, the company probably doesn’t need to lose much sleep. The early adopters of Docker never bought VMware anyway: they just used the VMware tools that others bought for them. And so long as VMware can tell those buyers a believable story (hence the company’s Project Fargo), most of them will probably keep on buying for now.
Docker has made containers both visible and useful. Containers are unlikely to fall back into pre-Docker obscurity any time soon. But Docker (both company and project) have a lot of work to do, ensuring that ‘Docker’ remains as synonymous with ‘container’ as it is today. There are an awful lot of friends and allies who might prefer their own name in that desirable spot, and sustainable success will depend upon far tighter integration with the Kubernetes, Mesospheres and — even — VMwares of the world. Docker has an early lead, but there is plenty of scope for competition.
And if it's true that Docker the company is now valued at over $1 billion... how does it deliver on that valuation? Containers are great, but they may not need Docker the company for much longer. Can the company and its investors retain community buy-in, strengthen community partnerships, lead a community, engage a community... and achieve a healthy financial return on all those dollars?