X
Business

Zuul: Proven open-source continuous integration/continuous delivery

Hidden behind the OpenStack cloud was its outstanding CI/CD system. Now, with the release of Zuul 3.0, Zuul is coming into its own.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

Video: Agile and DevOps: 7 tips for creating the right culture

If you think Zuul is the Gatekeeper, demigod, and minion of the ancient Hittite god Gozer, then you're a Ghostbusters fan, too. But, if you're interested in continuous integration/continuous delivery (CI/CD) and not "human sacrifice, dogs, and cats living together... mass hysteria," then you want Zuul, OpenStack's open-source CI/CD platform.

Read also: What is DevOps? An executive guide to agile development

Zuul originally was developed for OpenStack CI testing. For years, OpenStack, the Infrastructure-as-a-Service (IaaS) cloud, got all the attention. Over time, people began to realize that as impressive as OpenStack was, the CI system behind it, which enabled contributors and users across many different organizations to work and develop quickly together across multiple projects, was impressive in its own right.

So, with Zuul version 3, its programmers decided to spin off from OpenStack and run it as a standalone project under the OpenStack Foundation. The announcement was made at OpenDev conference in Vancouver, Canada, which has been running in parallel with OpenStack Summit.

Begun in 2012, Zuul has been proven itself at scale in the OpenStack development process. As more users and use cases emerged, the team started decoupling Zuul from OpenStack-specific systems.

With the newly released Version 3, Zuul has completed this process. It now supports a much broader range of use cases and development platforms. The latest, and most important, are that it can work with GitHub; be used with the Ansible DevOps tool; and it can use PostgreSQL as a database backend.

What's been attracting most people to Zuul over such other CI/CD programs as Jenkins and Spinnaker is that it works well with "multi-repo gating." This means it can be used to handle multiple software projects and repositories all working to a common goal.

Boris Renski, co-founder of Mirantis, an important managed OpenStack company, explained, "Zuul was build as a back-end infrastructure to let open-source developers work together from different places using a particular governance style. It's good for large open-source communities or big in-house development teams that mirror an open-source development community approach."

GoDaddy's Clint Byrum, a senior cloud software engineer, added, "We have a very large OpenStack installation at GoDaddy, and a few of us have been using Zuul since its very early days as OpenStack developers. This experience has always been pleasant, and the folks in charge of it are extremely responsive and welcoming. Beyond that, cross-repo gating allows us to keep our concerns separate, and build CI/CD pipelines out of a combination of upstream free/open software, such as OpenStack, in concert with our more custom GoDaddy-specific integrations."

Tech Pro Research: Job description: DevOps engineer | IT leader's guide to making DevOps work

In a statement, Melvin Hillsman, open-source community operations manager at Huawei, said, "Primarily the benefit we see is the ease of integration with other projects. Along those lines, Zuul is beneficial in general for open-source users who utilize Ansible for other problem domains because it allows for a common language/workflow to be utilized both within the CI/CD system and outside it, opening the door for other tools to be more easily integrated."

So, if you're moving to CI/CD in your development workflow and you want tools that can handle massive numbers of projects, which must work together at the end of the day, I strongly suggest you look closely at Zuul. It won't bring you "fire and brimstone coming down from the skies... rivers and seas boiling!" But, it will bring you a very powerful CI/CD framework for your most demanding projects.

Related stories

Editorial standards