Image: iStockphoto/Wavebreak Media LTD

Containers have revolutionized the way many people view IT and the deployment of apps and services. But what exactly are containers?

Containers are self-contained apps and services that IT admins can easily deploy and update. In many instances and applications, containers make things easier and more reliable and secure. Containers are also part of the backbone of Kubernetes. In fact, without containers, there’d be no Kubernetes.

This TechRepublic cheat sheet is a quick way to get up to speed on containers.

SEE: Kubernetes security guide (free PDF) (TechRepublic)

Executive summary

  • What are containers? Containers are self-contained apps and services that encapsulate all dependencies in order to make them easily deployable and updatable.
  • Why do containers matter? In the simplest terms, containers are one of the fastest means of deploying applications and services at scale on any supporting hardware. This also serves to make containers portable and highly flexible.
  • Who uses containers? Containers affect IT pros, end users, and business owners.
  • What is a brief history of containers? The foundation of containers came about in the 1970s with UNIX chroot and have been evolving ever since.
  • How can I start using containers? You can start by familiarizing yourself with virtual machines, Docker and Kubernetes.

SEE: Best DevOps Tools & Solutions 2022: Compare DevOps Software (TechRepublic)

What are containers?

Containers are self-contained applications, packaged with their dependencies, that IT can easily deploy, update and scale up or down as needed. Similar to VMs, containers remove the hardware dependency from the equation. Containers are easily distributed via a virtual platform, and they’re a way your company can save money, considering you now have the ability to roll out multiple applications and services that do not have their own hardware requirements and can auto-scale to meet a growing or shrinking demand.

Containers are also a great means for deploying and scaling websites, without interfering with the operation of other apps and services on a particular server. Imagine your basic website served on a VM allows you to easily add web-based applications and/or services to expand your offerings; these applications and/or services could be added without requiring their dependencies to be met by the hosting computer. With this in place, you no longer have to worry that installing a new application will interfere with either the host computer or the host VM, as the container is a self-contained application. Containers are also portable, meaning they can be deployed and will run as expected on any environment that includes a container runtime such as the Docker Engine or Podman.

SEE: Master Kubernetes, React, AWS and more valuable cloud skills with this training (TechRepublic Academy)

Sometimes people are confused about the differences between VMs and containers. Containers are not VMs, and Docker is not a container. The hierarchy looks something like this:

Hardware > host OS > VM > Docker > container

A container is served up by software such as Docker that exists on a VM such as those run on VirtualBox, VMware or, on a much larger scale, AWS that is run on a host OS such as Ubuntu Linux running on adequate hardware. Containers can also be deployed on Kubernetes clusters, which make it much easier to manage them at scale.

When you consider making containers part of your business plan, a local Docker installation isn’t the only game in town. Other services to consider are:

Additional resources:

Why do containers matter?

Containers are a fast way to deploy applications and services at scale on any supporting hardware, though the importance of containers starts at the server level. Imagine that everything you run on your server is done so efficiently that each running app and service doesn’t compete for precious host resources or directly affect the running of the host machine. That is where the benefit of containers begins. Because of the isolated nature of containers, an administrator doesn’t have to concern herself with each app or service interfering or affecting one another.

Certain members of the corporate food chain will be more interested in containers’ cost effectiveness. Removing the cost of hardware from the equation, let’s see how much creating an environment for running containers would cost. Remember, we have our host OS, our VM platform, and the software by which we will deploy the containers. Let’s break it down with real-world solutions understanding there are other options available for each.

  • Host OS: Ubuntu Linux. Free.
  • VM platform: VirtualBox. Free.
  • Deployment software: Docker. Free

You could have a completed software stack, ready for the deployment of your containers, for free. If you opt to use VMware as your VM platform, there will be an associated cost. If you’re looking at a much larger deployment, there could be the added cost of a hosting service, such as Azure or AWS. But for small- to mid-sized businesses, container technology can be had on the cheap. If you add Kubernetes into the mix, there’s a significant learning curve involved.

Additional resources:

Who uses containers?

Containers affect IT pros, end users and business owners use containers. They use containers for various reasons:

  • IT pros use containers for their ease of use.
  • End users opt for containers because of their remarkable scope of service and reliability.
  • Business owners like containers because they can save precious IT budget.

More specifically, any business looking to grow its web or mobile app presence by offering more and better services, or any company looking to empower its employees with Software as a Service, will be affected by containers. When companies have the ability to quickly and reliably roll out new applications or updates to existing applications, clients and end-users also gain serious benefits.

Additional resources:

What is the brief history of containers?

Containers have been in play for quite some time and will only continue to grow in scope, scale, and importance. If your company is not already using this incredibly flexible and extensible technology, you are behind the curve. According to Gartner, by 2023, more than 70% of global organizations will be running more than two containerized applications in production, up from less than 20% in 2019.

Additional resources:

How do I start using containers?

To start using containers, the first thing you must do is familiarize yourself with a tool such as Docker or Podman. In order to do that, you’ll want to have a fundamental understanding of Linux and how to write container manifests in JSON. You’ll also want to familiarize yourself with Kubernetes, as you’ll have a much easier time scaling and orchestrating your container deployments with that container management platform. Without understanding the foundational tools, you won’t be able to make use of what has become one of the most important pieces of modern enterprise computing to come along in years.

Once you have those technologies under your belt, you will be able to easily get Docker up and running in order to start deploying your containers.

Additional resources: