Sergey Nivens - Fotolia
As if Docker's previous two years haven't been fast-paced enough, the application container vendor started 2015 with release of an open source orchestration tool for its Linux constituency and beta releases of the same tool for Microsoft Azure and Hyper-V. There's more to come, says Docker CEO Ben Golub. "We went from a startup in 2013 to 70 million downloads in 2014, going from a great product to becoming a huge ecosystem," he said. "It's been something of a whirlwind." He outlined a roadmap for Docker technology in this SearchSOA interview.
As an open platform for distributed applications, what is Docker's key value for developers and sysadmins?
Ben Golub: Docker describes not only the application, but all the dependencies that you need to run that application. If you describe everything that you need to run the application inside the container and move that container to a new server, you don't have to worry about whether it's appropriately configured, whether it has those dependencies. It just all gets pulled down.
What is on the roadmap for Docker technology this year?
Golub: We're open source, so actually almost everything is on the roadmap. By June last year, we got to the point where you could take any application and put it into a Docker container and run it on any Linux server -- any Linux app on any Linux server.
We announced a partnership with Microsoft late last year. We're working with Microsoft to enable people to do the same thing you can do with Linux and Docker on Windows and Docker. That will be huge.
From what I hear, scalability is also on Docker's roadmap.
Golub: Yes. We're going from enabling [development of] one application in one container on one server to applications that are built from lots of different containers with lots of different components that are running across multiple, different servers. To do that, we have to make sure that the containers talk well to each other, that they do security and storage well, and also network well together.
Why is offering management and orchestration solutions on Docker's roadmap this year?
Golub: We want to help support [the scale-up] of Docker containers in the enterprise. They're going from tens of containers developed by tens of developers on tens of servers to thousands of containers built by thousands of developers on thousands of servers.
Through Docker open source, there are many things happening in orchestration writ large. That includes clustering, where our Docker Swarm deals with clustering. Swarm delivers native clustering for scheduling and executing Docker container workloads. Also, Docker Compose helps developers with composing an application from lots of different pieces, such as when, say, they're setting up the machine so that it is configured to run Docker technology and including the networking and storage pieces.
Ben GolubCEO, Docker
How do your public APIsenhance Docker's move into management solutions?
Golub: We're taking an approach of defining a high-level API and inviting lots of people from the community to help us not only define the API, but build their own sort of plugins into that. So, if you like Google-style orchestration, you can use Kubernetes, if you like Twitter-style, you can use Mesos, etc., etc. And the same thing on the networking and the storage side. From a commercial perspective, we are taking the very popular Docker Hub service, which is a hosted service for finding, publishing, consuming different types of containers, and making that more commercially available, so that you know who's published what, where it came from; set policies around which containers you want to run where; destroy containers if you happen to think that they're buggy, or that they have a security flaw, or things of that nature.
How does the Docker container play in relation to the LAMP stack of Linux, Apache, MySQL and PHP?
Golub: Let's say I'm building a LAMP application, so I'm going to need an L, an A, an M and a P in whatever it is that I'm doing.
With Docker, I'm able to share the L, or Linux, that's on every server. But if there are already three other LAMP applications running on the same server, I don't need to pull over the A and the M and the P. I just pull over the delta for my particular application.
What Docker technology does is stop developers from worrying about many things. They stop worrying about what every server looks like; or how it's been configured; or what version an operating system that's running, whether it's physical or virtual, or on Amazon or on premises. They just worry about the application, which is what developers want to do.
What is your advice for companies that are just getting started with Docker containers and services?
Golub: You can start small. One of the nice things about Docker is that a single developer can get value using Docker in a single day without having to involve lots of other people in their organization or do a months-long project. And generally people start simple; they start with more stateless apps; they start in development; and move towards development, dev test, dev test, build, and then thinking about moving into production. And I think that the right way to approach this is you can be evolutionary; get value; and then more or less, things happening organically as opposed to trying to make a big project out of it that involves lots of different departments. That's kind of anti to our ethos.
Docker orchestration tools
Docker supports container virtualization