Container technology like Docker and CoreOS is growing in popularity as companies to realize the benefits of the flexible service and application delivery platform they offer. But the technology is not without its challenges in the enterprise.
"There's a lot of confusion out there and some wishful thinking," says Lars Herrmann, general manager of the Integrated Solutions Business Unit at Red Hat. "What we clearly see is containerization has a lot of pull, but it's more of a bottom-up approach right now."
Containers are essentially an entire runtime environment in a single package -- an application and all its dependencies, libraries and other binaries and the configuration files needed to run it all. They're similar to virtual machines (VM), but generally much smaller in size. Whereas each VM includes an entire operating system as well as the application, containers can share the operating system kernel with other containers, thus drawing fewer resources.
The upside is that containers allow developers to move applications between computing environments -- from test to staging to production, or from a physical machine to a private or public cloud -- and keep them running predictably and reliably.
There's a lot of promise, but Herrmann says that the technology needs five important things to really take off in the enterprise.