Containerization is a lightweight alternative to traditional virtualization that packages only the components needed to run a specific service, enabling fast deployment and easy scaling. Unlike hypervisors, containers share the host operating system's kernel rather than running fully independent environments.
Containerization
Containerization is another thing that's been around for a really long time, but it became popular in the mid 2010s, like 2013, 2014, as Docker came out and really popularized it. It's kind of like virtualization, like a hypervisor, but it works a little different than a typical hypervisor.
I think the easiest way to see what a container is is to compare it against a hypervisor, and specifically let's talk about a type 1 hypervisor. So here we have a hypervisor right here, and on that hypervisor we have very many virtual machines that are running. Now, the thing is, some of these virtual machines, like Windows, take up a lot of space, so they take up a lot of resources. Linux not as much, but we've got the whole environment that's running on top of that hypervisor. So that is like one self-contained unit, and there are some advantages and disadvantages to that.
Containerization does things a little differently. So we have an operating system — let's say it's Linux down here. Then we have the container engine; Docker would be an example of that. And then on top of that we have the containers.
One of the first things is that these containers are very simplistic and very easy to roll out. It's not like you're installing a whole operating system like you would be with a hypervisor. They're very small little packages. One of the reasons for that is there are elements of the operating system that can go into the container, but for the most part all of the operating system components are down here at this level right here. So we have the standard operating system, like Linux, and then up here in the container level there might be a piece of this container that has some of the operating system components in it, but it's just enough to run this container. It's no more than that.
So now we don't have as much duplicate. Over here we're duplicating the same files over and over and over again, because they're whole new environments from this hypervisor's perspective. But from a container perspective, we're only taking in the components that we need that run that service. So it's much smaller and much easier to deploy, and it makes things really fast to deploy these containers.
Some of the advantages are that we get super fast deployment, and it's highly scalable — it makes it so that we can scale really fast and really easy. The problem is that there is a little less isolation to it. Even though they have components of the operating system on here, it is sharing this underlying operating system here, so there is less isolation than a hypervisor would have.
There are some kernel dependencies. So whatever we're running up here, we need to make sure that the kernel down here, the operating system, can run that. And you really only have one OS type, because of what I just mentioned there. You have an OS type right here, and those containers then have to be supported on whatever OS type there is.
But a lot of businesses have switched to this, because there are some really great advantages to containerization.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →