Thinking About CI/CD? Here's What You Need to Know
December 03, 2019

Valerie Silverthorne
GitLab

Now that every organization is a software company, the pressure to produce better code faster has never been more intense. An increasing number of organizations choose DevOps to bring traditionally siloed developers and ops teams together and they count on continuous integration and continuous deployment (CI/CD) to speed up the process.

If DevOps is a car, CI/CD is the transmission that connects all the moving parts together to allow for a smooth drive. No modern software development effort can thrive without CI/CD so if you're just getting started here's everything you need to know.

What's in a Name?

Let's break CI/CD down into its relevant components. Continuous integration is a way to tackle the always tedious and time-consuming job of testing code and it does so in a way that does not add any extra burden to developers. Code tests and checks are automated and the results are delivered back to the developer. CI also allows developers to split tests and builds across different machines which cuts the time involved and makes multitasking possible. 

Continuous deployment picks up where CI leaves off — tested and checked code can be automatically deployed to production using the CI server.

So, together, CI/CD represent a way to automate the most time consuming steps in software development and deployment.

The Solution to Universal Problems

Virtually every company struggles with the same set of problems that CI/CD can potentially solve.

Toolchain sprawl is pervasive — a surprising number of companies use more than 15 toolchains and that of course means time and human resources to maintain it all. An integrated out of the box CI/CD solution eliminates that problem and frees up resources for things that matter.

Even in a DevOps shop it can still feel like it's Devs vs. Ops because the priorities of the two groups are so wildly dissimilar. Devs are incentivized to create new features while Ops pros are rewarded by having a stable environment with a lot of uptime. CI/CD can help bring those opposing forces together around a single toolchain and let each group do what they do best without playing the blame game.

Code can also get stale while waiting around to either be tested or for devs to get energized about "context switching." CI/CD can tighten that loop to minutes rather than days or weeks ensuring everyone is working as efficiently as possible.

And while CI/CD is often hailed as a boon to developers, it's worth pointing out some concrete benefits to age-old Ops problems. An integrated CI/CD solution will bring automatic monitoring so error rates and infrastructure costs can suddenly be measured easily. And automated deployments free Ops pros to focus on value-added tasks rather than waiting around for developer hand-offs.

Every company knows the struggle involved in hiring tech talent but did you know CI/CD can play an important role in this area too? The Stack Overflow 2019 Developer Survey found languages, frameworks and other technologies as the most important factor for developers when looking for a job. In other words, the tech solutions a potential employer chooses matter and a cutting edge CI/CD solution in a DevOps shop offers some "sizzle" to job candidates.

Measure Success

CI/CD can bring solid benefits but it's vital to understand how to measure success or recognize under-performance. A good place to start is with cycle time. We like to think of cycle time as the period between starting work on an idea and delivering it to production or in to the hands of the end user. Your definition may vary but what matters is to compare cycle time without CI/CD to cycle time with CI/CD. Some companies report cycle times that took months now take hours with an integrated CI/CD solution

Time to value is another factor to consider because, done right, CI/CD should shorten that timeframe dramatically. Companies should also consider uptime, error rates and infrastructure costs.

Remember the Culture Change

When our organization transitioned to CI/CD, we noticed a dramatic cultural shift on the engineering team. Gone were the days of weekly deploys and long waits to see the impact of a code merge. Our "definition of done" changed and how we spent our time changed too.

In an internal 2018 survey, we found the delivery team spent 60% of their time babysitting deploys and 26% of their time on manual or semi-manual tasks in the 14 days leading up to a release. Fast forward to 2019 and 82% of the team said they were free to work on other tasks during the same 14-day pre-release time period.

CI/CD can bring speed, consistency and even happiness into your software development and deployment efforts. Start small, get it running and then build it out. Your DevOps team will thank you.

Valerie Silverthorne is Senior Content Editor at GitLab
Share this

Industry News

November 20, 2024

Spectro Cloud completed a $75 million Series C funding round led by Growth Equity at Goldman Sachs Alternatives with participation from existing Spectro Cloud investors.

November 20, 2024

The Cloud Native Computing Foundation® (CNCF®), which builds sustainable ecosystems for cloud native software, has announced significant momentum around cloud native training and certifications with the addition of three new project-centric certifications and a series of new Platform Engineering-specific certifications:

November 20, 2024

Red Hat announced the latest version of Red Hat OpenShift AI, its artificial intelligence (AI) and machine learning (ML) platform built on Red Hat OpenShift that enables enterprises to create and deliver AI-enabled applications at scale across the hybrid cloud.

November 20, 2024

Salesforce announced agentic lifecycle management tools to automate Agentforce testing, prototype agents in secure Sandbox environments, and transparently manage usage at scale.

November 19, 2024

OpenText™ unveiled Cloud Editions (CE) 24.4, presenting a suite of transformative advancements in Business Cloud, AI, and Technology to empower the future of AI-driven knowledge work.

November 19, 2024

Red Hat announced new capabilities and enhancements for Red Hat Developer Hub, Red Hat’s enterprise-grade developer portal based on the Backstage project.

November 19, 2024

Pegasystems announced the availability of new AI-driven legacy discovery capabilities in Pega GenAI Blueprint™ to accelerate the daunting task of modernizing legacy systems that hold organizations back.

November 19, 2024

Tricentis launched enhanced cloud capabilities for its flagship solution, Tricentis Tosca, bringing enterprise-ready end-to-end test automation to the cloud.

November 19, 2024

Rafay Systems announced new platform advancements that help enterprises and GPU cloud providers deliver developer-friendly consumption workflows for GPU infrastructure.

November 19, 2024

Apiiro introduced Code-to-Runtime, a new capability using Apiiro’s deep code analysis (DCA) technology to map software architecture and trace all types of software components including APIs, open source software (OSS), and containers to code owners while enriching it with business impact.

November 19, 2024

Zesty announced the launch of Kompass, its automated Kubernetes optimization platform.

November 18, 2024

MacStadium announced the launch of Orka Engine, the latest addition to its Orka product line.

November 18, 2024

Elastic announced its AI ecosystem to help enterprise developers accelerate building and deploying their Retrieval Augmented Generation (RAG) applications.

Read the full news on APMdigest

November 18, 2024

Red Hat introduced new capabilities and enhancements for Red Hat OpenShift, a hybrid cloud application platform powered by Kubernetes, as well as the technology preview of Red Hat OpenShift Lightspeed.

November 18, 2024

Traefik Labs announced API Sandbox as a Service to streamline and accelerate mock API development, and Traefik Proxy v3.2.