In spite of having to share the kernel, the level of isolation in a container is pretty high. This is in contrast to virtual machines, which have to emulate a complete system, including CPU, disk, other hardware, kernel, etc. A system configured as a container host can execute many containers, all of them sharing the host's kernel and direct access to the host's hardware.
#Format factory portable mega full
This third option sits somewhere in between the other two in terms of the amount of deployment work needed on your part.Ĭontainers are built on a lightweight virtualization technology that allows an application, along with its dependencies and configuration to run in complete isolation, but without the need to use a full blown virtualization solution such as virtual machines, which need a lot more resources and can sometimes have a significant performance degradation in comparison to the host.
In this chapter you are going to learn about a third application deployment strategy based on containers, more particularly on the Docker container platform. Then in Chapter 18 I took you to the other extreme when I introduced you to Heroku, a service that takes complete control of the configuration and deployment tasks, allowing you to fully concentrate on your application. In Chapter 17 you learned about traditional deployments, in which you have to take care of every little aspect of the server configuration.