Engineering Glossary

From fundamental principles to cutting-edge practices, this glossary covers the full spectrum of software engineering terminology.

DevOps
Cloud Computing
Git
Containerization & Orchestration

YAML (Yet Another Markup Language)

Human-readable data serialization standard that can be used in conjunction with all programming languages.
DevOps

YAML Sprawl

Proliferation of YAML configuration files, often leading to maintenance and consistency challenges.
DevOps

Yak Shaving

Seemingly useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem.
DevOps

Yarn

Fast, reliable, and secure dependency management tool for Node.js, offering improved performance and additional features over NPM.
DevOps

Yocto

Open-source collaboration project that helps developers create custom Linux-based systems.
DevOps

Yoda Conditions

Programming style where the constant goes before the variable in a conditional statement.
DevOps

You Build it You Run it

DevOps principle where development teams are also responsible for supporting the software in production.
DevOps

Zabbix

Open-source software tool to monitor various IT components, including networks, servers, virtual machines, and cloud services.
DevOps

Zero Downtime Deployment

Deployment method that ensures the application remains available to users during the entire update process.
DevOps

Zero Nines

A measure of system availability where no uptime guarantee is provided. It indicates a service with no specified reliability commitments or expectations.
DevOps

Zero Trust

Security concept centered on the belief that organizations should not automatically trust anything inside or outside its perimeters.
DevOps

Zero-day Attack

Cyber attack exploiting a vulnerability that is unknown to the software vendor or to antivirus vendors.
DevOps

Zipkin

Distributed tracing system that helps gather timing data needed to troubleshoot latency problems in service architectures.
DevOps

Zookeeper

Centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
DevOps

Zsh (Z Shell)

Extended version of the Bourne Shell with many improvements, including some features of Bash, ksh, and tcsh.
DevOps

iOS Deployment

Process of distributing iOS applications to Apple devices, often through the App Store or enterprise distribution methods.
DevOps

macOS

Apple's Unix-based operating system for Macintosh computers, known for its user-friendly interface and tight integration with Apple hardware.
DevOps
index entry

index entry

A record in Git's index file representing the state of a file in the repository.
integration

integration

A connection between Git and other tools or services to enhance functionality and workflow.
key fingerprint

key fingerprint

A short sequence of bytes used to identify a longer public key in Git's GPG signing process.
keychain

keychain

A secure storage system for passwords and keys, often integrated with Git clients for credential management.
keyword

keyword

A reserved word in Git commands or configurations with a specific meaning or function.
label

label

A way to categorize and organize issues and pull requests in GitHub repositories.
license

license

A document in a Git repository specifying how the project can be used, modified, and distributed.
line comment

line comment

A feature in Git platforms allowing users to comment on specific lines of code in pull requests or commits.
line ending

line ending

Characters marking the end of a line, which can cause issues in Git when collaborating across different operating systems.
locked personal account

locked personal account

A GitHub account that has been restricted due to a violation of terms of service or suspicious activity.
main

main

The default name for the primary branch in many Git repositories, replacing 'master' in recent conventions.
management console

management console

An administrative interface for managing Git hosting services, often used in enterprise environments.
markup

markup

A system of annotation used to format text, often used in Git documentation and comments.
members graph

members graph

A visual representation of an organization's membership on Git hosting platforms.
merge conflict

merge conflict

A situation in Git where incompatible changes have been made to the same part of a file, requiring manual resolution.
milestone

milestone

A way to track progress on groups of issues or pull requests in GitHub projects.
mirror

mirror

A complete copy of a repository, including all branches and history, often used for backup or as a full replica.
nested team

nested team

A team within a GitHub organization that is a subset of a larger team, inheriting its permissions.
network graph

network graph

A visual representation of the commit history and branch structure of a Git repository.
news feed

news feed

A personalized list of recent activity on Git platforms, showing updates from followed users and repositories.
non-fast-forward

non-fast-forward

A Git push that introduces new commits to the remote branch that aren't direct descendants of the current remote HEAD.
notification

