By now, almost everyone who works in IT has heard of: containersthe lightweight virtualization technology that is a pillar of cloud native computing.
But unless you’ve worked with container technology for a long time, it can be easy to make wrong assumptions about what they can do and how they are similar or different from other types of technology, such as virtual machines.
To clear up the confusion, here are seven common myths about software containers, and why subscribing to these myths can lead to poor decision-making when setting up cloud-native environments.
Myth 1: Docker invented container technology
Docker, which became an open source platform in 2013, was the first containerization framework to be widely used.
But it certainly wasn’t the first container technology. On the contrary, containers dating back decades† Docker was preceded by technologies such as LXC (on which Docker was once based) and BSD jails, which also provided a way to run applications in quasi-isolated, software-defined environments.
So Docker didn’t invent containers. It just made them popular, largely by creating tooling that made it easier to work with containers.
Myth 2: Containers are much faster than VMs
Ask most people why they should use containers, and the answer will probably be that containers are faster than VMs because they don’t waste resources on hypervisor overhead and guest operating systems.
It is true that containers are more efficient. However, the performance difference between containers and VMs is smaller than you might think. It is on average only 2%, according to VMware (although the details vary widely depending on the types of workloads you’re dealing with).
So, if you think containers are vastly superior to VMs, think again.
Myth 3: Kubernetes is an alternative to Docker
People sometimes treat Kubernetes and Docker as either-or statements. They think you’re either using Docker or Kubernetes.
In reality, Docker and Kubernetes are different things. Kubernetes is a orchestration technologywhile Docker at its core is a way to run containers.
To be fair, comparing Kubernetes to Docker can be confusing because Docker also offers its own orchestration tooling called Swarm† But that’s just one part of Docker (and it’s not the most important part). You can use Docker to run containers while using Kubernetes to orchestrate them.
Myth 4: Containers are just for Linux
Most container development efforts have focused on Linux. You also need Linux for certain types of container-related workloads; For example, Kubernetes master nodes can only run on Linux servers.
However, containers can also run on Windows† Indeed, you can even set up a Kubernetes cluster containing both Linux and Windows nodes at the same time, you can run Windows and Linux apps side by side using a central management plane.
Myth 5: Containers run in the cloud
Insofar as people confuse containers with technology that only works in the cloud, it is probably because the term “cloud-native” (which is closely associated with containers) is confusing†
Cloud native is sometimes interpreted as referring to technologies that only work in the cloud. But not all cloud-native environments are cloud-based. You can also deploy on-premises containers or Kubernetes. There’s nothing stopping you from using containers if you don’t want to use the cloud.
Myth 6: Containers are hard to manage
In the early days of container adoption, it was difficult to deploy and control containers. Managing things like permanent storage was also a challenge.
Today, however, this is no longer the case. The tooling around containers has matured a lot over the past four or five years and the barriers to entry are no longer there.
So while it was once fair to say that working with containers was objectively more difficult than working with VMs, as of 2022 that’s simply not true.
Myth 7: Everyone understands containers
However, just because container tooling has become easier doesn’t mean that every engineer is familiar with containerized software stacks or management tools – although it may seem so, given the attention that containers and Kubernetes are getting these days.
If you still don’t know how containers really work, you’re not alone. Container technology isn’t new at this point, but not everyone has been knee-deep in Docker and Kubernetes over the past decade. There is indeed a shortage of skills around modern, cloud-native environments†
To get the most out of containers, avoid misconceptions – such as the idea that containers are much faster than VMs, that they only run on Linux, or that if you don’t master the ins and outs of container technology, you’re an outlier. are.
About the authorChristopher Tozzi is a technology analyst with content expertise in cloud computing, application development, open source software, virtualization, containers, and more. He also teaches at a major university in the Albany, New York area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.