Docker
Evolution
- Scenario: Running a simple web application
Solution-1: Physical Servers
- Procure 2 Physical Servers with decent configuration (higher than needed)
- Cons:
- Cost
- Under usage of Server Resources
Solution 2: Operating System Virtualization
- Install Hypervisors like VMWare on the physical servers and create virtual machines
- Better usage of Server Resources
- Cons:
- Still OS overhead is involved
Solution 3: Container
- Install Container tech like docker/lxc/lxd and run the applications inside containers.
- Container is an isolated area, with all the necessary resources available to run the application
- With containers scaling and portability becomes extremely simple.