Why DevOps, Containers, and Tooling Matter in Digital Transformation

The ever-accelerating pressure to deliver faster, simpler, better products and services is industry agnostic; it affects every company in every market. Our ability to wield the powerful but complicated digital resources available to us (and our competitors) will directly predict our place in those markets. Companies adopting DevOps practices are outstripping their competitors in speed and quality of their code deployments and are twice as likely to exceed their productivity, market share, and profitability goals.

So, now that I have your attention…

Digital Transformation is no longer optional.

“Every industry and company that is not bringing software to the core of their business will be disrupted.” – Jeffrey Immelt, CEO of General Electric (The DevOps Handbook, Intro).

We can see clear signals that companies are reacting to the pressure to transform and perform. And they’re investing in doing something about it. The global digital transformation market is expected to exceed US$ 462 billion by 2023.

Smart leaders see the direct connection between business strategy and digital strategy. They’re also realizing the business risk of being behind the curve. According to Harvard Business Review, management is either evolving or leaving. In 2007, only 33% of executives surveyed said their CEO was a champion for digital. Today, that number has more than doubled.

A decade ago companies were focused on digital themes like data mining, search technology, and virtual collaboration. Today, that picture looks a lot different. And more complicated. Today, business leaders are focusing on artificial intelligence, machine learning, and the Internet of Things. But you need a modern workflow and toolchain to handle the necessary computing power and processes.

DevOps drives digital transformation

A modern workflow and toolchain have a fast flow of work from dev to deploy that allow your organization to experiment relentlessly and consistently, reliably, and securely deploy code ten, a hundred or a thousand times per day. Enter DevOps and “CI/CD” (Continuous Integration/Continuous Delivery) workflows.

To understand what DevOps is, we should take a short look at its roots. In the DevOps Handbook, the authors explain DevOps as the convergence of several philosophical and management movements. The lean movement, originating on the Toyota manufacturing floor in the 1980s and the agile software development movement of early 2000s have inspired and shaped the technical, architectural and cultural practices of DevOps.

The lean movement focused on lead times as predictor of quality, customer satisfaction, and employee happiness—the shorter the lead time, the more accurate the outcomes. The best predictor of short lead times turned out to be work broken up into small batch sizes, reducing the amount of work in progress, and the continuous improvement of work systems.

The agile movement applied these lean principles to software development, emphasizing small batch sizes and incremental releases. Each release delivers value and improvement through the development lifecycle of a project, instead of large, monolithic, high-risk release that may or not still be on target at the end of a project. Value to the customer and to the business is only realized when we have the code running in production. And deploying the code shouldn’t break things or cause chaos.

So the DevOps movement extended these principles once more. It extends the principles of lean and agile beyond application code to the entire dev-to-deploy value stream.  The first tenet of DevOps focuses on maximizing the fast flow of work from development to testing to deployment. The practices to maximize flow include:

  1. continuous build, integration, test, and deployment processes (aka CI/CD)
  2. creating destructible environments on demand
  3. limiting work in progress
  4. building systems and organizations that are safe to change

The second and third tenets focus on the fast and constant flow of feedback, continually shortening and amplifying feedback loops. Combined with effective management, they help create high-trust cultures and organizations that learn from both success and failures. The fast flow of work combined with open and amplified flow of feedback perpetuates the speed and depth of learning and catapults organizations ahead of their competition.

According to the GitLab 2018 Develop Survey, they have:

  • 30x more frequent code and change deployments
  • 200x faster code and change lead times
  • 60x higher success rate of production deployments

The companies adopting DevOps and CI/CD practices are outstripping their competitors. They are twice as likely to exceed their productivity, market share, and profitability goals.

Containers are key to successful DevOps and CI/CD practices

To create a fast, stable, reliable, consistent, and secure flow of work from dev to deploy, you need a toolchain that supports creating production-like environments quickly and on-demand. Working with containers and open source, cloud-native computing is the go-to answer today and enables development teams to create new development and production environments quickly and on-demand.

Cloud native computing uses an open source software stack to be:

  • Containerized. Each part (applications, processes, etc) is packaged in its own container. This facilitates reproducibility, transparency, and resource isolation.
  • Dynamically orchestrated. Containers are actively scheduled and managed to optimize resource utilization.
  • Microservices oriented. Applications are segmented into microservices. This significantly increases the overall agility and maintainability of applications.

To say that there’s momentum behind the containers-movement is an understatement.

  • Everything at Google runs in a container. Google starts over 2 billion containers per week.
  • The Cloud Native Computing Foundation (CNCF) includes Google and other major organizations including AWS, Oracle, Cisco, and Microsoft.  It exists to provide a neutral workspace for these organizations and others to share ideas and tools.
  • According to the CNCF, there has been over $4 billion in investments so far in cloud-native companies and more than  23,000 contributors to CNCF projects.

IBM asked 200 developers why adopting containers is the move with the most impact on the development lifecycle.

  • 66 percent: Greater levels of innovation
  • 64 percent: Faster response to changes in our market
  • 61 percent: Improved employee productivity

Any questions?

Containerized local development environment and containerized, managed hosting

Containers and container orchestration are powerful. But complicated. We understand how much time and effort you’ve put into becoming lean, agile, and successful. And we have built DDEV for you to extend that success into a competitive edge with DevOps and Continuous Integration and Development.

As we have mentioned before, Andrew Berry of Lullabot recently compared options for local Drupal development environments including MAMP, native on your workstation, VMs (Virtual Machines), and Docker-based containerized solutions including DDEV-Local. He said Docker is “the most complicated option available,” and that’s a big part of what DDEV is focused on fixing: taking care of the complexity while giving you all the advantages of containerized development.

Tymoteusz “Tymek” Motylewski is the CTO of Macopedia Agile Software House and a TYPO3 CMS core developer talked with us about working with containers, “We had tried using pure Docker before, but that was very complicated. Just to set up an environment, you’d need Docker training; you need to type long commands setting what feels like 1000s of switches. DDEV really simplifies the process lot. It is super fast and super simple. Type “DDEV start” and you have your machine. The best part is that with the pre-defined TYPO3 CMS Docker image, your testing environment is up-and-running in 30 seconds. You have all the benefits of Docker, you work on local files, there’s no need to sync with external systems.”

DDEV is a modern, flexible, unified, containerized, dev-to-deploy toolchain consisting of DDEV-Local, a fast, open source, containerized local development environment and DDEV-Live, a containerized, managed hosting platform. It gets the complexity of Docker and containers out of the way and allows developers to spend more time developing. The tools are open source, decoupled, and pluggable. They already work with a number of front-end technologies, they can be integrated into your workflows and can work hand-in-hand with multiple hosting providers.

DDEV-Live for an end-to-end solution

When you want to implement a modern web development workflow, you need an end-to-end solution. We’re building that first with DDEV-Local and our newly launched DDEV-Live hosting solution. Sign up to our newsletter and we’ll email you tips and news about DDEV products and services.

Photo by Viktor Kiryanov on Unsplash

Share this post: