What are Containers and Why do I Care?
You may have heard of the term ‘containers’ as it pertains to the technology world. If you follow tech industry news feeds you will certainly see something new along these lines at least once a month, if not much more often, usually accompanied with a picture showing stacks of the standard shipping containers. What are these containers really and why do businesses care? Is this just another passing technology trend?
Containers are self-contained, isolated environments from their host operating system which include all of the components and software packages necessary to run the application or applications for which the container was created. A container allows you to take your application and easily move it from one location to another, such as from your local machine or infrastructure, to a public or private cloud environment. It also allows you to easily share your applications with others. As long as someone has the container environment like rkt or Docker running, they can spin up your application quickly.
In the cloud world, CaaS or containers as a service has also become quite popular. With a few clicks of the mouse a container environment is built and you can quickly deploy your containerized application. All of the underlying clustering and orchestration is already built-in so you can concentrate on your product and let the service deploy it to whatever scale is required. It can even be scaled up and down automatically based on parameters you set.
If this sounds familiar and you are wondering “Isn’t this the same thing as virtualization”, the answer is yes and no. There are some virtualization-like aspects to the container such as a simple network stack, however the container is very lightweight and is designed to run just the application or applications it was designed for. Where a virtual machine is a full blown operating system with all of the overhead which comes with it, a container only...