Loading Now

Containerization: Introduction

containerization-intro

Containerization: Introduction

Initially we used to have this traditional model where we have physical machines with OS on top of that and we are just installing out application along with all the libraries and so on. But thiese physical machine is not being used in efficient manner and also there’s some limitation like kernel structure for example if my machine is Windows machine than we can’t run the application developed for Linux machines. Here, physical machine is the scaling unit.

Than came the new technology of hypervisor which allows us to have virtual machines. Each virtual machine have it’s own OS it could be Windows or Linux. We can package our application and deploy it on these virtual machines. This introduction of new VM revises our concepts for not only development but also for deployment strategies. Also from security and network perspective there’s been a lot of update at this stage because of isolation of application. But this comes up with couple of challenges like resource usage where even if the application is not running it will consume the resource and one have to explicitly shutdown the VM to release the resource. Here, VMs are the scaling units.

Than comes the containerization, where we have a separate layer called Container Engine between our machine OS and containers. Containers do not have OS, it only package with library need to run the application and directly run on the main system’s OS. This makes a big difference on resource allocations which make it a light weight deployment as we don’t have to provision the whole OS. Here, applications are the scaling units.

This is just for basic idea on why we shifted or shifting from virtualization and moving the application to containers. Many such transitions would led us to Kubernetics technology which we will discuss in follow up blogs.

Post Comment