notification

An alert system on Git platforms to inform users about relevant activities and mentions.
object

object

A fundamental unit in Git's data model, representing content, commits, trees, or tags, identified by a unique SHA-1 hash.
object database

object database

The storage system in Git that contains all versions of project files and metadata, organized by SHA-1 hashes.
object identifier (oid)

object identifier (oid)

A unique SHA-1 hash that identifies a Git object, ensuring data integrity and enabling content-addressable storage.
object name

object name

Another term for the SHA-1 hash that uniquely identifies a Git object in the repository.
object type

object type

The classification of Git objects, including blob (file content), tree (directory structure), commit, and tag.
octopus

octopus

A Git merge involving more than two branches simultaneously, creating a commit with multiple parents.
organization

organization

A shared account on Git hosting platforms where businesses and open-source projects can collaborate across many projects.
organization owner

organization owner

A user with administrative privileges for an organization account on Git hosting platforms.
orphan

orphan

A branch in Git with no parent commit, typically used to start a new history unrelated to existing branches.
outside collaborator

outside collaborator

A user granted access to a repository but not a member of the organization that owns the repository.
overlay

overlay

A Git feature that allows files from one branch to temporarily override files in another branch without merging.
owner

owner

The user or organization with administrative rights to a Git repository, controlling access and settings.
pack

pack

A compressed file format used by Git to store multiple objects efficiently, reducing repository size.
pack index

pack index

A file that provides fast random access to objects stored within a packfile in Git.
parent

parent

A commit from which another commit is derived, establishing the hierarchical relationship in Git history.
parent team

parent team

A team in a Git platform that grants its permissions to nested sub-teams within an organization.
participating notifications

participating notifications

Alerts received when you're directly involved in repository activities like being assigned or mentioned.
pathspec

pathspec

A pattern used in Git commands to limit the scope of operations to specific files or directories.
peel

peel

The process of recursively dereferencing a Git object to reveal its underlying object type.
per-worktree ref

per-worktree ref

A reference specific to a particular working tree in a Git repository with multiple worktrees.
permalink

permalink

A URL that points to a specific version of a file or directory in a Git repository, ensuring consistent reference.
personal account

personal account

An individual account on Git platforms, used for personal projects and contributions.
pickaxe

pickaxe

A Git feature for searching the repository history to find when a particular change was introduced.
pinned repository

pinned repository

A featured repository prominently displayed on a user's or organization's profile page on their Git hosting platform of choice.
plumbing

plumbing

Low-level Git commands that expose internal workings, primarily used for scripting and advanced operations.
porcelain

porcelain

High-level Git commands designed for everyday use, providing a user-friendly interface to common version control tasks.
pre-receive hooks

pre-receive hooks

Server-side scripts that run before pushed commits are accepted, used to enforce policies or perform checks.
primary email address

primary email address

The main email associated with a Git account, used for communications and commit author identification.
private contributions

private contributions

Contributions made to private repositories, typically only visible to repository collaborators.
private repository

private repository

A Git repository with restricted access, visible only to the owner and explicitly granted collaborators.
production branch

production branch

A Git branch that represents the stable, deployed version of a project, often protected from direct changes.
profile

profile

A user's public page on a Git platform, displaying information about their activity and repositories.
profile photo

profile photo

An image representing a user on a Git platform, displayed alongside their contributions and activities.
project board

project board

A kanban-style board in Git platforms for organizing and prioritizing project issues and pull requests.
protected branch

protected branch

A branch with rules enforcing certain conditions before changes can be pushed, merged, or deleted.
pseudoref

pseudoref

A Git reference that doesn't follow the standard refs format but is treated similarly, like HEAD or MERGE_HEAD.
public contributions

public contributions

Contributions made to public repositories, visible on a user's profile and activity feed.
public repository

public repository

A Git repository that is openly accessible to anyone, allowing viewing and often cloning without authentication.
pull access

pull access

