beawolf - Fotolia
There is really no debating the usefulness of software containers, as more and more organizations are using Docker at every stage in the software development lifecycle. But one of the biggest barriers to widespread adoption has been the learning curve associated with setting up and configuring a local environment. While many software developers embrace the tedious updating of configuration files and the persnickety editing of XML, the availability of graphical tools that are largely point-and-click will win the hearts and minds of the majority in the industry. Promising to do just that are the Docker tools for Windows and Mac that were officially released to the public at DockerCon 2016.
What can these new tools do? Quick and automated configuration of software deployed to a Docker container is the functionality that was demonstrated during the morning keynote, with the often convoluted task of onboarding a new employee used as the sample use case.
TheServerSide has written about the farce known as onboarding a number of times, as it's a process that is rarely done well. Far too often, a new employee won't have an assigned cubicle on their first day. It often takes a few days for a laptop to be provisioned. And once that happens, there's usually a long and drawn out process that involves acquiring the required software, performing the installation and finally configuring the development environment, which can include everything from setting up a microservices deployment platform to populating a NoSQL database or document store. In the end, valuable time is lost, and the enthusiasm of that new hire is squelched. But Docker tools promise to rewrite the story on, among other things, how organizations onboard employees.
All I need to do is download and install Docker for Mac or Windows and run one command.
Docker software engineer
"All I need to do is download and install Docker for Mac or Windows and run one command," said Aanand Prasad, a software engineer at San Francisco-based Docker, pretending to be a first-day employee as he demonstrated what was possible with the new Docker tooling. By running the command in question, no software was actually installed on the local machine. Instead, a container was deployed providing a fully functional enterprise system that leveraged Python, Redis, Java, Node.js and PostgreSQL.
Demonstrating how easy these Docker tools make it to onboard a new employee and make them productive immediately, Prasad managed to run a simple web-based application, identify a small bug, edit some Java source code, update the Git repository and redeploy the working application, all within 10 minutes of finishing the Docker install. It was a testament to the power and potential of the Docker tools that are currently being developed.
Making great software development tools
"Along the way, we followed a few rules on how tools can reduce friction," said Solomon Hykes, Docker founder and CTO. And that meant the tools team always tried to follow three key tenets during the development phase. First, the tools should get out of the user's way, as opposed to getting in the way. Second, they should adapt to the user and the user's activities, rather than forcing the user to adapt to them. And third, the tools that are developed shouldn't be complicated. "We've been taught that the more complicated the tool, if it looks complicated, if it looks hard to use, then that's good, that means it's a real tool, it's a tool for grown-ups," Hykes said. "Well, it turns out that's completely wrong."
After being beta tested by over 70,000, invitation-only developers, Hykes seemed confident they've hit the mark and successfully stayed true to the three fundamental design tenets they set forth. And it is with that confidence Hykes announced the public release of these tools. "Docker for Mac and Docker for Windows Beta [are] now available for everyone," Hykes said. "And we think that's really going to make a difference on how everyone uses Docker to develop, and for the developer experience as a whole."
How will Docker tools for Mac and Windows help your onboarding process? Let us know.
Find out what makes good software development tools great
Learn about containers and microservices
How to move beyond the virtualization tool with DevOps containers