How Will Docker Respond to the Serverless Future?
With ever more users joining the container party and more features being added every month, Docker is still in its infancy, but is growing up oh-so-fast.
Despite the pace at which Docker is moving, it still needs to respond appropriately to emerging tech trends if it's to have more than just a dream start.
So where does Docker currently stand and where should it be going?
Today: Docker’s Focus is On Built-in Orchestration
At this year’s DockerCon, the addition of built-in orchestration to its portfolio demonstrated where the company has its sights squarely set: enterprises.
Orchestration has been a pressing need for Docker users for a while now. Responding to this demand, many third-party orchestration tools have popped up over the past few years, with two of the most-used being Google Kubernetes, and Apache Mesos, both of which have their own unique pros and cons: Apache's Mesos is a cluster manager with native Docker container support, and works best in a single data centre at a time. Google's Kubernetes is another alternative, open-source orchestration tool, providing automated deployment, scaling and application container operations.
Lately, Docker has been catching up, however, and their latest 1.12 release features built-in orchestration, referred to as swarm mode. This mode uses a system of nodes to orchestrate Docker services, which contain everything needed to schedule Dockerised services.
This mode of orchestration offers a wide variety of advantages. Machine failure is inevitable, so swarm mode makes sure that multiple replicas of services are spawned and rescheduled should the host disappear. Docker is already known for its speed and is used for CI/CD workflows, improvements in caching means the orchestration system will write only when absolutely necessary, allowing it to be more read-intensive. Similarly, the security of Docker containers is a well-worn issue. But with built-in orchestration, enhanced security comes right out of the box. This means you don’t have to have an advanced knowledge of security protocols or be an expert to keep Docker secure any more.
Tomorrow: Docker Responds to a Serverless Future
We’re moving towards a serverless future in which applications are developed in the cloud rather than on servers, as in the past.
Apps will soon be built, tested, and deployed in the same environment, a development that brings with it a range of advantages: developers need not worry about compatibility issues and underlying architecture anymore, all they have to do is develop and deliver code. This also relieves the burden on both developers and operations, since a lot of time can then be spent building innovative features, rather than figuring out how to make apps compatible with various environments and operating systems. Also, scalability is automatically managed behind the scenes, saving yet more time. Lastly, pricing is based on actual usage, which means you won’t have to pay for idle cloud servers when usage is low. This ease and agility is what microservices are all about.
What is Docker’s take on this future scenario?
At the recent DockerCon, Docker said that it, in fact, was ready for the serverless future as it can run functions as containers. With the newly introduced built-in orchestration, we see that automation is also addressed.
Docker provides application containers, which make things a lot easier than using VMs, but in principle still requires you to manage servers. In contrast, serverless computing is meant to allow developers to focus exclusively on app development and not on infrastructure maintenance.
Using Docker means having to launch multiple containers for each application. But with serverless infrastructure, you won’t have to worry about launching containers: provisioning is done automatically. It’ll be interesting to see what further improvements Docker will come up with in response to this serverless computing trend. AWS has a headstart in this race with its Lambda, but Docker is no doubt carefully watching these developments.
Although Docker is the strongest container service provider today, it needs to be continue to innovate in response to changing trends to keep its top spot. With the development of built-in orchestration, Docker's container services are taking bigger steps towards this future.
Want to know more? You can download our Enterprise Container Strategy guide here.