Permission level in Git allowing a user to clone a repository and fetch updates, but not push changes.
pull request review

pull request review

The process of examining proposed changes in a pull request before they are merged into the main codebase.
pulse graph

pulse graph

A visual representation of a GitHub repository's recent activity, including commits, issues, and pull requests.
punch graph

punch graph

A visualization of commit frequency over time, often displayed as a heatmap on Git platforms.
push a branch

push a branch

The act of uploading commits from a local branch to a corresponding branch in a remote Git repository.
push access

push access

Permission to upload local changes to a remote Git repository, allowing direct modification of shared branches.
reachability bitmaps

reachability bitmaps

Data structures used to optimize Git operations by quickly determining which objects are reachable from a given commit.
reachable

reachable

Git objects that can be accessed by following the commit history from a given reference point.
read access

read access

Permission to view and clone a Git repository without the ability to make changes or push commits.
recovery code

recovery code

A backup method for accessing a Git account if two-factor authentication is enabled but unavailable.
ref

ref

A name that points to a specific Git object, typically a commit, such as branches or tags.
refs

refs

The collection of references in a Git repository, including branches, tags, and other named pointers to commits.
remote URL

remote URL

The address of a remote Git repository, used for fetching and pushing changes between local and remote repositories.
remote repository

remote repository

A version of a Git project hosted on a server, serving as a central point for collaboration and backup.
remote-tracking branch

remote-tracking branch

A local reference that represents the state of a corresponding branch in a remote repository.
replica

replica

A copy of a Git repository, often used in distributed systems for redundancy and load balancing.
repository cache

repository cache

A local storage of repository data used to improve performance in Git operations.
repository graph

repository graph

A visual representation of the commit history and branch structure in a Git repository.
repository maintainer

repository maintainer

A person responsible for managing a Git repository, reviewing contributions, and maintaining project quality.
required pull request review

required pull request review

A protection rule requiring one or more reviewers to approve changes before merging in Git platforms.
required status check

required status check

A condition that must be met, such as passing tests, before changes can be merged into a protected branch.
resolve

resolve

The process of addressing and fixing merge conflicts in Git, typically done manually by the developer.
revert

revert

A Git operation that creates a new commit that undoes the changes made by a previous commit.
review

review

The process of examining proposed changes in a pull request before merging them into the main codebase.
revision

revision

A specific version of a file, directory, or entire repository in Git, often referenced by a commit hash.
rewind

rewind

The act of moving a branch pointer to an earlier commit in Git, effectively undoing more recent commits.
root directory

root directory

The top-level directory of a Git repository, containing all project files and the .git subdirectory.
root filesystem

root filesystem

The base filesystem of a Git repository, from which all other directories and files are organized.
saved reply

saved reply

A pre-written response that can be quickly inserted into issues or pull request comments on Git platforms.
scope

scope

The range of access or permissions granted to a token or application in Git-based systems.
seat

seat

A licensed user in enterprise Git hosting plans, typically representing a single user account.
secret team

secret team

A team in a Git organization that is hidden from non-members and other teams within the organization.
security log

security log

A record of security-related events and actions in a system, used for monitoring and auditing purposes.
server-to-server request

server-to-server request

An authenticated request between Git servers, often used in integrations or automated processes.
service hook

service hook

A mechanism for Git platforms to send event notifications to external services or applications.
shallow repository

shallow repository

A Git repository with an intentionally truncated history, often created through shallow cloning.
single sign-on

single sign-on

An authentication process allowing users to access multiple Git-related services with one set of credentials.
special ref

special ref

A Git reference with a specific meaning or function, such as HEAD or FETCH_HEAD.
staging instance

staging instance

A deployment environment used for testing changes before releasing to production in Git-based workflows.
star

star

A feature on Git hosting platforms allowing users to bookmark repositories of interest.

Workflows as Code

Defining and managing complex business processes using code in cloud environments.

Workload Placement Optimization

Techniques for efficiently distributing applications and data across cloud resources.

Workload Portability

Ability to move applications and data between different cloud environments with minimal modifications.

Workload-Aware Data Placement

Optimizing data storage location based on application requirements in cloud environments.

Zero Trust Network Access (ZTNA)

Security model that requires strict identity verification for every person and device accessing cloud resources.

Zero Trust Security Model

Approach assuming no automatic trust, requiring continuous verification in cloud environments.

Zero UI Cloud Interactions

Interfacing with cloud services through ambient intelligence, without traditional user interfaces.

Zero-Knowledge Proof Services

Cloud-based cryptographic methods allowing data verification without revealing the data itself.

Zero-Knowledge Proof Systems

Cryptographic protocols enabling data verification without disclosing the actual data in cloud environments.

Zero-Trust Microsegmentation

Fine-grained network segmentation approach in cloud environments, limiting lateral movement of threats.

Zero-Trust Network Access (ZTNA)

Security framework requiring strict authentication and authorization for all cloud network access.

Zoned Namespaces (ZNS) SSDs

Storage devices optimized for cloud workloads, improving performance and reducing write amplification.

eBPF (extended Berkeley Packet Filter)

Technology for running sandboxed programs in the Linux kernel, often used in cloud environments.

eBPF-based Networking

Using eBPF technology to enhance network performance and security in cloud environments.

5G MEC Integration

Integration of 5G mobile edge computing with container platforms for low-latency applications and services at network edges.

AIOps for Container Environments

Application of AI and machine learning for automated operations, monitoring, and management of containerized environments.

API Deprecation Policy

Guidelines for phasing out older API versions in Kubernetes, ensuring smooth transitions for users.

API Extensions

Mechanisms to extend the Kubernetes API with custom resources and functionalities, enhancing platform capabilities.

API Gateway Pattern

Containerized service that acts as a single entry point for all client requests to a microservices architecture.

API Server

Core component of Kubernetes that exposes the cluster's API and handles all administrative operations.

API Server Aggregation

Kubernetes feature allowing the API server to be extended with additional APIs without modifying core Kubernetes code.

API-First Development

Approach prioritizing API design before implementation, crucial for developing scalable containerized microservices.

AWS Fargate

Serverless compute engine for containers, allowing you to run containers without managing the underlying infrastructure.

Adapter Pattern

Design pattern in containerized microservices that wraps a service's interface to make it compatible with other services.

Admission Controllers

Plugins that intercept requests to the Kubernetes API server before object persistence, enforcing policies or modifying objects.

Admission Controllers for Security

Admission controllers specifically focused on enforcing security policies and validating security-related configurations.

Admission Webhooks

HTTP callbacks that receive admission requests and can modify or validate objects before they are persisted.

Admission Webhooks in Operators

Use of admission webhooks within Kubernetes operators to enforce custom policies or modify resources.

Advanced Audit

Kubernetes feature providing detailed logging of all requests processed by the API server for security and compliance.

Aggregated API Servers

Extension of the Kubernetes API server to include custom resources and functionalities without modifying core Kubernetes.

Aggregated ClusterRoles

Combination of multiple ClusterRoles into a single role, simplifying RBAC management in Kubernetes.

Air-gapped Registries

Container registries isolated from public networks, used in secure or restricted environments.

Akri

Open-source project for exposing heterogeneous leaf devices as resources in Kubernetes clusters.

Alertmanager Configuration

Setup and management of Prometheus Alertmanager for handling alerts from monitoring systems.

Amazon Elastic Container Registry (ECR)

Fully managed Docker container registry provided by AWS for storing, managing, and deploying container images.

Ambassador Pattern

Microservices design pattern where a dedicated service acts as an API gateway for other services.

Ambient Mesh

Service mesh implementation that doesn't require sidecars, reducing resource overhead and simplifying deployment.

Anchore Engine for Image Scanning

Open-source tool for deep inspection of container images, including vulnerability scanning and policy enforcement.

Ansible-based Operators

Kubernetes operators implemented using Ansible for automating application lifecycle management.

