Open source newcomer Docker has seen explosive growth since debuting last year. The company's container-based virtualization approach builds on Linux Container technology to enable better application portability across platforms. Docker containers are also lightweight, which means that unlike virtual machines, they do not have to run an underlying operating system.
In this interview, we talk with Julien Barbier, the senior director of community at Docker, about why so many people are taking an interest in the burgeoning company and what they have planned.
Linux Containers have been around for a while, so what is the main advantage to using Docker?
Julien Barbier: There are many advantages. Nowadays we have a problem where when you develop your application on your laptop as a developer and everything works perfectly, but it doesn't work in other environments. You use the stack you like and the language you like, with the version of everything you like. And then, when you push that into a test environment or production environment, it doesn't work because it's not the same environment.
Maybe you used a new version of a library, but the Ops guy tells you that you can't use this library because all the other applications running on the server will break. So, there's a lot of back and forth between the Ops and the developers. This is really frustrating and you lose a lot of time and money. When you develop with Docker, you package everything inside a container -- or inside several containers that can talk to each other -- and this container is self-sufficient. Then you just push this container to another environment and the Ops guy doesn't have to care about what's inside the container or how it was developed.
That's the first thing. The other this is that, compared to VMs, Docker containers are smaller because we don't have to have an operating system. The underlying Linux containers are already inside the kernel. That means images are very small and very fast. So, where a VM would be measured in gigabytes and boot in one or two minutes, the container will be megabytes and will boot in milliseconds. That helps accelerate the development cycle and allows you to move containers around very easily.
Because these are very small and fast to deploy, we can also do a great job at hyper-scaling. You will need less space, RAM and CPU than virtual machines because there's almost no overhead.
Who is using Docker containers?
Barbier: We have small, midsize and very large companies using Docker. It makes it very easy for developers. They don't have to care what's in the operating environment because it will work anywhere. And the Ops guy is happy because he doesn't have to care about what the crazy developer is using for his back end. And the CFO will love us because we allow you to spend less money. So, it makes everybody happy.
Where is Docker in its maturity cycle, and when will we see a 1.0 release?
Barbier: I cannot tell you a date. But what I can say is that we're working on improving the stability of the product. And it's not just stability in terms of bugs but stability in terms of conception. It's only been one year since we released Docker and we're talking to a lot of companies and developers and Ops guys. What we're trying to do is answer everybody's needs. And, while we're having those discussions we're improving Docker.
I can tell you that we will have some announcements around DockerCon, which is the conference from Docker that will happen in June [9-10].
Are you surprised at how much attention you've got in such a short time?
Barbier: Yes and no. We knew that we were answering a specific need, but the adoption has been totally crazy. Big companies usually tend to wait a long time before using a new technology in production, but since we're the only one solving this problem and the problem is so big, people are adopting us. Right now, you know we don't have a 1.0 product, and on our website we say, 'Please don't use us in production right now.' But even though we've given this warning, companies are using it. That was not expected.