If you follow enterprise software, even casually, you will by now have heard of Docker, the San Francisco startup bringing what are called "containers" to application development.
Trade press articles are legion, but the company is making enough of an impact that even the business press is paying attention. Bloomberg, for example, notes that Docker's technology "has become a building block at thousands of companies," and The New York Times says it "is at the forefront of a new way to create software." Forbes simply declared Docker to be the tech world's "Next Big Thing."
Docker and its containers are often mentioned in the context of virtualization, which has caused people in the world of virtualized desktops to wonder: What exactly are containers, and what, if anything, do they have to do with VDI?
We asked the same two questions of Scott Johnston, Docker's senior vice president for product. Containers, he said, are a new method for application development and deployment that stresses easy portability. While it’s not yet an essential part of VDI, that could change soon.
Containers vs. Virtual Machines
An application that has been "containerized" has certain things in common with a virtual machine, Johnston explained. For example, any number of them can run on the same piece of hardware, and each of them is unaware of the other's existence. If you used CTRL-ALT-DELETE to get a list of tasks running in a containerized Windows app, you wouldn't see any of the processes associated with any other containerized apps that happened to be running on the same machine.
(While most of Docker's activity has been with Linux, the company has been working closely with Microsoft, and last week released a beta version of Docker for Windows.)
The difference between a container and a VM, said Johnston, is that the container requires a full blown version of the operating system to be sitting underneath it, in contrast to VMs, which only require a hypervisor.
Some might say that a container doesn't sound much different than a compiled application. Johnston's reply is that containers are designed in such a way as to make it extraordinarily simple for developers to specify how much of the computer's resources a particular application should be allowed to access. And that in turn makes it nearly effortless to move an app from one machine to another.
Making Applications Portable
"The big benefit is portability," he said. "Developers are very excited about the fact that they can write an app on their laptop, and then push it up to Amazon, and know for a fact that it will work."
Than same portability applies to all aspects of the IT production line, said Johnston. For example, a quality assurance team can be confident that the version of a program it is signing off on will actually run on the system that the final customers will be using.
"Docker allows for a clean separation between application development and app deployment," he said. "Developers can now do their job without worrying about those issues."
But then what about VDI?
"We haven't seen a lot of activity on the desktop because we have been in the Linux world for so long,” Johnston says. “But it could heat up. And if it did, I think the impetus will be that the Docker format is such a convenient way of packaging and distributing an app. We're very popular now with server side apps, but you can draw a trend line to see us becoming popular for desktop apps too."
The basic container technology is open sourced, Johnson said, so "you see lots of creativity by the community, including by people who have already containerized what we think of as traditional consumer apps, like Skype."
In general, he said, containers aren't a replacement for VDI, but "something that would be complementary, by providing a much more efficient way to distribute applications."
For an IT administrator currently committed to a VDI solution, Johnston had this advice. "Containers have proven to be very good for packaging and distributing applications, and as a desktop it guy you care about that; about distributing applications to your end users. While it doesn't need to become your full time job, spending a couple of hours a month getting to know containerization, particularly now that it is on Windows, which is certainly a desktop-friendly OS, is an investment in one's career that I would recommend to any VDI-ware IT person."
What about all these stories of a looming death battle between Docker and companies like VMWare? Johnston shrugged off the talk, saying much of the speculation was the result of the simply fact that both technologies use the word "virtualization" to describe themselves.
Plus the fact that "everyone loves a good X versus Y story, especially here in the tech fishbowl. I was at Netscape earlier in my career, and the story of the 'Netscape vs. Microsoft' battle was trotted out every time something new happened in the industry. Pretty much the same thing is happening now."