3 Reasons Docker and Containerization Lit Up Application Development [Video]
Docker was the flame that catalyzed innovation in application development, according to Scott Johnston, senior vice president of product management and design at Docker. However, that success was entirely unforeseen.
"I wish I could say that we had a premeditated mindset three years ago when we released Docker," Johnston said in his keynote at last month's Collaboration Summit. "But we did not." Looking back, he sees three main reasons for Docker’s success: Accessibility, Portability, and Openness.
Docker has become one of the major players in container management and deployment, and, in his keynote -- called “The Democratization of Containerization” -- Johnston shared some of the thoughts that led to the creation of Docker, its success, and what has to happen next.
"Software is eating the world," said Johnston, referencing a recurring theme at the summit and describing how software has disrupted long-established businesses and industries, starting with books, travel, and real estate, followed by media, hospitality, and even cars. "You have to be concerned about how software will disrupt your business," he said.
And, according to Johnston, although interpretive languages like Ruby and Python, methodologies like Agile, Lean, and Kanban, and collaborative technologies and methods have made software development easier, the work doesn't stop when you commit and check in the app. “You have to transcend the application pipeline beyond development, beyond QA, into staging, into operations, and into ongoing maintenance." He went on to say that until the team works across the entire lifecycle, you don't see the full potential of applications.
Industry Growth and What’s Next
Then, three years ago, Johnston recalled, Docker entered the conversation. He reflected on why Docker was the flame that catalyzed this industry and caused it to take off to a new level of innovation and growth. The reasons boil down to accessibility, portability, and openness, Johnston explained.
Accessible: By making the tools available at the command line, "You can get very powerful isolation and resource management, without having to know anything about kernels."
Portable: "That image inside a Docker container, its only dependency is a Linux kernel. So it can go from developer's laptop running Linux to a server in the data center running Linux on OpenStack, to a server in Amazon cloud running Linux, all without change." Among other benefits, said Johnson, "It started an ecosystem where ISVs felt confident putting their software into the Docker containers and into the Docker image format, because they knew they didn't have to go back and redo a build for Red Hat, for Ubuntu, for Debian."
Open: Openness, Johnston said, "made it possible for developers and sys admins to download and start to use Docker, and it allows for massive community contributions." Also, he pointed out, Docker includes an API for plug-ins -- for different stacks for file systems, networking, storage, etc.
What's next, said Johnston, is taking each of these features to the next level.
For Accessible 2.0, "We have to continue to make it accessible for those not in this [keynote] room... reference architectures and reference stacks are exactly what we need to do to get that next wave of the market adopting our solution," Johnston said.
One particularly exciting development, he noted, is the enabling of Windows to use containers and microservices. Johnston said that recently a customer with 10,000 Visual Studio developers asked him point blank whether he should retrain them all on Java and Linux. Johnston answered, "No, if you want to take advantage of microservices, this new cloud native computing model, it's coming with Microsoft."
Portable 2.0, according to Johnston, reflects the fact that "a single container does not a full application make. Applications are combinations of containers, and applications need networking and storage and security."
Finally, comes Open 2.0, which involves continuing activities like evolving de facto standards and building reference stacks, Johnston said, citing the work of the Open Container Initiative (OCI) and Cloud Native Computing Foundation.
The steps must be accomplished, Johnston concluded, "so that we, our users, our customers, and this entire industry can get the benefits of this decade-long disruption."
Watch Scott Johnston’s full keynote, below.