My friend: Hi Ibrahim, I have a question for you.
-
Me: I know, you’ll ask me about Containerization in telco and what are its benefits against Virtualization, right?
-
My friend (looking amazed): Yes, that’s right. But how did you know?
- Me: Simply, you asked me last week about Virtualization and normally Containerization is compared with Virtualization and so I was expecting that this is the next question, that’s it
(Link of the last week post about Virtualization is in the 1st comment )
-
My friend: So, I need to understand why do we go to Containerization, that means Virtualization has some limitations, right?
- Me: Yes, that’s true. In the initial transition from PNFs to VNFs (which is a group of VMs), vendors often simply lifted the SW entirely from legacy HW and created one large VM without any change in the SW architecture. So, they created inefficient, single-purpose virtual appliances that were still hard to manage and maintain as if you need to upgrade one single functionality, you need to upgrade the whole SW of the VM containing this functionality. Also, as each VM has its own OS (this is called the guest OS) which is considered as an overhead and that makes the VM image size heavy reaching Gbytes in some situations for high configurations which requires a huge storage and also will make it difficult to scale these VNFs in large volumes, for example, you can’t create 100 copies of one VM in one click as you’ll need a huge disk space. Also, VNFs are often tightly coupled with specific HW or SW, this dependency restricts MNOs from easily switching vendors or integrating 3rd party components into their network infrastructure.
-
My friend: So, how can we overcome these limitations?
- Me: We started using containers instead of VMs and so a group of containers are called CNF (Containerized Network Function). The containers are light weight compared with VMs as there is no guest OS associated with each container, unlike the VMs. So, container images are few Mbytes in maximum and usually they are in Kbytes. This happened as we removed the guest OS from each container and used a container engine that can run multiple containers on the same OS. So, we can say that containers perform virtualization at the operating system level unlike VMs which are doing virtualization on the HW level. Also, microservices are used with containers, so the app SW will be re-architected to be composed into multiple microservices and each microservice can run in one container. So, containers are more portable than VMs and are faster to manage and deploy than VMs, which can save time and money with application deployment.
-
My friend: Thank you very much, you made it very clear.
- Me: You are most welcome.
LinkedIn: