DevOps Engineering study materials
DevOps Engineering study resources

DevOps Engineering key terms

DevOps Engineering · Get comfortable with the vocabulary.

Continuous Integration (CI)

A development practice where developers frequently merge code changes into a shared repository, triggering automated builds and tests to detect integration issues early.

Related: Continuous Delivery, Pipeline
Continuous Delivery (CD)

An extension of CI where code changes are automatically built, tested, and prepared for release to production, ensuring software can be deployed reliably at any time.

Related: Continuous Integration (CI), Deployment Pipeline
Pipeline

An automated sequence of stages (e.g., build, test, deploy) that code changes pass through, enforcing quality gates and enabling repeatable software delivery.

Related: Continuous Integration (CI), Stage
Stage

A logical phase within a pipeline (e.g., build, test, deploy) that groups related jobs and often acts as a quality gate before proceeding to the next phase.

Related: Pipeline, Job
Job

A single unit of work in a pipeline, such as compiling code or running a test suite, executed by a runner and producing logs and artifacts.

Related: Stage, Runner
Runner

An agent or worker process that executes pipeline jobs, often isolated in containers or virtual machines, and reports results back to the CI/CD system.

Related: Job, Pipeline
Artifact

A file or collection of files produced by a pipeline job (e.g., compiled binary, test report) that is stored and can be consumed by later stages or deployments.

Related: Job, Pipeline
Infrastructure as Code (IaC)

Managing and provisioning infrastructure through machine-readable definition files rather than manual configuration, enabling version control, reuse, and automation.

Related: Configuration Management, Idempotency
Configuration Management

The process of maintaining consistent settings and software versions across servers, often automated with tools like Ansible, Chef, or Puppet to enforce desired state.

Related: Infrastructure as Code (IaC), Idempotency
Idempotency

A property of an operation where applying it multiple times yields the same result as applying it once, crucial for reliable automation and configuration management.

Related: Infrastructure as Code (IaC), Configuration Management
Immutable Infrastructure

An approach where servers or components are replaced rather than modified in place, reducing configuration drift and simplifying rollback and scaling.

Related: Infrastructure as Code (IaC), Configuration Drift
Configuration Drift

The gradual divergence of actual system configurations from their intended or documented state, often caused by manual changes, leading to inconsistency and failures.

Related: Immutable Infrastructure, Configuration Management
Cloud Provider

A company offering on-demand computing resources (e.g., AWS, Azure, GCP) over the internet, enabling scalable infrastructure without owning physical hardware.

Related: Region, Availability Zone
Region

A geographic area containing multiple isolated data centers, used to deploy cloud resources close to users and to meet data residency requirements.

Related: Availability Zone, Cloud Provider
Availability Zone

An isolated location within a cloud region with independent power and networking, designed to provide fault tolerance and high availability for applications.

Related: Region, Cloud Provider
Container

A lightweight, standalone executable package that includes application code and dependencies, isolated at the OS level and portable across environments.

Related: Docker Image, Orchestration
Docker Image

A read-only template containing instructions and layers for creating a container, built from a Dockerfile and stored in a registry.

Related: Container, Container Registry
Container Registry

A storage and distribution system for container images, allowing versioned images to be pushed, pulled, and shared securely across environments.

Related: Docker Image, Container
Orchestration

Automated arrangement, coordination, and management of containerized applications, including scheduling, scaling, networking, and health monitoring, typically via Kubernetes.

Related: Kubernetes, Container
Kubernetes

An open-source container orchestration platform that automates deployment, scaling, and management of containerized applications across clusters of hosts.

Related: Orchestration, Pod
Pod

The smallest deployable unit in Kubernetes, representing one or more containers that share storage and network resources and are scheduled together.

Related: Kubernetes, Orchestration
Service Level Indicator (SLI)

A quantitative measure of a service's performance or reliability, such as request latency or error rate, used as a basis for SLOs.

Related: Service Level Objective (SLO), Error Budget
Service Level Objective (SLO)

A target value or range for an SLI (e.g., 99.9% availability over 30 days) that defines the expected reliability level of a service.

Related: Service Level Indicator (SLI), Error Budget
Error Budget

The allowable amount of unreliability derived from an SLO (e.g., 0.1% downtime), used to balance release velocity and stability investments.

Related: Service Level Objective (SLO), Service Level Indicator (SLI)
Observability

The ability to understand a system's internal state from its external outputs (logs, metrics, traces), enabling effective debugging and performance analysis.

Related: Distributed Tracing, Metrics
Distributed Tracing

A method for tracking requests as they propagate through microservices, recording timing and metadata to diagnose latency and failures across service boundaries.

Related: Observability, Metrics
Metrics

Numeric measurements collected over time (e.g., CPU usage, request rate) that provide quantitative insight into system behavior and health.

Related: Observability, Distributed Tracing
DevSecOps

An approach that integrates security practices and automation into every phase of the DevOps lifecycle, shifting security left to reduce risk and accelerate remediation.

Related: Shift Left, Static Application Security Testing (SAST)
Shift Left

Moving testing, security, and quality activities earlier in the software development lifecycle to detect issues sooner, when they are cheaper and faster to fix.

Related: DevSecOps, Static Application Security Testing (SAST)
Static Application Security Testing (SAST)

A method that analyzes source code or binaries for security vulnerabilities without executing the program, often integrated into CI pipelines.

Related: DevSecOps, Shift Left
Software Composition Analysis (SCA)

A process that identifies open-source components and their known vulnerabilities and license obligations in a codebase, typically automated in pipelines.

Related: DevSecOps, Dependency Scanning
Dependency Scanning

Automated inspection of project dependencies for known vulnerabilities and outdated versions, often using databases of security advisories.

Related: Software Composition Analysis (SCA), DevSecOps
Git Flow

A branching model with long-lived main and develop branches and supporting feature, release, and hotfix branches, suited for scheduled releases.

Related: Trunk-Based Development, Feature Branch
Trunk-Based Development

A branching model where developers collaborate on a single main branch (trunk) with short-lived feature branches, enabling continuous integration and rapid feedback.

Related: Git Flow, Feature Branch
Feature Branch

A short-lived branch created for developing a specific feature or fix, isolated from the main branch until merged, facilitating code review and testing.

Related: Trunk-Based Development, Git Flow
Semantic Versioning

A versioning scheme using MAJOR.MINOR.PATCH numbers to convey compatibility: MAJOR for breaking changes, MINOR for backward-compatible features, PATCH for fixes.

Related: Release Engineering, Git Flow
Release Engineering

The discipline of building and delivering software releases reliably, including versioning, artifact management, deployment automation, and rollback strategies.

Related: Semantic Versioning, Deployment Pipeline
Deployment Pipeline

An automated, staged process that takes code from version control to production, with quality gates and approvals, often visualized as a value stream.

Related: Pipeline, Continuous Delivery (CD)
Blue-Green Deployment

A release technique with two identical environments (blue and green) where traffic is switched to the new version after validation, enabling instant rollback.

Related: Canary Release, Deployment Pipeline
Canary Release

A deployment strategy that gradually rolls out a new version to a small subset of users before full rollout, monitoring for issues to minimize risk.

Related: Blue-Green Deployment, Deployment Pipeline
Infrastructure as Code (IaC)

Managing and provisioning infrastructure through machine-readable definition files rather than manual configuration, enabling version control, reuse, and automation.

Related: Configuration Management, Idempotency