Silicon Valley is replete with splashy companies that claim to be disrupting entire industries; but historically, many of the most revolutionary technologies have entered the mainstream, not with a bang, but quietly, through gradual adoption and product iteration. One such underrated innovation is “containers”: a virtual shell containing code and its dependencies, that can run anywhere in an self-sustained manner, thereby freeing developers from coding for specific environments (Windows vs. Mac vs. Cloud etc.). Every year, NewtonX interviews a little over 100 IT executives from Fortune 1,000 companies. Over the last 2 years Containers have consistently made the Top 5 list of the most impactful technologies in use today..
What Do Containers Do? A Former Google Tech Lead Explains
NewtonX conducted an in-depth one-on-one consultation with a former Google Tech Lead who uses containers in her work, and has used them in conjunction with virtual machines since late 2015. She explained why containers have set the developer world on fire, and how she sees the technology progressing.
Containers are so named because they can be understood as the virtual equivalent to shipping containers. Shipping containers were revolutionary (around the 1960’s) because they eliminated the time and labor associated with loading products into ships; instead of crates, sacks, and other repositories being lifted one by one, now, product filled containers are lifted directly from the truck to ship, thereby eliminating an entire intermediary process. Similarly, virtual containers solve the problem of running software reliably when it is moved from one computing environment to another.
The problem that containers solve is one of portability. Moving code/software from a laptop, to a test environment, to a data center, to the cloud, or to production can be problematic if the supporting software environment is not identical. If, for instance, you tested on Python 2.7, but then run on Python 3.6, errors can occur. Containers, however, create a standalone environment and communicate only with the central operating system, which will usually host many containers. For instance, each account on the NewtonX platform has its own container that it runs operations on.
Tech giants including Google, IBM, Microsoft, and Oracle have been using containers for over a decade. But they became popularized in late 2014 due to the release of Docker, which is an open platform for running containers. Since then, over 3.5 million applications have been containerized using Docker technology and over 37 billion containerized applications have been downloaded. NewtonX also uses Docker in conjunction with Kubernetes, a container orchestration engine.
Because containers use a shared OS (unlike virtual machines, where each one has its own virtual OS), they are much more efficient, and lend themselves to as many as five times the number of server application instances that you could have using virtual machines on the same hardware. Containers are also an efficient tool for continuous deployment — wherein developers integrate their code into a shared repository continuously so that it can be deployed quickly.
These benefits have led to a market explosion for containers: annual revenue is expected to quadruple, growing into a $4B market by 2022, according to a micro economic expert survey conducted by NewtonX in 2017.
Containers are an “enabler” technology — and the things they’re enabling are astounding
Containers are similar to blockchain in that they offer myriad possibilities for other products to be built through them. But they are one of the biggest sources of speed, cost reduction and efficiency in IT and development, saving billions of dollars in the background of the biggest companies in the world. According to the former Google senior developer, in a large company, the improved efficiency that containers offer can save millions of dollars every year. It’s no wonder that the biggest players in tech have latched onto containers; from Microsoft Windows, to AWS, to Google Cloud.
The Most Impactful Revolutions Are The Quietest Ones
Because containers were born out of pre-existing technologies (cloud, coding, virtual machines, etc.), they haven’t made a large mainstream splash. However, the efficiencies they enable have contributed to making them an invaluable tool in app development, platform development, and even in medical research. A NewtonX expert, formerly a researcher with UCSF’s neuroimaging department, used containers to house neuroimaging software, would then run a pipeline and use the container to run the process, then get the output and the container would go away again.
Often, the most important technologies are ones just like containers: they build on various tools and pre-existing technologies to create a new, improved way of doing the same thing. After all, cell phones were just an extension of cordless phones; today’s smartphones developed out of IBM’s unpopular 1994 “Personal Communicator”; and wearables developed out of smartphones. Revolutionary technologies are usually not new per se — rather, they’re an improvement on an existing system.
Containers may not be the next Apple Watch from a consumer perspective, but from a market perspective they just might be.