Not long ago, a number of new Docker features were released, including updates to Docker Engine, Compose, Swarm, and Machine. Along with these feature enhancements also came the announcement of Docker’s Series D funding of $95 Million, which is no small feat considering Docker was initially released a little over two years ago. Let’s take a look at some of the new features, as well as Docker’s evolution, past, present, and future.
Docker Engine 1.6
There’s been a great deal of talk about Docker and Microsoft, and both companies have continued to deliver to with the announcement the Docker Client for Windows as part of the Docker Engine 1.6 release. Labels for both containers and images have been introduced, which will be key to future management and automation of Docker deployments and administration of them. Also new is the ability to set resource constraints on a container when they are built, which is another great feature for overall manageability. For more information, check out the release announcement on the Docker blog.
Compose, Swarm, and Machine
Compose, Swarm, and Machine were also updated, with emphasis placed on usability, for administrators, and for the ecosystem as a whole. Initially released, in February, they have already come a long way. One new feature of Compose 1.2 is the introduction of an option called extends. It does exactly what it sounds like, it extends your configuration beyond a container. This means multiple containers can share a configuration file, or perhaps an multiple applications can reference the same configuration file, which may be part of an organization standard configuration. Swarm 0.2 also adds enhancements, such as new strategy for scheduling containers on the cluster. Machine 0.2 increases support for cloud and virtualization drivers, further enabling the deployment of docker across a number of environments.
Setting Course for the Enterprise
I’m a firm believer that organizations should always be looking at emerging technologies, even if it is only to rule them out for their environment at the current time. Technology is fantastic, but business cases are needed for implementation, I think the days of implementing technology for the sake of technology are long gone for many organizations. The ability to run an application in any environment, from a developer’s laptop to the cloud, consistently and reputably, as well as the ability to quickly scale the application can clearly be a business enabler. More and more organizations are beginning to change their development methodologies, adopting practices more along the lines of CI/CD, and the flexibility of container deployments certainly fits in. However, with the native Docker tools being vastly command line based, it isn’t necessarily feasible for many organizations at this point.
Sure, there are tools like Puppet, Chef, and Ansible that can be leveraged in a Docker deployment, which is great for organizations that have already begun the open source journey. There’s also Shipyard, which seeks to provide a Web UI with easy to read dashboard for your Docker deployment. The dashboard like overview is key for many operations organizations, there’s something invaluable about the ability to quickly be able to evaluate your environment, and address any issues at hand. Better yet, instead of dealing with issues once they’ve happened, the ability to ensure that things don’t go wrong with predictive analytics.
(Orbiter Atlantis’ Glass Cockpit, Image from NASA, aka the greatest dashboard ever)
To be widely adopted by the enterprise, I think this is where Docker needs to start going. The ability to gain an overview of your Docker deployment, from an application and container level, as well as an underlaying component layer, and to quickly drill down for more data will be a crowd pleaser to operations organizations all over. With added features like resource constraints on containers, the ability to graphically see what a container is utilizing well help greatly either add or remove resources from them.
As we’ve watched other open source projects, such as OpenStack grow up, we’ve seen these features added and quickly implemented by the consumers of the technologies. Horizon, with its User Dashboard, System Dashboard, and Settings dashboard has evolved greatly since it was introduced in the Essex release in 2012.
Dashboard views, automation, and orchestration are some of the things that will be key to Docker gaining traction in the everyday enterprise. Whether they are developed by Docker, after this new injection of funding, or the development is contained by third parties remains to be seen. I think we will continue to see many changes to Docker, as well as any associated management tools in the coming months.
(Disclaimer: I am not affiliated with Docker in any way, and these opinions are solely my own)