What are containers?
Since the 1970's, there has been research on how to separate applications from the host systems that they run on. In 1979, Unix V7 introduced us to the chroot
system call that isolated a root
directory of a process and it's children to a separate location on the host's filesystem, thus protecting the underlying host from prying eyes or malicious intent. Since then, we've seen developments such as FreeBSD jails (2000), Linux vServers (2001), Sun Solaris Containers (2004), LXC (2008), Warden (2011), Google's Let Me Contain That For You, and Docker in 2013.
Although some of these technologies are still around, most of them were the basis for future developments in container technology. This technology allow developers to package an application with all the required libraries and dependencies it needs and ship it as one complete package. Much like many different manufactures do today with durable goods like furniture and other premanufactured and self-assembled goods.
In some...