Containers: A Key Element in IT EnvironmentsBy Mike Vizard | Posted 2016-11-03 Email Print
WEBINAR: On-demand webcast
Next-Generation Applications Require the Power and Performance of Next-Generation Workstations REGISTER >
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.
Most of the university's usage of containers in the cloud occurs on Amazon Web Services (AWS). However, Bower says that the school is starting to deploy more containers on the Microsoft Azure cloud.
Bower adds that at this point, Cornell doesn't see a need to standardize on one container orchestration engine versus another. The top three container orchestration engines are the open-source Kubernetes project, which uses code originally developed by Google; Docker Engine created by Docker; and the open-source Mesos project championed by Mesosphere. Bower says the university lets each DevOps team select its own container orchestration engine.
Other IT organizations that are making extensive use of Docker containers include ADP, Capitol One, GE and Goldman Sachs. In each case, adoption of container technologies is spreading rapidly across multiple business units and divisions.
Container Technology Is a Work in Progress
For all the enthusiasm, however, there are still issue and caveats. CoreOS is attempting to position its rck container as an alternative to Docker containers, stating that it is both more secure and open. The issue that CoreOS is trying to highlight is the lock-in potential Docker adoption may cause if IT organizations standardize on not just Docker containers and images, but also on the management frameworks being developed by Docker.
In addition, container networking is, at best, a work in progress. All the major container cluster platforms have their own internal networking protocols. Connecting each cluster requires a network overlay.
But Carlos Matos, director of global network architecture for Fidelity Investments, notes that there are no interoperability standards for container networking running inside a cluster, and various overlays would be needed to connect multiple container clusters together. "That lack of standards limits adoption," he says.
Finally, IT organizations should be aware that Docker containers for Linux and Windows platforms are not portable. Microsoft has embraced Docker containers on Windows Server 2016. But the internal system call differences between Windows Server and Linux make it impossible to move a Docker container between the two platforms.
The one thing that is certain is that containers and microservices will have a profound impact on DevOps. Containers especially make it possible for IT organizations to respond to business demands with more agility.
At the same time, they engender a separation of duties that enables developers and IT operations teams to perform their respective tasks without necessarily having to engage in a dialogue about every single change to an application or the underlying IT environment.
At this juncture, it's clear that containers are about to become a foundational element of modern enterprise IT environments. At the same time, the path to adoption and the way that containers are ultimately deployed and employed will vary substantially depending on the goals of the individual IT organization.