Magyar English 日本語
Sun

What is container technology?

 

Container technology has been rapidly gaining popularity and is becoming one of the fastest growing technology trends in this decade. This technology has existed since the eighties, however, it has only started gaining popularity in the last few years. The reason for this is that a whole ecosystem has been built around it, it has been standardized, and made easy to use.

Docker released an application for container technology a few years ago and has been the most successful at popularizing it. This technology enables the deployment and execution of an application and includes user file settings, dependencies, and the operating system. Container technology has allowed many companies to earn billions of dollars in capital by creating a new way for them to distribute, run and manage applications in a more flexible and agile way. It has provided developers with the ability to work on software applications in teams, as well as allowing them to push updates quickly using container management platforms.

 

Container technology can be better understood by comparing it to shipping containers. Before containers were invented, in order for manufacturers to be able to ship goods they would have to use a wide variety of modes, including trucks, trains and ships with different size containers and packaging. By standardizing containers, goods can now be transferred easily among shipping methods without any additional preparation. Container technology is very similar, in that it provides developers with a new way of distributing and managing applications in a more efficient and agile way.

 

Containers versus Virtual Machines

 

The following diagram demonstrates the difference between VM’s and Containers

 

 

Inside the Linux container ecosystem. Digital Image. SDxCentral. 2016. PDF. 14 July 2016

 

 

Containers and Virtual Machines are both a form of virtualization, however, they virtualize at different levels of the stack. Virtual Machines allow a server to run numerous guest OSes, virtualizing the hardware using a hypervisor. Containers differ from VM’s in that they do away with a hypervisor and can be run on a single OS on the host machine by adding a Docker based runtime or a lightweight LXC. Applications will then run in their own container on top of the OS, virtualizing the OS.

 

The following summarizes the key differences between VM’s and Containers:

 

Containers

 

  • Every containerized application shares the same underlying operating system
  • No additional resources needed for each OS
  • Consumes less resources than VM’s
  • No need to install a hypervisor and OS for each application
  • Applications can be loaded much faster than VM’s due to their “light” nature – containers are only megabytes in size
  • Access resources specific to that container
  • More security risks that should be carefully evaluated when choosing containers as opposed to VM’s
  • A malware crash of the host OS can impact all of the containers    

 

VM’s

 

  • Enable a server to run several guest OSes, virtualizing the hardware using a hypervisor
  • More resource hungry than containers
  • Rely on a hypervisor
  • VM’s are fully isolated from one another, application crashes only impact the affected VM
  • Can be migrated from one virtualized system to another

 

Market shift

 

There are many large companies that have shifted towards the utilization of container technology including Google, Facebook, Yelp, AirBNB and many fortune 500 companies. Many of these companies have stated that a container approach has sped up the development of their applications and platform. According to a survey that was conducted by SDxCentral’s container survey, only 7 % of those surveyed are utilizing container technology however, 76 % of the respondents are in the process of evaluating the technology, 20 % are testing and piloting, 56 % are searching for different solutions, and only 17 % of the respondents are not considering container technology.

 

Google is one of the many companies that have had tremendous success with container technology. Google’s senior vice president of technical infrastructure, Urs Hözle, has stated that he believes open source and container technology will drive the future of cloud infrastructure. In a Keynote at Interdrop in Las Vagas, Hözle expressed the importance of containers by stating, “We have to go with containers, we need to think about applications instead of machines. The system manages the placement on machines. You don’t have to think about OS security patches and configuration. A whole class of administrative tasks is removed”. Due to the efficiency, agility and flexibility of this technology, containers have been growing rapidly in enterprise software development.

 

How do microservices affect the container Infrastructure?

 

We have discussed in our previous article what microservices architecture is, as well as the many benefits it provides, we will now explain how microservices affects the container infrastructure. Container technology is outstanding for microservices due to the fact that the containerization of a single service makes it fairly easy to update and manage. Containers enable multiple execution environments to exist on a single operating system, therefore, allowing multiple application components to coexist in a single environment. This isolation allows multiple microservices to be placed on a single server, resulting in higher server utilization rates due to container efficiency.

 

Summary

 

Due to container technologies ability to facilitate rapid agile development, it has become one of the hottest trends in IT. With its rapid growth in popularity, some of the most successful companies in the world have benefited from this technology.

 

To summarize this article, we have listed the key benefits to using container technology: 

 

  • Allows applications to be tested and deployed more quickly
  • Faster and lighter weight than VM’s
  • Consumes less resources than VM’s
  • Application is separated from the underlying infrastructure, making them more portable
  • Lower overhead than VM’s – significant cost savings
  • Helps reduce VM footprint
  • Standard “one button” update for applications

 

The following diagram also demonstrates the key benefits of utilizing container technology.

 

 

                                  

                                                          Inside the Linux container ecosystem. Digital Image. SDxCentral. 2016. PDF. 14 July 2016

 

 

If you want more information or would like to consult with our expert, please leave a message for us:

 

email: This email address is being protected from spambots. You need JavaScript enabled to view it.

 

Sincerely,

 

ITware