With the rage of Docker Linux Containers (software containers) — we should remember that software container technology has been around for more than a decade and is an approach to software development in which pieces of code are packaged in a standardized way so that they can quickly be plugged in and run on the Linux operating system (OS). This enables portability of code and allows the operating system to be virtualized and share an instance of an OS in the same way that a virtual machine would parcel up a server.
Standardizing the Shipping of Software
The concept of container technology uses the paradigm of shipping containers in inter-modal transport. The idea is that before shipping containers were invented, manufacturers had to be prepared to ship goods in a wide variety of modes – ships, trains, or trucks – with different sized containers and packaging. By standardizing the shipping container, goods could be seamlessly transferred among shipping methods without any additional preparation. Docker Linux Containers take the same approach with software.
By allowing software code to be prepped in ready-made software containers, the code can be quickly moved around to run on servers running Linux OS – or event be connected together to run a distributed app in the cloud. This approach also has the benefit of speeding up the testing process and building large, scalable cloud applications. While this approach has been around in software development circles for many years, it has recently become more popularized with the growth of Linux and cloud computing. Earlier projects taking the container approach have included BSD Jails, Solaris Zones, and Unix V7.
Docker Accelerate the Software Containers Approach
Momentum and hype around the evolution of Docker – along with tons of venture capital — has pushed containers to the forefront in the last two years. Docker — the provider of Docker Linux Containers — is an open source environment that was first introduced as open source in 2013.
Many software companies have quickly adopted container technologies, including Docker Linux Containers, aware of the threat and advantage of the approach. For example, Microsoft is adding features to support containers and VMware have made efforts in integrating support for Docker into virtual machine technology. Linux companies have also jumped on the bus, seeing as this as an opportunity to grow the Linux market. For example, Red Hat is releasing versions of Linux that are customized for Docker.
Many large companies have publicly stated that a Docker Linux Container approach has sped up the development of their applications and platform. These companies include Yelp, Airbnb, and Google, among many others. Google cites wide usage of open source container technology called IMCTFY.
Some software experts have pointed out that container technology could be a threat to virtual machines because it is a way to virtualize an OS system without adding the additional overhead (and cost) of installing several virtual machines. Proponents of container technology have pointed out that by sharing an OS and eliminating the need for VMs, containers consume far fewer resources than systems using VMs or hypervisors. Virtualization software companies such as VMware have tried to counter this perception by integrating container technology into their platforms.