Containers are a very promising and exciting technology that solve a class of problems for which we haven’t had great tools in the past. In particular, web-scale applications that are very large and very demand-driven are in a great position to take advantage of containers. This class of applications is well-suited for being constructed with a set of very small services, called microservices, that are self-healing and self-scaling.
Containers allow you to think about application architecture in a different way than perhaps you would have historically, either using monolithic applications and stacks; or with client server stacks in which you partition some of the capability into various tiers; or with web-based deployments in which you have a set of applications that call web services to perform useful work.
Containers have been a very solid solution for web-scale applications such as those offered by Google, Netflix and others. For enterprises that don’t yet have those, containers are worth considering for applications requiring lightweight namespace isolation, scalability, and ease of orchestration. An example might be providing back-end applications for mobile devices.
If your organization doesn’t yet have an immediate need for containers, it’s still a good idea to start to develop some understanding of the technology. Look at situations where containers might apply in your environment. One particular area to consider is applications requiring rapid deployment, for example to support a DevOps environment. Containers can also provide a straightforward means to standardize elements of your infrastructure. Encourage your teams to test prototypes in non-production environments. Understand how your suppliers and partners are going to be using this technology.
If you do have an application that appears to well suited to the use of Docker or some other container technology, start to explore the options. Start to develop familiarity and understand how containers might fit into your architecture, and create another tool in your toolkit.
Lee Congdon is CIO of Red Hat. His role includes enabling Red Hat’s business through services, such as knowledge management, technology innovation, technology-enabled collaboration, and process improvement.