Few enterprise technologies have had such a quick ramp-up as Docker. Not yet in its 1.0 version, Docker is already wildly popular, because it enables you to package up any application in a lightweight, portable container and move it to any Linux server -- a much more agile proposition than moving VMs around.
Recently, InfoWorld Executive Editor Doug Dineley, Senior Writer Serdar Yegulalp, and I sat down with Docker CEO Ben Golub to talk about the phenomenal early success of Docker and how it promises to disrupt enterprise application deployment.
[ Which freaking PaaS should you use? InfoWorld helps you decide. | Stay on top of the state of the cloud with the InfoWorld "Cloud Computing Deep Dive" special report and Cloud Computing Report newsletter. ]
InfoWorld: How does it feel to be the "it" technology?
Golub: I've been around for a long time -- and have not been "it" like 22 times. First I was CEO of Gluster. I was CEO of Plaxo before that. Also eight years at VeriSign, a couple of years at Avid ...
InfoWorld: You really have been around.
Golub: Yeah. The people at Docker are much closer to my kids' ages than they are to mine. I feel very fortunate because we certainly happened upon a good solution.
InfoWorld: You stepped in after the technology was developed?
Golub: Yes. The company was first called dotCloud and was founded in 2011 by Solomon Hykes as a public PaaS, one of the first that handled multiple languages. The company that developed that technology ultimately became Docker.
At the beginning of 2013, they realized the public PaaS business was a pretty hard business to be in, but the technology could be really interesting. I came on board to advise them about open source -- and then as CEO. Docker itself turned a year old on March 20, and my one-year anniversary was April 10. It's been a whirlwind.
InfoWorld: Why do you think Docker has taken off in such a spectacular way?
Golub: I think we're solving a really big problem that many people are experiencing. And it's being heightened by almost every major trend, whether it's cloud or scale-out or the need for things to be developed iteratively.
When I got started in the business, applications were long-lived, monolithic, built on a single stack, and deployed to a single server. Today, development is iterative and constant, applications are loosely coupled components built on a multitude of different stacks, and they run on multitudes of servers. Somehow, the same complex application built on different stacks has to run in testing, staging, and production; scale across a cluster; move to a cloud; go to a customer; work on a VM; etc.
InfoWorld: That's a hard problem.
Golub: Yes, it is. What Docker basically does is let you take any application and its dependencies, put it into a lightweight container, and then run it anywhere -- or anywhere there is a Linux server. It's a simple yet revolutionary idea that I think the world has been waiting for, because the current technology is a real mismatch with how people want to run things.
InfoWorld: How do you envision this new container disrupting the market?
Golub: I think it disrupts several things. First of all, at a very basic level, you go from a process of going from development through testing and staging and production that today generally takes weeks, with things breaking at every stage and fingers being pointed, to something that can now take minutes and work 90 percent of the time. And in the 10 percent of the time it isn't working, it's really clear whether it's a development issue or an ops issue. So it's revolutionizing how people are building code.
It's also revolutionizing how things can get deployed, because you're not trying to treat an application as if it were a server and moving around something big and bulky and hard to change. Instead, you're deploying lightweight containers that can be deployed in milliseconds anywhere -- and destroyed just as easily, or updated just as easily, which is a revolution in deployment.
I think we're also revolutionizing how applications get managed. Because the container is so lightweight and contains its application and can get built directly from source, you know exactly what's running where, what version it is, and you can update it. So you solve three really big problems while at the same time separating what rightfully belongs with application management from infrastructure management.