Container-Based Deployments and the Future of IT Operations
Container-based deployments have quickly become the preferred approach for managing the build and release of complex applications. Popular container technologies such as Docker enable developer velocity by providing a robust environment closely resembling production that can be constructed in minutes, yielding flexible sandboxes from just a few keystrokes.
In practice, containers provide well-formed, readily accessible environments, from bare operating systems to databases and other applications. Centralized hubs deliver an easily accessible repository of secure containers that can be quickly downloaded and put into use, accelerating the development effort. Container-based development is both productive and compelling, and it reduces the number of moving parts, which historically was the cause of many mistakes and system challenges.
Once the development is complete, the containers are delivered to production by operations engineers who have the experience to manage and maintain high-availability systems at scale. But other than this function, how will containers impact IT operations? Many of the tasks handled by operations today may not be necessary in the new world of container-based deployments. Will Ops continue in its current role, or will it need to evolve with the new challenges?
Today, most operations groups deploy applications using a combination of manual procedures, automated scripts, and deployment technologies, including Puppet, Chef, and Ansible. Operations also has experts in database technologies and networking who perform an essential role in establishing the infrastructure and all of its dependent technologies.
Security has been a challenge in the container world, as many containers are still run as root, which creates vulnerabilities and challenges for information security. What impact do containers have on the IT operations organization and all of its technology resources?
Yes, containers do implicitly handle many of the steps that previously had to be explicitly performed by IT operations engineers. But don’t start reducing your operations staff just yet. Containers also require orchestration to configure and manage at scale. Containers by their very nature also encourage smaller, isolated services, which often must be managed in large groups. Organizations will quickly find themselves managing thousands or even millions of containers in their production environments.
Docker tools such as Swarm, Kubernetes, and Mesos provide a variety of technologies and approaches to help manage containers in real-world production environments, but engineers are still necessary for their operation and maintenance. Containers themselves also exhibit behaviors and vulnerabilities that must be understood and handled. Tools and strategies are emerging to profile and oversee the behavior of containers, and Ops plays a key role in identifying containers that should be stopped, removed, or replaced.
Containers provide exciting new capabilities for application deployment at scale, which can deliver highly reliable and secure systems. But Ops must be able to make the journey with development to understand and effectively manage container-based deployments. This is a compelling time for IT operations, which will emerge as a key player in the new world of containers.