As we close out 2018, we at Container Journal wanted to highlight the five most popular articles of the year. Following is the fifth in our weeklong series of the Best of 2018.
Now that Docker and Kubernetes have become household words (in the households of DevOps engineers, at least), what comes next? What’s the next big thing in the world of containers and microservices? Keep reading for some insights.
Docker is not even five years old. Kubernetes is even younger. (Kubernetes’s predecessor, Borg, dates back further than Docker, but Kubernetes itself was released in 2015.) They’re both very new technologies, comparatively speaking.
Despite their youth, however, both of these technologies have redefined the way organizations large and small design and deploy applications over the past few years. They have made microservices architectures feasible to implement and simplified the adoption of DevOps continuous delivery chains.
But if there’s one truth that always holds in the technology world, it’s that evolution never stops. Docker and Kubernetes may be a big deal today, but tomorrow, something newer and better is bound to come along. It probably won’t replace Docker and Kubernetes, but it will deliver new innovations and opportunities.
The Next Big Thing for Containers and Microservices
What will that great new thing be? No one can say for sure, of course, but here are some good candidates:
- Unikernels. Unikernels take the Docker container concept to the next level by packaging an entire operating system into a self-hosting, self-executing container. Researchers have been working on unikernels for years, but a production-ready unikernel remains elusive. (In some ways, Docker LinuxKit can be used to create containers that function somewhat like a unikernel, but not completely.) However, unikernels hold real promise. They would make applications easier than ever to deploy, while adding agility and security. If someone figures out how to make unikernels practical enough for the real world, they’ll no doubt take the microservices ecosystem by storm.
- Simpler microservices APIs (via the “service mesh”). From a programmer’s perspective, microservices architectures are challenging to implement because they require complex APIs to enable communication between microservices. That may be changing. Projects including Istio and Linkerd aim to create “service meshes” that greatly simplify processes such as service discovery and routing within microservices architectures. These projects are still pretty new, but as they evolve, they could significantly accelerate microservices adoption.
- More integration with legacy technologies. To date, legacy technologies such as traditional virtual machines have remained relatively isolated from next-generation technologies including containers. That may change in the future as VMware and other vendors work to make their platforms more container-friendly. Such efforts won’t radically change the container and microservices ecosystem. But they will change the makeup of technology stacks and make it easier for organizations to deploy legacy and modern technologies in the same environments, without having to run separate stacks for each one.
- GUI-friendly containers. You can run applications with graphical user interfaces (GUIs) inside containers, but existing solutions for doing so remain rather clunky. As a result, most container use cases today center on applications that don’t require a GUI to run, or whose GUI can be accessed via the web. If a technology were to come along that made it easier to deploy traditional GUI apps inside containers, it would open up vast new opportunities for deploying containerized applications.