Antrea Network Policies

Network policies specific to the Antrea CNI plugin, offering fine-grained control over pod-to-pod communication.

Antrea for Open vSwitch-based Networking

Kubernetes networking solution using Open vSwitch for improved performance and advanced networking features.

Apache OpenWhisk

Open-source serverless platform that executes functions in response to events or direct invocations.

AppArmor Profiles

Security profiles for Linux that restrict program capabilities, enhancing container isolation and security.

Application-level Logging

Logging implemented within applications, providing detailed insights into application behavior and performance.

Aqua Security

Platform providing security and compliance for container-based and cloud-native applications throughout their lifecycle.

Aqua Security Platform

Comprehensive security solution for containerized and cloud-native environments, offering vulnerability management and runtime protection.

Argo CD

GitOps continuous delivery tool for Kubernetes, automating application deployment and lifecycle management.

Argo Rollouts

Kubernetes controller for advanced deployment strategies like canary and blue-green deployments.

ArgoCD

Declarative GitOps tool for Kubernetes, automating application deployment and synchronization with Git repositories.

Artifact Management

Process of storing, organizing, and managing container images and related artifacts in container registries.

Athenz for Fine-grained Access Control

Open-source platform for fine-grained access control and authentication in distributed systems.

Attribute-Based Access Control (ABAC)

Access control paradigm where authorization decisions are based on attributes of users, resources, and environment.

Audit Annotations

Additional metadata added to Kubernetes audit events for enhanced context and analysis, improving audit trails.

Audit Backends

Components responsible for processing and storing Kubernetes audit logs, supporting various storage and analysis options.

Audit Events

Records of requests and activities within a Kubernetes cluster, used for security monitoring and compliance.

Audit Levels

Configurable detail levels for Kubernetes audit logs, ranging from metadata-only to full request and response details.

Audit Logging

Process of recording API server requests and responses for security, troubleshooting, and compliance purposes.

Audit Logs

Detailed records of activities and operations within a Kubernetes cluster, used for security and compliance monitoring.

Audit Policy

Configuration defining which events should be recorded in Kubernetes audit logs and at what level of detail.

Audit Profile

Predefined set of audit policy rules for common use cases in Kubernetes, simplifying audit configuration.

Audit Stages

Different phases of request processing where audit events can be generated in Kubernetes, providing comprehensive auditing.

Audit Webhook Configuration

Setup for sending Kubernetes audit events to external webhook endpoints for processing or analysis.

Auditing

Process of systematically recording and examining activities within a Kubernetes cluster for security and compliance purposes.

Authenticating Proxy

Intermediary service that handles authentication before forwarding requests to the Kubernetes API server.

Authentication Modules

Pluggable components in container orchestration platforms for verifying user identities using various methods.

Authorization Policies

Rules defining access permissions for users and services in container orchestration platforms.

Azure Container Instances

Serverless container hosting service in Azure, offering rapid deployment of containers without cluster management.

Azure Container Registry

Managed Docker registry service for storing and managing container images in Azure cloud environments.

BGP (Border Gateway Protocol) in Containers

Implementation of Border Gateway Protocol within containerized network environments for advanced routing.

BGP in Container Networks

In container networks, BGP (Border Gateway Protocol) manages routing information between containers and external networks for efficient traffic routing.

Backend for Frontend (BFF) Pattern

Microservices design pattern where a dedicated service acts as an API gateway for specific frontend needs.

Backup and Restore

Processes for preserving and recovering container data and configurations in orchestration platforms.

Base Image

Foundation Docker image upon which other images are built, containing core OS and runtime components.

Base Image Selection

Process of choosing appropriate foundation images for container builds, balancing size, security, and functionality.

Best Effort QoS

Kubernetes quality of service class for pods with no resource guarantees, scheduled when resources are available.

Blue-Green Deployments

Deployment strategy using two identical environments to minimize downtime and risk during updates.

Bootstrap Tokens

Temporary tokens used for secure cluster initialization and node joining in Kubernetes, simplifying cluster setup.

