Virtualization admins increasingly use containers to secure applications, but managing both VMs and containers in the same infrastructure presents some challenges.
IT can spin containers up and down more quickly than VMs, and they require less overhead, so there are several practical uses cases for the technology. Security can be a concern, however, because all containers share the same underlying OS. As such, mission-critical applications are still better suited to VMs.
Using both containers and VMs can be helpful, because they each have their place. Still, adding containers to a traditional virtual infrastructure adds another layer of complexity and management for admins to contend with. The free and open source OpenStack provides infrastructure as a service and VM management, and organizations can run Red Hat's OpenShift on OpenStack -- and other systems -- for platform as a service and container management.
Here, Brian Gracely, director of OpenShift product strategy at Red Hat, based in Raleigh, N.C., explains how to manage VMs and containers, and he shares how OpenShift on OpenStack can help.
What are the top challenges of managing both VMs and containers in virtual environments?
Brian Gracely: The first one is really around people and existing processes. You have infrastructure teams who, over the years, have become very good at managing VMs and ... replicating servers with VMs, and they've built a set of operational things around that. When we start having the operations team deal with containers, a couple of things are different. Not all of them are as fluent in Linux as you might expect; containers are [based on] the OS. A lot of the virtualization people, especially in the VMware world, came from a Windows background. So, they have to learn a certain amount about what to do with the OS and how to deal with Linux constructs and commands.
Container environments tend to be more closely tied to people who are doing application developments. Application developers are ... making changes to the application more frequently and scaling them up and down. The concept of the environment changing more frequently is sort of new for VM admins.
What is the role of OpenStack in modern data centers where VMs and containers coexist?
Gracely: OpenStack can become either an augmentation of what admins used to do with VMware or a replacement for VMware that gives them all of the VM capabilities they want to have in terms of networking, storage and so forth. In most of those cases, they want to also have hybrid capabilities, across public and private. And they can use OpenShift on OpenStack as that abstraction layer that allows them to run containerized applications and/or VM applications in their own data center.
Then, they'll run OpenShift in one of the public clouds -- Amazon or Azure or Google -- and the applications that run in the cloud will end up being containerized on OpenShift. It gives them consistency from what the operations look like, and then there's a pretty simple way of determining which applications can also run in the public cloud, if necessary.
What OpenShift features are most important to container management?
Gracely: OpenShift is based on Kubernetes technology -- the de facto standard for managing containers.
If you're a virtualization person ... it's essentially like vCenter for containers. It centrally manages policies, it centrally manages deployments of containers, [and] it makes sure that you use your compute resources really efficiently. If a container dies, an application dies, it's going to be constantly monitoring that and will restart it automatically. Kubernetes at the core of OpenShift is the thing that allows people to manage containers at scale, as opposed to managing them one by one.
What can virtualization admins do to improve their container management skills?
Gracely: Become Linux-literate, Linux-skilled. There are plenty of courses out there that allow you to get familiar with Linux. Container technology, fundamentally, is Linux technology, so that's a fundamental thing. There are tools like Katacoda, which is an online training system; you just go in through your browser. It gives you a Kubernetes environment to play around with, and there's also an OpenShift set of trainings and tools that are on there.
Brian Gracelydirector of OpenShift product strategy at Red Hat
How can admins streamline management practices between other systems for VMs and OpenShift for containers?
Gracely: OpenShift runs natively on top of both VMware and OpenStack, so for customers that just want to stay focused on VMs, their world can look pretty much the way it does today. They're going to provision however many VMs they need, and then give self-service access to the OpenShift platform and allow their developers to place containers on there as necessary. The infrastructure team can simply make sure that it's highly available, that it's patched, and if more capacity is necessary, add VMs.
Where we see ... things get more efficient is people who don't want to have silos anymore between the ops team and the development team. They're either going down a DevOps path or combining them together; they want to merge processes. This is where we see them doing much more around automating environments. So, instead of just statically [building] a bunch of VMs and leaving them alone, they're using tools like Ansible to provision not only the VMs, but the applications that go on top of those VMs and the local database.
Will VMs and containers continue to coexist, or will containers overtake VMs in the data center?
Gracely: More and more so, we're seeing customers taking a container-first approach with new applications. But ... there's always going to be a need for good VM management, being able to deliver high performance, high I/O stand-alone applications in VMs. We very much expect to see a lot of applications stay in VMs, especially ones that people don't expect to need any sort of hybrid cloud environment for, some large databases for I/O reasons, or [applications that], for whatever reason, people don't want to put in containers. Then, our job is to make sure that, as containers come in, that we can make that one seamless infrastructure.