Python DevOps Pipeline

Premise

The book Accelerate: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, PhD Jez Humble, and Gene Kim provides evidence for the effectiveness of DevOps and its component parts.

DORA's State of DevOps periodically publishes a capability catalog in addition to the "State of DevOps" reports.

A DevOps pipeline should implement each of the capabilities and its evaluation should include the performance metrics.

DORA Capability Catalog - Technical Capabilities

Version control

git

Trunk-based development

"Teams that did well had fewer thatn three active branches at any time, their branches had very short lifetimes (less than a day)..." - Accelerate by Nicole Forsgren, PhD Jes Humble, and Gene Kim.

Continuous integration

nix scripts define the build process.

Jenkins runs and reports tests.

Continuous testing

Python unittest and pytest. Output results from pytest as JUnit formatted XML.

Continuous delivery

Python Poetry formatted package.

Container image blob.

Deployment automation

Architecture

Empowering teams to choose tools

Test data management

Shifting left on security

SAST, DAST, IAST

Database change management

Cloud infrastructure

Code maintainability

State of DevOps 2021 - Findings

###Documentation

Generate documentation with Sphinx from reStructuredText (reST) as described by PEP-287.

SRE and DevOps are Complementary