GP - Fotolia
Published: 16 Jun 2016
Containerization is red hot right now, fueled by a fervent interest in Docker. But how did we get here? We spoke with Lars Herrmann, general manager for the Integrated Solutions Business Unit at Red Hat to find out.
Who's driving the adoption of application containers?
Lars Herrmann: Containerization was originally driven by developers. They're all about the simplicity of moving things around that containers offer. Of course, they're also interested in containerization's ability to develop applications based on a microservices approach.
Now, we're beginning to see a similar trend from the ops side. The ops side sees that containerization is a way to give the developers what they need -- flexibility, self-service, scale-out capabilities and portability across different environments. But typically the motivation from an ops point of view is that they need to maintain control over what developers are doing; otherwise, they end up with a management mess. So now we're seeing more of a push from the ops side.
How can application containers help IT ops?
Herrmann: First, it enables standardization in how workloads are deployed at a level that can be owned by a single group in the organization. This is a challenge that most organizations face with VMs. All of the components that make up a VM image come from different people and groups within the organization. There's an OS that must be maintained, application code and runtimes, networking configurations; all these components are maintained by different people in the organization. This model slows everyone down and increases the total cost. Containers separate the application from the underlying infrastructure services.
The second motivation is that containerization comes with a standardized toolchain, independent of whatever application it may be running, or where they are running it. Today, we have applications in VMs and in the cloud, and we're using different tools for these environments to perform common tasks. Containerization can provide a standardized fabric around the application that works the same way across different environments.