Skip to main content

GitOps

GitOps is an operational framework that takes DevOps best practices used for application development such as version control, collaboration, compliance, and CI/CD, and applies them to infrastructure automation.

Edgecell is GitOps for edge computing.

OODA loop

Colonel John Boyd (USAF) was a jet fighter in the Korean War. He created a framework called the Boyd cycle or, more commonly, the OODA loop, to explain his success and train others. OODA stands for observe, orient, decide, act. It summarizes how humans interact successfully with their environment. It is how jet pilots win dogfights. It is how successful businesses compete. It is how successful engineering teams deploy software.

GitOps

GitOps applies the OODA loop to software development and deployment.

  1. Observe. Engineers observe the behavior of the system through events, primarily log events.
  2. Orient. Engineers understand the events through graphical user interface (UI) that aggrate events. They control the system by making changes to the code and configuration using an integrated development environment (IDE).
  3. Decide. Engineers commit to a decision by pushing code to the version control system repository (Git).
  4. Act. Agents act upon to the decision by implementing the changes pushed to the repository.

The loop is called GitOps because the source of truth, the desired state of the system, is stored as text files in a Git repository.

Event source architecture

Event source architecture (ESA) is a recommended approach to systems at large scale. ESA requires as its backbone an append only immutable log. Apache Kafka most commonly provides this backbone. Note that Git is also an append only immutable log. When you consider how we are publishing objects in Git, we have created an ESA.