The Post-Docker World: What’s Next in Application Deployment?
Docker containers are going mainstream. That begs the question: What's the next big innovation in infrastructure technology after Docker containers stop being cutting-edge?
If you want to understand what comes after Docker containers have transitioned from being a huge innovation into just another mainstream technology, you have to understand how Docker became so popular.
Docker containers debuted barely four years ago. In that short time, they have been embraced by organizations large and small as a faster, leaner, more agile way to deploy applications.
In most cases, those organizations have used Docker containers to replace the virtual machines or bare-metal servers that they traditionally used to deploy applications. Although Docker doesn't make it possible to get rid of host servers entirely — Docker still requires some type of host server for the Docker environment — containers allow host environments to become much more generic.
That's because when your application is powered by Docker, there is much less configuration for you to worry about. You don't have to set up and maintain a host server configured for the specific type of application you want to deploy. Any server capable of hosting Docker will do the job.
It is this ability to simplify application deployment and management that forms the crux of Docker's impressively quick rise to massive popularity.
The Post-Docker World
So, what comes after Docker? Where will innovative companies look to make application deployment even faster and easier than Docker can on its own?
Here are some newer or emerging types of infrastructure technology and concepts that will help innovate beyond Docker:
- Serverless computing. Serverless computing services allow companies to run applications without having to set up, maintain or pay for a server. They can run code on demand, paying only for the time that their application actually runs. Serverless computing doesn't necessarily make application deployment faster, but it makes it less complicated and less costly by scratching itches that Docker containers can't reach.
- NoOps. NoOps is a generic term that refers to a world in which all IT operations — meaning tasks like provisioning infrastructure, restarting apps after they crash and balancing server loads across clusters — are fully automated and don't require manual work by humans. NoOps may sound far-fetched, but in some areas it is already becoming a reality. Methodologies like Infrastructure-as-Code (IaC) and orchestrators like Kubernetes are allowing organizations to automate IT operations in ways that seemed impossible just a few years ago.
- Unikernels. Unikernels take the the container concept to the next level. They make it possible to run an application inside a portable, container-like environment that is self-hosting — meaning it does not require any type of host operating system to run. Unikernels platforms are not yet fully mature, but when they get there, they will remove a large layer of complexity from application deployment by making it possible to package the operating system along with an application. Docker has already introduced a solution, LinuxKit, that resembles unikernels in some ways. But Docker-independent unikernels could go even further.
- Smart monitoring tools. If deploying applications is hard, monitoring applications to make sure they remain available and secure is even more difficult. That's especially true in a microservices-based or Dockerized environment, in which service dependencies and the specific location of any given resource is not possible to pin down in the way it is within traditional environments. For this reason, smart monitoring tools that understand microservices and containers and can work with them seamlessly are likely to become an important innovation in the future of infrastructure management.
It's too early to say that Docker has fully run its course. Docker adoption will continue to grow as more and more organizations learn to build production environments using containers.
But once Docker has lost its shine and is just another typical technology, the tools and concepts discussed above will be on the cutting edge of innovation in the realm of application deployment and infrastructure management. They're all technologies that already exist. They're just waiting for Docker to step aside in order to become the next big thing.