Pipeline as Code: A Model for Scaling CI/CD
Many companies begin their journey into DevOps by using open-source tools to stand up simple but effective continuous integration (CI) and continuous delivery (CD) pipelines for one or two small, leading-edge teams—as a proof-of-concept. These early successes are often followed by an overwhelming demand for more—more teams, more functionality, more traceability, and faster turnaround. DevOps teams may soon find that their initial effort, as effective as it was, does not scale consistently or quickly. After all it was only a proof of concept. This inability to scale slows the momentum created by the early successes. Dan Petit shares his experience with this exact situation, describing how creating a reusable pipeline-as-code script library allows development teams to manage their own pipelines in a self-service approach while simultaneously preserving quality and auditability. He describes the characteristics of the pipeline-as-code model, including its major components and control mechanisms. Finally, Dan explores techniques for capturing, visualizing, and learning from available telemetry, to help drive best-practices and ensure pipelines have consistent quality across all teams.