Bottlerocket OS

Minimalist Linux-based operating system optimized for running containers in cloud environments.

BuildKit

Advanced container image building toolkit offering improved performance and caching capabilities.

BuildKit for Advanced Image Building

Use of BuildKit for efficient, concurrent, and cache-optimized container image creation, improving build performance.

Bulkhead Pattern

Isolation technique in microservices to contain failures and prevent system-wide cascading failures.

Bulkhead Pattern in Microservices

The Bulkhead Pattern in microservices isolates failures by dividing services into separate compartments, preventing issues in one from affecting others.

Burstable QoS

Kubernetes quality of service class for pods that can use more resources than requested when available.

CIS Benchmarks for Containers

Security configuration guidelines for deploying containers securely in various environments.

CNI Plugin Chaining

Technique of using multiple Container Network Interface plugins together for advanced networking capabilities.

CPU Manager

Kubernetes feature for fine-grained CPU resource management and allocation to containers, optimizing performance.

CPU Throttling

Technique to limit CPU usage of containers to prevent resource monopolization and ensure fair allocation.

CQRS (Command Query Responsibility Segregation)

Architectural pattern separating read and write operations in distributed systems, often used in microservices.

CQRS (Command Query Responsibility Segregation) Pattern

Architectural pattern separating read and write operations in distributed systems, often used in microservices.

CRI (Container Runtime Interface) Specification

Standard interface between container runtimes and Kubernetes, allowing pluggable runtime implementations.

CRI Image Management

Functionality within CRI for pulling, inspecting, and removing container images, standardizing image operations.

CRI Logging

Standardized logging interface for container runtimes implementing the Container Runtime Interface.

CRI Metrics

Performance and resource usage data exposed by container runtimes adhering to the CRI specification.

CRI Runtime Class

Kubernetes feature allowing selection of different runtime configurations for containers, enabling specialized runtimes.

CRI Socket

Unix domain socket used for communication between Kubelet and the CRI-compatible container runtime.

CRI Validation Testing

Process of verifying that a container runtime correctly implements the CRI specification, ensuring compatibility.

CRI-O

Lightweight container runtime specifically designed for Kubernetes, implementing the CRI specification.

CRI-O Internals

Core components and architecture of the CRI-O container runtime, including its interaction with Kubernetes.

CRI-O as Container Runtime

Use of CRI-O, a lightweight container runtime, as the primary runtime in a Kubernetes cluster.

CSI Controller Plugin

Component of CSI responsible for volume provisioning and attachment operations in container orchestration systems.

CSI Drivers

Plugins implementing the Container Storage Interface for various storage systems in Kubernetes.

CSI Ephemeral Volumes

Short-lived volumes in Kubernetes, created and deleted alongside a pod using CSI drivers, for temporary storage.

CSI Migration

Process of transitioning from in-tree volume plugins to CSI drivers in Kubernetes, improving storage extensibility.

CSI Node Plugin

Component of CSI responsible for mounting volumes and making them available to containers.

CSI Topology

Feature allowing storage provisioning based on topology constraints in Kubernetes, optimizing data locality.

Cache-Aside Pattern

Caching strategy where the application checks the cache before retrieving data from the main data store.

Caching Strategies for Containers

Techniques for implementing and managing caches in containerized applications for improved performance.

Calico

Open-source networking and network security solution for containers, providing a rich set of security policies.

Calico eBPF Datapath

High-performance networking mode in Calico using extended Berkeley Packet Filter for packet processing.

Canary Deployments

Technique of releasing new versions to a subset of users or servers to minimize risk and gather feedback.

Capabilities

Fine-grained privileges that can be assigned to containers, enhancing security by limiting root-level access.

Capability Controls

Mechanisms for managing and restricting Linux capabilities assigned to containers for improved security.

Categories

Groupings or classifications of container-related resources or components for easier management and discovery.

Ceph RBD

Ceph's block storage system, often used for persistent volumes in container orchestration platforms.