.shock - Fotolia
Over the last few months Docker has been a catalyst for a renewed interest in containers. Now, more companies – most recently Amazon and VMware – have started to jump on the container bandwagon. But, there are still plenty IT pros who are happy without containers and don’t see the appeal. This month, we’re asking our Advisory Board members what they make of the container craze, if containers are just a tool for develops and whether they think application containerization really is the future.
Jason Helmick, Concentrated Technology
For many businesses, success is tied to agility in delivering up-to-date applications to the customer. Customers need apps, and developers create them. The rest of us in IT are here to deliver them and maintain a level of performance and uptime.
IT faces the challenge of this complicated and difficult process, and it seems everything that can go wrong usually does – from missing operating system patches, to conflicting versions of software. The process of delivery is loaded with surprises and problems at every turn.
This is where the idea of containers has quickly become the rave of many developers, but it should also warrant investigation by IT pros. If you think Docker is alone, they are not. Companies such as Microsoft and VMware are supporting Docker and the container concept in their own cloud environments. Not surprisingly, major DevOps tools, such as Puppet and Chef, are also helping to lead the way.
What's so special about Docker’s approach? Well, to over-simplify, consider our old basic architecture of delivering an application to the consumer. We purchased hardware (the computer), installed an operating system that handled file management along with drivers and frameworks for applications, and then installed the application on top. Everything worked until we changed the hardware, changed the version of a framework or added another application with different requirements.)
IT pros reduced some of these problems by abstracting the hardware – virtualizing our operating systems and applications. This helped, but application conflicts still occurred as different driver and framework components didn't meet the need of each application. Now, consider adding one more layer of abstraction and virtualizing the operating system so that each application gets exactly what it needs. This is the container concept. Sounds like heresy, but consider that a developer can build a container that holds the right versions of drivers and support applications, including operating system. Suddenly, application deployment is simple and easy.
This is a big change to the way we think about IT and how we perform our job. It's going to take a while for this to catch on with everyone, especially considering that virtualization is more than a decade old and many in IT still shiver at the idea of “cloud” computing. You should be investigating this now – your developers are, and they will be pushing to use Docker and other implementations to circumvent the slow-to-deliver IT department.
Containers are not a magic solution, but if the large cloud companies are supporting this concept, and are researching how to incorporate this into their own infrastrucure, then you can't ignore it. There are questions that have to be answered, such as security and data confidentiality, just as virtualization had to answer in its own questions. Regardless, don’t ignore this, and check out the work that Docker and others are doing.
Rob McShinsky, Dartmouth-Hitchcock Medical Center
Container applications may not be a new concept, but Docker is the most recent torch bearer of its metamorphosis into a functional tool for enterprises. I say tool, because there is still somework to do here, as it is currently limited to Linux-based applications, but it has caught the eye of many big players like VMware, Amazon, and Microsoft.
With support from the top private and public entities, their focus has been providing a platform for the Docker containers to run, but nonetheless it shows there is competition brewing. If you want to know more about Docker, hit up Youtube or even the Docker website.
Docker’s ability to build, execute a process, and then tear it down in just a few seconds is the epitome of on-demand computing. The ability to run an application without the overhead of a separate operating system instance also puts it on a level above virtual machine architecture in stretching physical resources.
In my opinion, there are real world uses for this technology today inside the enterprise as part of the private or public cloud strategy in meeting specific application needs. However, questions still remain, such as: will Docker be around in 2 years? Will a major application presentation player scoop it up and bring it to the next level? (i.e. Citrix or Microsoft). From my standpoint, without support for Windows applications, or even support from vendors on this type of computing, becoming a mainstay in the enterprise space is still a ways off.
Brian Kirsch, Milwaukee Area Technical College
Containers are an interesting solution that is looking for a purpose. In today’s data center, the container is often the Windows operating system but container technology, such as Docker’s, is looking to remove more of the traditional operating system in favor of an open platform where people can build, run and share applications. This might sound a little familiar to folks, as it was often a similar story when people talked about Java and what it could deliver. While the premise of the write once, run everywhere idea is very attractive, the reality is often very different. Java suffered from compatibility issues with dozens of versions that were not always compatible and often times required multiple Java virtual machines to be installed to support different applications.
Creating a dedicated application engine, even as a hypervisor, it is still possible that Docker would run into the same challenges that several others have faced before it. Docker is different than Java and the .Net Framework, and yet it is very similar. While Docker still near its original version, the core fragmentation concern still remains. Ensuring that the framework can continue to evolve and does not suffer the pitfalls of possible engine fragmentation will be a challenge as Docker continues to grow in popularity and installed base as more feature requests will follow. It’s hard to say yet if Docker has found the formula for success in handling this fragmentation and can become the success story in the container infrastructure picture. It’s easy to point to several others that have thought they found the solution but ended up with very questionable results.