Overview of containerization
The challenge of getting software from a development machine to a production server is harder than it sounds. Differences in the environment can range from hardware to software. Containerization is one approach to addressing this. With containerization, the application and all its dependencies are bundled into a single package or image. This image can then be started, and the running image or instance is called a container.
To explain further, let's look at a traditional application as shown in Figure 9.6:
The preceding figure illustrates a traditional application, where applications run on an operating system hosted on infrastructure. An issue might arise with this approach when an application requires different features of the operating system. It is not necessarily that two applications will always require opposing features, but more that it becomes difficult to reliably capture...