[Tech +]Hey, can you develop in any environment? "Yes, I can!" - A story about "Docker," loved by developers

Hello! My name is Austin, and I work in Arbeon’s DevOps team.

I believe anyone who loves IT or is involved in it has heard about Docker. Docker is actually used by many engineers, and some companies mention Docker as a required or preferred skill. What is this “Docker,” and how did it become so popular?

Today, let me introduce Docker briefly.

Why do we use Docker?

A story about "Docker," loved by developers

Docker’s history

In 2008, Solomon Hykes started a platform as a service (PaaS) with the name "DotCloud" in Paris, France. Hykes was first introduced to the world as he presented “The future of Linux Containers” at PyCon held in Santa Clara in March, 2013. Since then, the platform garnered a lot of attention, and the name was changed from DotCloud to “Docker Inc” as we know it now.

So, when is it used?

Before introducing Docker, it is necessary to understand the concept of virtualization. Virtualization is a technology of using hardware resources effectively by dividing the hardware into several virtual machines. Virtualization can be classified into VMs and containers (Docker).

To use a virtual machine, a layer of software called a hypervisor is needed, as shown in the above figure. The hypervisor is installed in the host OS. It separates the host OS and the guest OS and allocates each different physical resource to the guest OS. With the hypervisor, each hardware can be used like separate sets of PCs. However, as VMs require the use of a hypervisor, it results in slower speed. Moreover, the image size will increase significantly when the deployment is done via VM, as each VM is supposed to contain a guest OS.

However, containers (Docker) operate by separating only the required process while sharing the OS kernel of the host OS’ base environment instead of installing the guest OS. While the host OS and other OS cannot be used, it has the significant benefit of minimizing the size and increasing the deployment speed, as only the app, which needs to be isolated, and dependent items, such as specific libraries required for it, are included.

Docker is a virtualization platform using container technology. With Docker, an image can be run to create a container, and it can be used to manage and convert the container into an image conveniently.

Here, the image refers to the file with tools, libraries, and settings necessary for running the container.
The image is composed of layers. When there is a modification in the image, a new layer can be added for deployment.

Docker is an essential service for the microservice architecture (MSA), and it is a highly powerful open-source tool. It can be isolated from another processors like VM, while experiencing almost no degradation of performance. It can run independently in any environment and is easy to deploy.

The Arbeon app creates a reality-based AR social media where it is possible to communicate amid daily objects and spaces. AR and AI technologies are essential for the Arbeon app. Note that these technologies are composed of MSA and operate based on Docker.

Today, we briefly discussed about Docker. This service makes it possible to develop in any environment, free from container management or dependencies. Therefore, developers can focus more on their main tasks. Our next article will talk about the microservice architecture (MSA). If you are interested in it, please stay tuned.

Thank you for reading this article. ๐Ÿ˜˜

Contact us

General inquiry - official@arbeon.com

Investment inquiry - ir@arbeon.com
Press release – media@arbeon.com
Partnership inquiry – partnership@arbeon.com

3F, 211, Hakdong-ro, Gangnam-gu, Seoul, Republic of Korea