Containers: A Key Element in IT EnvironmentsBy Mike Vizard | Posted 2016-11-03 Email Print
While containers are being widely used to develop applications in the cloud, the rate at which they are moving into production environments remains to be seen.
There's general agreement that container technologies and microservices will transform enterprise IT. How, when and to what degree that transformation will take place, however, is still very much a matter of conjecture.
The container phenomenon today is being driven primarily by developers aiming to isolate their code from the vagaries of IT infrastructure, as well as to make their applications easier to develop and update.
Containers as a technology have been around in one form or another for decades. Their sudden popularity can be attributed to the rise of portable Docker containers, which consist of a complete file system that encompasses everything—including the code, runtime, system tools and system libraries—that an application needs to run.
Application developers think containers are a godsend on multiple levels. For one thing, it becomes simpler to build and update applications by replacing Docker container elements. Also, various functions within that application can be made more granular by implementing a microservices architecture that makes it simpler for specific pieces of granular code to invoke any number of backend services using REST (Representational State Transfer) application programming interfaces (APIs).
In some quarters, containers are considered lightweight alternatives to virtual machines. Unlike a container, however, a virtual machine can host not only multiple guest operating systems, but also multiple containers. Given that nuance, Docker containers are frequently deployed on top of virtual machines to ensure better isolation from other containers running on the same physical system.
In addition, most IT organizations don't have system management tools in place to natively manage containers. It's a lot more practical and less expensive for most of them to secure and manage containers as an extension of the existing tools being used to manage virtual machines.
But while Docker and other containers are being widely used to develop applications in the cloud, the rate at which those applications are moving into production environments remains to be seen. Dr. Cliff Grossner, senior research director for the market research firm IHS, says that currently, only 1 percent of servers are running containers. "That'll grow to 3 percent in two years," he predicts.
Other surveys suggest that Docker adoption in production environments is much stronger. Anecdotal evidence suggests that once an IT organization gets exposed to containers, usage tends to escalate rapidly.
Driving Multiple Application Development Projects
Shawn Bower, cloud architect for Cornell University, says the school first began using Docker containers to create a Wiki application and then to make legacy applications more portable. Soon after, developers at the university were using Docker containers to drive multiple application development projects.
"In November, will be rolling out a financial application using Docker," Bower reports.
Like many IT organizations that embrace containers, Cornell University is not especially prescriptive about where those containers run. In some cases, they run on bare-metal servers as an alternative to virtual machines. In other instances, the containers run on top of a virtual machine or in a platform-as-a-service (PaaS) environment that could be running inside or out of the cloud.