Virtualization and containerization
1. Virtualization and containerization
Now let's compare virtualization and containerization!2. Recap: Virtualization vs. containerization
First, let's review both terms: Virtualization is the process of creating a virtual version of a computing resource. Full virtualization creates a virtual machine, a simulated computer system inside another computer. Containerization is virtualization at the OS-level. It packages an application and its necessary dependencies into a container, an isolated environment with everything needed to run the application.3. Software tools for containerization
There are several software tools available for both technologies. One of the most popular tools for building, distributing, and running containers is the Docker platform. For orchestrating containers, that is, automatically managing and coordinating multiple containers, Kubernetes is a common choice. We will talk more about container orchestration in the next chapter, so stay tuned!4. Software tools for virtualization
Virtualization software such as Oracle VM VirtualBox or VMware helps create and manage virtual machines.5. Use cases of virtualization
Let's dive into use cases of full virtualization!6. Use cases of virtualization
Full virtualization is often used to make better use of existing servers by running multiple virtual machines on a single physical server.7. Use cases of virtualization
Organizations have a variety of reasons for keeping legacy applications alive. With virtualization, legacy hardware and software can be emulated by virtual machines, even when running on modern infrastructure.8. Use cases of containerization
Let's take a look at some use cases for containerization, OS-level virtualization!9. Use cases of containerization
Containers provide a way to isolate an application from its environment by packaging the application in a container. In addition to packaging an application, an organization may be interested in packaging each service or component of an application into its own container. Structuring an application as a collection of services is known as a microservices architecture. The benefits of microservices include the ability to use different technology stacks for each service and to scale services independently.10. Use cases of containerization
As we briefly mentioned earlier, container orchestration is the technology for managing and coordinating the deployment, scaling, and management of multiple containers. Orchestrating containers is similar to conducting an orchestra - we direct containers to perform different tasks, just as we direct musicians to play different instruments.11. Benefits of containers vs. virtual machines
This table provides an overview of where containers or virtual machines outperform physical machines. Let's take a closer look at some of the advantages: Because virtual machines emulate the entire hardware, a VM provides stronger & more secure isolation than a container that shares the host OS kernel with other containers. In the event of an attack, access to the host OS kernel results in access to all containers on that host. Because containers share the same operating system and therefore take up less space than virtual machines, containers can result in lower overhead costs. Because of their light weight, containers are more portable and scalable than virtual machines. On the other hand, virtual machines provide the flexibility to run multiple operating systems on the same host machine and even support legacy applications on modern hardware. As you can see, each has its own advantages. So, depending on the use case, we need to choose the appropriate approach!12. Let's practice!
Now let's test your understanding!Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.