Overview of Virtualization, Containers and Docker [Dev Concepts #21]

In this short video, we will get familiar with the Virtualization concept and concepts like Container, Docker, and Cloud Platforms.

In this lesson, you will become familiar with: virtualization, containers, docker, and cloud platforms.
Have you ever wondered how to operate multiple Operating Systems on your computer? Thanks to virtualization, we can do that!

Virtualization is a relatively new technology that allows creating a completely isolated machine from scratch, all in software. Its dictionary definition is creating a virtual instance of an operating system, server, storage device, etc. In the IT industry, virtualization is running a virtual instance of a computer as a layer abstracted from the actual hardware.docker-image-vm

World-famous providers like Linux and other open-source cloud solutions define virtualization as a technology that lets you create IT services using resources traditionally bound to hardware. It allows you to use a physical machine’s full capacity by distributing its capabilities among many users or environments”.

Nowadays, companies are starting to prefer Docker. It s a tool that uses containers to make the creation, deployment, and running of applications a lot easier. It binds the application and its dependencies inside a container.

docker-logoBut what is the difference between Docker and virtual machines?

Docker is an example of virtualization, but with a few differences:

  • Containers share the same system resources and don’t have separated resources.
  • A Docker doesn’t have an OS inside.
  • It allows running multiple workloads on the same OS.

For example, if you have a 1 GB container image and want to use more than one virtual machine, you need to have 1 Gb multiplied by the numbers of the VM you want. If you use Docker, you can share the 1 GB between all the Docker containers.

In most real-life cases, your applications will have external dependencies, such as databases, message queues, or other external services that your application communicates to. You will need a reliable and easy-to-use way of bringing these dependencies into your development environment. Docker has a good solution for this called Docker Composer. It’s a tool for defining and running multi-container applications. That, combined with a cloud platform, will be the perfect solution.

A cloud platform is the operating and hardware system in a remote internet-based data center. It allows software and hardware products to co-exist remotely and at scale.

Docker-container-graphic

 

Overall, Virtual Machines are the most effective way to reduce IT expenses while boosting efficiency and agility for all-size businesses. Docker allows applications to be packaged with all the dependencies inside, which simplifies the deployment process quite a bit, and you get to have full reproducible environments.

Lesson Topics

In this video we review the following topics:
  • Virtualization and Cloud
  • Containers and Docker

Lesson Slides

Leave a Comment

Recent Posts

About SoftUni

SoftUni provides high-quality education, profession and job to people who want to learn coding.

The SoftUni Global “Learn to Code” Community supports learners with free learning resources, mentorship and community help.

Tags

Categories