BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

How Docker Has Changed the DevOps Game

Following
This article is more than 7 years old.

Cloud computing has paved the way for programmable infrastructure, which brought extreme automation into software development lifecycle. The ability to provision resources, configuring them on the fly, deploying applications, and monitoring the entire process led to the DevOps culture where developers and the operators are collaborating throughout the application lifecycle. While provisioning and configuration are best left to tools such as Chef, Puppet, and Ansible, one open source software that became the cornerstone of DevOps is Jenkins.

Software build, packaging, and deployment play a crucial role in release management. Enterprise developers often relied on tools such as Make, MS Build, Ant, Maven, and Gradle to compile and link source code. The rise of polyglot programming and distributed development increased the complexity of build management. That’s exactly where Jenkins comes to the rescue of development teams. By automating the build process, Jenkins can efficiently orchestrate complex workflows required by large teams. By integrating with the source code control system, Jenkins can invoke multiple build processes targeting different environments. The output of this would result in a set of EXEs, DLLs, or JAR files depending on the platform. Jenkins can also build free-style software that doesn't rely on specific build tools like Ant and Maven. It can invoke simple shell scripts to perform pre-build and post-build tasks. This option enables Node.js, Python, Ruby and other environments to take advantage of build automation.

During the last couple of years, Docker moved fast to become the preferred environment for software development and testing. DevOps teams are finding it efficient to configure dev/test environments based on Docker. It has also revolutionized software packaging and deployment. Instead of deploying the final set of artifacts such as EXE and JAR files to the target environment, ops teams are now packaging the entire application as a Docker Image. This image shares the same build version before getting published to a central registry. It is then picked up by various environments – development, testing, staging, and production – for final deployment. So, Docker has essentially become the de facto packaging format for binaries.

The lethal combination of Jenkins and Docker is proving to be very valuable for DevOps teams. By leveraging the tight integration with source code control mechanisms such as Git, Jenkins can initiate a build process each time a developer commits his code. This process results in a new Docker image which is instantly available across environments. Organizations are deploying private Docker registries to publish and maintain their internal Docker images.

Source: CloudBees

Docker, Inc. recognizes the important role it can play in the DevOps ecosystem. Aligning with its vision of “Build, Ship, and Run”, the company is moving fast by investing in the building blocks that enable organizations to integrate DevOps processes with Docker. Docker Trusted Registry, Universal Control Plane, and Docker Cloud are the key products that handle the delivery of containerized software.

It’s not just Docker, Inc. that’s investing in build automation. The ever-growing and vibrant community behind Jenkins has developed various plugins to tackle the integration with Jenkins. These tools made it easy for the DevOps teams to implement a build pipeline based on Docker.

Having witnessed the potential of Docker-based build automation, multiple startups come up in the recent past. CloudBees is one of the first companies to identify this opportunity. It pivoted from being a pure-play PaaS player by embracing Jenkins. CloudBees offers professional sevices and commercial support for enterprises deploying Jenkins. Shippable, a Seattle-based company, has democratized software build automation through Docker. Even SCM companies such as Atlassian have integrated build pipelines into their products. Bitbucket, a competitor to Github now includes a new feature called pipelines. Codeship is a startup that specializes in Docker-based continuous integration. CloudMunch, another Seattle-based DevOps startup has embraced Docker for implementing CI/CD.

Whether you are a startup with just a few developers and testers or an enterprise considering DevOps, you cannot ignore Docker. It’s time for you to include it in your DevOps strategy.

Follow me on Twitter or LinkedInCheck out my website