In a traditional system, an application usually deploys in a dedicated server. These servers are not cheap hardware and normally cost upwards of thousands of dollars. Deployment into a dedicated server is mainly done to provide full access to hardware resources and to avoid any configuration conflicts. However, this can cost companies a huge amount each time they're required to deploy a new application. From here, comes virtualization –although there are both advantages and disadvantages to its approach. To overcome the negatives of virtualization, containerization came into existence.
In this chapter, we will explore the following topics:
- Virtualization and different types of hypervisors
- Containerization and its benefits
- Docker
- Docker Swarm
- Kubernetes
We will start with the detailed theory related to these topics. We will then move our...