GeekTechSpecial "What's a Container?"
Hello, this is Matsumin, IIJ America Inc’s site administrator. (Translated by Tuna)
Original Japanese Post: Here
Even if it is common practice or common knowledge to IT specialists, some things are extremely difficult to understand for our customers. GeekTech Special’s goal is to bridge this gap and provide comprehensive knowledge about difficult IT topics. Today’s special will focus on “Container” technology.
Containers Within Cloud Services
“Virtualization” has been playing a key role in Cloud Computing since 2006 when the cloud became a major player in the IT infrastructure world. This Virtualization technology has advanced dramatically since then. At this moment, “Hypervisor” Architecture is very popular in virtualization technology. On the other hand, “Container” Architecture has existed for a long time within the Unix/BSD/Linux communities, but due to the high hurdles to deploying container architecture, it struggled to gain mainstream popularity. However, container architecture has become more familiar with the recent rise in popularity of Dev/Ops* and the innovations and improvements to container technology. *DevOps is a set of practices that combines software development and IT operations closely and will be covered in a future blog.
Difference between Hypervisors and Containers
You can see the architecture of Hypervisors and Containers below. With the traditional Hypervisor Architecture, there is a physical server that the Hypervisor OS is installed on. Each OS and application is built upon this base combination of a physical server with a Hypervisor OS installed. On the other hand, for Container Architecture, there is a physical server with a standard OS installed, which will operate the container engine. (Usually Linux OS) By doing so, users can deploy needed applications in a separate environment, on a container basis at much faster lead times.
Characteristics of Containers
Application deployment is incredibly fast
No need to deploy a guest OS and can deploy applications in under a minute.
Processing is incredibly fast
No overhead for guest OS and Hypervisor, resulting in faster processing speeds.
The Physical Host does not have to account for overheads in regards to CPU/Memory/Disk IO.
Containers’ portability and scalability after deployment
This might be the most appealing aspect of container technology. You can easily duplicate, move, or rebuild container environments that have already been deployed. This is a necessary function in today’s world where operations teams and development teams coordinate to update applications frequently. This new concept can overturn the traditional concept of backup and restore.
Difficult to Operate
It’s difficult to operate if you don’t have a good understanding of Linux and there is a learning curve.
Not a perfect fit for all organizations, but specifically for organizations that develop applications internally. Containers will be very useful for organizations that have their own developers who are coding, testing, and deploying applications often.
Kernels are Shared
Each container on a given physical server will be dependent on the kernel installed on the physical server. This means if you want to operate several different OS on 1 given physical host, the container architecture isn’t optimal.
What did you think？ Our company is specialized in providing IT service built around the internet. For free consultations regarding virtualization please contact us here.