Containers -- and associated technologies -- are set to become the next big boom in IT. There has been a significant...
increase in technology to support the container deployment model, but we're still at an early stage of the game.
Although container technology can simplify software development and deployment, there are still some challenges that need to be addressed. Some container-related software is production-ready, and other pieces are still maturing.
Not every IT team has a use for containers; those that do will have to change and adapt processes to use them. Businesses need to decide if the technology is a good fit for them first, then examine if the process of adopting it is viable.
Container deployment scenarios
Although there's significant promise in the container deployment model, certain applications are better situated to reap the benefits.
Development teams should consider building containerized applications or application components, because containerization technologies like Docker make the process easier. However, containerized applications require a newer development methodology, not yet widely adopted.
IT organizations can also choose to containerize existing applications. While this is doable, not all apps are a fit for this. Most container cluster managers rely on ephemeral containers, meaning if a container dies on server X, you can start it again on server Y. That's not typically acceptable in apps unless they were specifically designed for dynamic horizontal scaling.
Although it's too soon to tell if the data center will add a container admin to the IT staff, it seems likely that responsibilities will get absorbed into existing jobs. The developer does most of the heavy lifting of the container. The existing infrastructure support team could absorb deployment and management. On the other hand, a container cluster is an entirely new concept for most IT organizations, so it might call for a different team or staff augmentation.
Containers don't exist in a vacuum
The next challenge for data centers picking up this new technology is the tooling around containers. Containers represent a new sort of configuration in the data center -- not just another VM. If we compare physical and virtual servers at the operating system layer, they share many of the same configuration attributes. There's a well-developed set of tools for managing both.
The container represents something entirely different. We no longer manage application dependencies on a server or VM level; they are managed inside the container. This changes the focus of infrastructure teams from managing apps and their associated dependencies to simply managing the container software.
While this is considered a benefit, it also means that there is a gap in the management tools. Everything from network management to security patching becomes a new challenge with containerization. The developer building the image and the data center administrator take on these responsibilities in whole or part -- it's yet to be seen. Some container cluster management suites will likely solve basic problems.
Another challenge facing mainstream container deployment is that most of the management tools are open source. Open source software often lacks a dedicated support structure that accompanies a proprietary software package. While large enterprises have dedicated development staff, they're generally not focused on this kind of software support.
Open source projects for containers and container management are working on stable code releases and standard support and configuration offerings, but many just aren't mature yet. Over time, more companies will offer fully supported versions of upstream open source software -- similar to how OpenStack and Hadoop evolved.
Not everyone will see benefit from going to the container model. However, sooner or later, containers will play some part in your IT infrastructure.
As with any new technology, initial container implementation is bound to be bumpy. Most challenges will dissipate quickly as the technology rapidly evolves, but the remaining issues will likely center around the technology as a whole.
About the author:
Jon Langemak, CCNP/IP, is a network engineer at a Minnesota-based corporation. He works primarily on Cisco network solutions and enjoys dabbling in other fields. He runs the blog Das Blinken Lichten to document new technologies and testing concepts.
Containers are either virtual machines' new best friend, or own worst enemy. Containers are lighter weight than VMs, meaning heightened virtualization on the same physical infrastructure. But for consistent management, admins might want to run containers inside VMs. It's all about picking the right situation for each virtualization strategy.