What are containers?
If you are using a PaaS or SaaS to create your application, then you will not come across containers because they take care of containerizing your application. PaaS simply lets you push the source code of your app to the cloud and it builds and runs the app for you.
If you are using IaaS to build your application, then without containerizing your application, it will become next to impossible to scale and manage your application. Let's take a scenario and try to understand why we need containers.
In IaaS, to deploy your app you would need to perform the following steps:
Provision a Virtual Machines (VMs)
- Install all the dependencies and runtime environments of the app
- Run the app
- If the app starts receiving more traffic than the VM can handle, you will start creating new VMs and distribute the traffic using a load-balancer
- For every new VM, you need to follow the same procedure for installing the dependencies and runtime environments before running new instances of the app...