Containers, 2016 vs 2020: what has changed?

Posted by: Veselin Mijuskovic June 08, 2020

Category: Topic: Containerization

My colleague, Boris Vezmar, published a blog post titled ‘Containers: The Game Changer’ back in March 2016. Containers were a new shiny toy back then, a topic to discuss at our gatherings, a buzzword that marketing people just started to use to lure unsuspecting customers… yet something not many people used (that is, if you’re not Google). 

Fast forward four years – where are containers today? Is there something new that hasn’t been available in 2016? Has the technology matured enough that even those who are known to stick to proven technologies open up to containers? 

TL;DR – containers are everywhere, there is some new stuff that enabled it to be used everywhere. They matured enough, so those who are known to stick to old and proven technologies are turning to containers and I’m scared shitless and you should be, too. 

New stuff 

First, regarding the new stuff – containers are not limited to Linux these days (yeah, yeah, I know, Solaris has Zones and FreeBSD has Jail, at least one of them predates Linux containers, but still…). Microsoft implemented containers in their Windows products and partnered with Docker to make them easy to use. Plus, they added support for Linux containers on Windows. They’ve also added container support in their Visual Studio family of products, to make life easier for developers. 

Choose faster, smarter and a proven way for your software deployment pipeline using Containers as a Service with SuperAdmins

Also, Docker is not the only container implementation for Linux. There are other contenders, some of them backed by some prominent Linux distros. LXD is based on LXC (the standard Linux technology for implementing containers) and is a competitor for Docker and backed by Canonical, the creators of Ubuntu. Notice: Docker started as an extension of LXC, but migrated to their own implementation, called libcontainer

On the cloud side of the world, EVERYBODY these days offer containers as a service. Even VMware added Docker support for their vSphere so you can run containers natively on a vSphere environment. 

Image creds: Google Cloud

Maturity 

The sign that some technology has matured is that the ecosystem, the set of tools and apps that use said technology, has stabilized. In the beginning, there are myriad of competing tools used for, for instance, managing the technology in question, but as time passes some of those tools drop off – either as they are not as good as others, or their userbase largely switched to other tools. This is the sign for those who want to use such technologies but are afraid to invest in tools and knowledge that can disappear next year that the winners are up and that it’s safe to commit yourself to those that remained standing when the battle ended. 

The greatest problem that Docker had for wider consumption is that it was essentially a single node technology. That doesn’t mean that you couldn’t set up a bunch of nodes running Docker and somehow manage that bunch as a whole, but there wasn’t a single implementation that provided that – especially when it came to networking the containers over the single node boundary. Also, there wasn’t a good tool to orchestrate and manage the entire container infrastructure as a single unit. So, several competing tools appeared, briefly fought for supremacy and Kubernetes emerged as a clear winner. There are still some pockets of resistance, like ECS by AWS (who, by the way, also offers Kubernetes to orchestrate containers). 

But how ubiquitous are containers? Well, the other day my colleagues and I talked about what usage scenarios should prefer virtual machines over virtual environments, a.k.a. containers and we really struggled to find something that can run better on VMs. More and more exciting new web or mobile products are based on microservices, which are feeling the best when implemented as containers. 

Interested in Containers?

Let's talk! Schedule your free call today!

Start

Keep reading

How cloud-based remote education transforms the way we learn

06.05.2021

The shift to remote learning showed that there are two main tests to pass: the psychological one – both for teachers and students who are required to maintain the pre-pandemic level of academic excellence and learning focus. The other challenge is virtual classroom implementation.

read more

Five Most Common Questions About Microservices

28.04.2021

This article should help you determine whether it is cost-effective to start an adventure called microservicel architecture, as well as avoid some major problems with the implementation of microservices.

read more

Monolithic VS Microservices: Which App Development Architecture to Use

13.04.2021

Though many of the well-known apps we all use and love today were made within monolithic architectures, this type of framework is becoming outmoded due to a plethora of constraints that are intrinsic to this model.

read more