Container technology, also known as “just a container”, is a method of packaging an application so that it can run in isolation from other processes. The major Cloud computing providers, such as Amazon Web Services,, Microsoft Azure and Google Cloud Platform, have embraced container technology, with software such as Docker, Apache Mesos, rkt and Kubernetes.
The name ‘Container technology’ is derived from the shipping industry. Instead of finding a unique way of shipping each product, goods are placed in steel containers, designed to be picked up by a crane on the dockside and loaded onto the ship, which is designed to accommodate the standard size containers. By standardising the process and keeping the goods together, the container can be moved as a single unit, which costs less.
Containers are a lightweight version of traditional virtualization. Each container believes it is a fully fledged server, or an operating system. In reality, the container uses the underlying operating system. This ensures that it will be used for exactly what a developer wants it to be used for. Typically, only one service is run per container.
For example, instead of a business running 50 services on 20 servers, 50 containers could be run on a handful of servers instead.
One of the advantages of containers is that they ensure that installed software is completely isolated. Unfortunately, many (old) systems are designed to want an entire server to themselves. With containers, you can place them together without the systems getting in each other's way, while at the same time making better use of the resources.
Container operation often requires demanding stability requirements to be met. Many containers do not allow for manual procedures. They are therefore often controlled using Kubernetes, Nomad, Docker Swarm or similar. These systems provide automatic error correction and scaling. The latter is important for some services, e.g. application servers, where the need for capacity can change over the course of the day or year.
Application providers often want to get up and running quickly with their services, and are now supplying ready-made boxes which can be used in all modern cloud solutions. Cegal uses this approach when we supply IT systems to our customers; our solutions are ready-made and can be run either at the customer's own data centre or in the cloud using standard container technology.