Engineering Glossary

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

DevOps
Git
Cloud Computing
Containerization & Orchestration

"As code"

Defining and managing infrastructure, configurations, or processes using code, enabling version control, automation, and reproducibility.
DevOps

"Nines"

Measure of system availability, expressed as a percentage. E.g., "five nines" means 99.999% uptime, allowing for minimal downtime.
DevOps

"Single Pane of Glass"

Unified display or interface that integrates data from multiple sources, providing a comprehensive view of system status or operations.
DevOps

A/B Testing

Comparing two versions of a webpage or app to determine which performs better, based on user interaction and conversion rates.
DevOps

AIOps (Artificial Intelligence Operations)

Using AI and machine learning to enhance IT operations, automating tasks and providing insights for better decision-making.
DevOps

ALB (Application Load Balancing)

Distributes incoming application traffic across multiple targets to improve availability and fault tolerance.
DevOps

API

Application Programming Interface; set of protocols and tools for building software applications and enabling communication between systems.
DevOps

API Discovery

Process of identifying and documenting available APIs within an organization or from external sources.
DevOps

API Endpoint

Specific URL where an API can be accessed and where requests are sent to interact with a server or service.
DevOps

API Gateway

Manages, secures, and routes API requests, acting as a single entry point for multiple microservices or backend systems.
DevOps

API Management

Process of creating, publishing, documenting, and analyzing APIs in a secure environment.
DevOps

API Monitoring

Tracking API performance, availability, and usage to ensure optimal functionality and identify issues.
DevOps

API Response Time

The duration between sending a request to an API and receiving the response, crucial for performance evaluation.
DevOps

API Security

Measures and practices to protect APIs from unauthorized access, attacks, and data breaches.
DevOps

API Versioning

Managing different versions of an API to maintain compatibility while allowing updates and improvements.
DevOps

ASG (Auto Scaling Group)

Feature in cloud computing that automatically adjusts the number of instances based on defined conditions.
DevOps

ASP.Net Core Monitoring

Observing and analyzing the performance and behavior of applications built with ASP.Net Core framework.
DevOps

ATO (Account Takeover)

Type of identity theft where an attacker gains unauthorized access to a user's account.
DevOps

AWS (Amazon Web Services)

Cloud computing platform offering a wide range of services for computing, storage, networking, and more.
DevOps

AWS App Development Tools

Suite of tools provided by AWS for building, testing, and deploying applications on their cloud platform.
DevOps

AWS CLI

Command-line interface for interacting with AWS services, allowing users to manage resources and automate tasks.
DevOps

AWS CloudWatch

Monitoring and observability service for AWS resources and applications, providing metrics, logs, and alarms.
DevOps

AWS CodeDeploy

Fully managed deployment service that automates software deployments to various compute services.
DevOps

AWS CodePipeline

Continuous delivery service for fast and reliable application and infrastructure updates.
DevOps

AWS EC2

Elastic Compute Cloud; scalable computing capacity in the AWS cloud for running virtual servers.
DevOps

AWS ELB

Elastic Load Balancing; automatically distributes incoming application traffic across multiple targets.
DevOps

AWS Lambda

Serverless compute service that runs code in response to events and automatically manages the underlying resources.
DevOps

AWS Managed Services

Ongoing management of AWS infrastructure, allowing customers to focus on their applications and business.
DevOps

AWS Monitoring

Process of tracking and analyzing the performance, health, and usage of AWS resources and applications.
DevOps

AWS RDS

Relational Database Service; managed service for setting up, operating, and scaling relational databases in the cloud.
DevOps

AWS RDS Postgres Monitoring

Tracking and analyzing the performance and health of PostgreSQL databases running on AWS RDS.
DevOps

AWS S3

Simple Storage Service; object storage service offering industry-leading scalability, data availability, and performance.
DevOps

AWS S3 Cost Optimization

Strategies and practices to reduce costs associated with storing and accessing data in AWS S3.
DevOps

AWS Security

Set of tools, services, and best practices for protecting data, applications, and infrastructure in the AWS cloud.
DevOps

Acceptance Test-Driven Development (ATDD)

Software development approach where acceptance tests are written before the code, guiding implementation.
DevOps

Active Directory

Microsoft's directory service for Windows domain networks, managing users, computers, groups, and other objects.
DevOps

Advanced Rate Limiting

Technique to control the rate of incoming requests to an API or service, preventing overload and ensuring fair usage.
DevOps

Agent

Software component that performs automated tasks, often used in monitoring, data collection, or system management.
DevOps

Agile

Iterative approach to software development emphasizing flexibility, collaboration, and rapid delivery of working software.
DevOps

Agile Manifesto

Document outlining values and principles of Agile software development, prioritizing individuals, working software, and adaptability.
DevOps

Agile Methodology

Set of practices based on Agile principles, focusing on iterative development, team collaboration, and customer feedback.
DevOps

Agile Organization

Company structure that emphasizes adaptability, quick response to change, and continuous improvement.
DevOps

Agile Project Management

Applying Agile principles to project management, focusing on iterative planning, frequent delivery, and team empowerment.
DevOps

Agile Software Development

Iterative approach to building software, emphasizing flexibility, collaboration, and rapid delivery of working features.
DevOps

Ajax Requests

Technique for creating fast, dynamic web pages by exchanging small amounts of data with the server behind the scenes.
DevOps

Alerting

System for notifying relevant personnel about critical events or issues in IT infrastructure or applications.
DevOps

Amazon Aurora

Fully managed relational database engine compatible with MySQL and PostgreSQL, designed for the cloud.
DevOps

Amazon Web Services (AWS)

A cloud platform offering a wide range of services like computing power, storage, and databases, enabling scalable, flexible solutions.
DevOps

Android Deployment

Process of distributing and installing Android applications on devices or making them available through app stores.
DevOps

Android Emulator

Software tool that simulates Android devices on a computer for testing and development purposes.
DevOps

Android Studio

Official integrated development environment (IDE) for Android app development, offering a comprehensive set of tools and features.
DevOps

Anomaly Detection

Process of identifying unusual patterns or behaviors that deviate from expected norms in data or system behavior.
DevOps

Ansible

Open-source automation tool for configuration management, application deployment, and task automation.
DevOps

Antifragile

Quality of systems that gain strength from disorder or stress, becoming more resilient in the face of challenges.
DevOps

Apache

Popular open-source web server software that can run on various platforms, known for its reliability and extensive feature set.
DevOps

App Store Connect

Apple's platform for managing apps, viewing analytics, and submitting to the App Store.
DevOps

AppDynamics

Application performance management and IT operations analytics platform for monitoring and optimizing application performance.
DevOps

Application Containerization

Packaging software code and dependencies into lightweight, portable containers for consistent deployment across environments.
DevOps

Application Firewall

Security system that monitors, filters, and blocks HTTP/HTTPS traffic to and from web applications.
DevOps

Application Infrastructure

The hardware, software, and networking components required to run and support an application.
DevOps

Application Lifecycle Management

Process of managing an application from ideation through retirement, including development, testing, and maintenance.
DevOps

Application Migration

Process of moving an application from one environment to another, often involving cloud or platform transitions.
DevOps

Application Performance Monitoring (APM)

Tools and practices for monitoring and managing the performance and availability of software applications.
DevOps

Application Platform

Software framework that provides a foundation for developing and running applications, often including runtime services and APIs.
DevOps

Application Program Interface (API)

Set of protocols, routines, and tools for building software applications and enabling communication between different software systems.
DevOps

Application Release Automation (ARA)

Process of packaging and deploying applications automatically across various environments and platforms.
DevOps

Application Security

Measures taken to improve the security of an application by finding, fixing, and preventing vulnerabilities.
DevOps

Application Team

Group responsible for developing, maintaining, and improving a specific application or set of applications.
DevOps

Application Whitelisting

Security practice that specifies which applications are permitted to run on a system, blocking all others.
DevOps

Application Workflow

Sequence of tasks or processes within an application, often automated to improve efficiency and consistency.
DevOps

Aptly

Debian repository management tool that makes it easy to mirror existing repositories and create new ones.
DevOps

Artifact

Any file or object produced during the software development process, such as compiled code, documentation, or test results.
DevOps

Artifactory

Repository manager for storing and managing software packages, artifacts, and dependencies.
DevOps

Artifacts

Byproducts of software development, including executables, libraries, documentation, and other files created during the process.
DevOps

Artificial Intelligence (AI)

Computer systems capable of performing tasks that typically require human intelligence, such as learning and problem-solving.
DevOps

Asgard

Open-source web-based tool for cloud management and application deployment, primarily used with Amazon Web Services.
DevOps

Asterisk

Open-source framework for building communications applications, particularly used for creating custom telephone systems.
DevOps

Atom

Open-source text and source code editor developed by GitHub, known for its customizability.
DevOps

Attack Surface

Total sum of vulnerabilities in a given system that are accessible to an attacker.
DevOps

Attack Vector

Method or pathway used by a malicious actor to gain unauthorized access to a computer or network.
DevOps

Audit Log

Chronological record of system activities, providing a trail for tracking user actions and system events.
DevOps

Auditd

Linux daemon that monitors and logs system activities to detect security violations.
DevOps

Authentication Factor

Piece of information or process used to verify a user's identity, such as passwords, biometrics, or security tokens.
DevOps

Automated Builds

Process of compiling source code into executable software without manual intervention, often part of CI/CD pipelines.
DevOps

Automation

Use of technology to perform tasks with minimal human intervention, improving efficiency and reducing errors.
DevOps

Autonomy

Degree of independence and self-governance given to teams or systems in making decisions and performing tasks.
DevOps

Awsbox

Tool for deploying node.js apps to Amazon Web Services, simplifying the process of setting up and managing instances.
DevOps

Azure

Microsoft's cloud computing platform providing a wide range of services for building, testing, deploying, and managing applications.
DevOps

Back-end

Server-side of a website or application, responsible for data storage, security, and business logic.
DevOps

Backup

Copy of data created to protect against loss or damage, often stored separately from the original for recovery purposes.
DevOps

Bad/Threat Actor

Individual or entity that attempts to exploit vulnerabilities in systems or networks for malicious purposes.
DevOps

Baklava code

Term describing code that has too many layers, making it overly complex and difficult to understand or maintain.
DevOps

Bamboo

Continuous integration and deployment server by Atlassian, automating the building, testing, and deployment of software.
DevOps

Bare-metal

Physical computer server dedicated to a single tenant, not virtualized or shared among multiple users.
DevOps

Barkeep

Open-source web-based code review system that facilitates collaborative code reviews and discussions.
DevOps

Bash

Unix shell and command language, widely used for scripting and automating tasks in Unix-like operating systems.
DevOps

Bastion host

Specially designed system on a network specifically intended to withstand attacks, usually placed at the edge of a network.
DevOps

Bazel

Open-source build and test tool that enables fast, reproducible builds across multiple platforms and languages.
DevOps

Beats

Lightweight data shippers for various types of data, part of the Elastic Stack for log and metrics collection.
DevOps

Behavior-Driven Development (BDD)

Software development approach that focuses on defining the behavior of an application based on user stories.
DevOps
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.
stash entry

stash entry

A single set of stashed changes in Git, which can be reapplied later to the working directory.
status checks

status checks

Automated tests or processes that run when changes are proposed in a Git repository, ensuring code quality and compatibility.
subscription

subscription

Notifications or updates a user receives about activity in Git repositories they're interested in or contributing to.
superproject

superproject

The main Git repository that contains submodules, managing references to specific versions of nested repositories.
symref

symref

A symbolic reference in Git that points to another reference, most commonly used for HEAD pointing to the current branch.
tag object

tag object

A Git object containing metadata about a tag, including the tagger, date, and optional message.
team

team

A group of users on a Git platform with shared access permissions to repositories within an organization.
team maintainer

team maintainer

A user with administrative privileges for managing a team's membership and access rights in a Git organization.
timeline

timeline

A chronological display of events and activities in a Git repository or user profile on hosting platforms.
topic branch

topic branch

A short-lived Git branch created to develop a specific feature or fix a particular issue.
topics

topics

Keywords or categories assigned to Git repositories to help users discover related projects on hosting platforms.
traffic graph

traffic graph

A visual representation of visitor activity and clone statistics for a Git repository on hosting platforms.
transfer

transfer

The process of moving Git objects between repositories during push, fetch, or clone operations.
tree

tree

A Git object representing a directory structure, containing references to blobs (files) and other trees (subdirectories).
tree object

tree object

A Git object that stores the hierarchy of files and directories in a repository at a specific point in time.
tree-ish (also treeish)

tree-ish (also treeish)

A Git term referring to an object that resolves to a tree, such as a commit, tag, or tree.
unborn

unborn

A state of a Git branch that has no commits yet, typically seen when initializing a new repository.
unmerged index

unmerged index

The state of the Git index containing conflicting changes from different branches during a merge operation.
unreachable object

unreachable object

A Git object not accessible from any reference, potentially subject to garbage collection if not recovered.
upstream branch

upstream branch

The remote branch that a local branch is set to track, used as a reference for pull and push operations.
user

user

An individual account on a Git platform, associated with personal repositories and contributions.
user-to-server request

user-to-server request

An authenticated request from a Git client to a server, typically for operations like push or fetch.
username

username

The unique identifier for a user account on Git platforms, used for authentication and mention notifications.
visible team

visible team

A team in a Git organization that is visible to all members of the organization, as opposed to secret teams.
watch

watch

A feature allowing users to receive notifications about activity in Git repositories they're interested in.
watching notifications

watching notifications

Alerts received for all notable events in a watched Git repository, including issues, pull requests, and releases.
web notifications

web notifications

Alerts displayed on Git platforms' web interfaces, notifying users of relevant activity or mentions.
working area

working area

The directory on your local machine where you modify files before staging and committing them in Git.
working tree

working tree

The set of files and directories in your project that are currently checked out and available for editing.
worktree

worktree

A Git feature allowing multiple working directories to be associated with a single repository.
write access

write access

Permission to make changes to a Git repository, including pushing commits and modifying branches.

WebAssembly in the Cloud

Binary instruction format enabling high-performance execution of code in cloud-based web environments.

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.

Vertical Pod Autoscaler

Kubernetes component that automatically adjusts the CPU and memory reservations for pods to optimize resource utilization.

Vertical Pod Autoscaler Metrics

Resource utilization data used by VPA to make decisions on adjusting pod resource allocations.

Vertical Pod Autoscaler with Custom Metrics

Extended VPA functionality allowing scaling decisions based on application-specific metrics.

VerticalPodAutoscaler

Kubernetes resource defining the behavior for automatically adjusting pod resource requests and limits.

Virtual Clusters

Isolated environments within a physical Kubernetes cluster, providing multi-tenancy and resource isolation.

Virtual IP (VIP)

Single IP address representing a service, used for load balancing in container networking.

Virtual Kubelet

Kubernetes kubelet implementation that masquerades as a node and schedules pods on non-Kubernetes platforms.

Volume Access Modes (ReadWriteOnce, ReadOnlyMany, ReadWriteMany)

Kubernetes volume properties (ReadWriteOnce, ReadOnlyMany, ReadWriteMany) defining how a volume can be mounted.

Volume Cloning

Process of creating a new volume populated with the contents of an existing volume in Kubernetes.

Volume Expansion

Feature allowing the size of a persistent volume to be increased without recreating the volume.

Volume Health Monitoring

Kubernetes feature for detecting and reporting issues with persistent volumes to ensure data integrity.

Volume Modes (Block, Filesystem)

Kubernetes volume properties (Block, Filesystem) defining how the storage is presented to the container.

Volume Mounting

Process of making a storage volume accessible within a container's filesystem, enabling data persistence.

Volume Mounts

Specifications in Kubernetes pod definitions declaring how volumes should be mounted into containers.

Volume Plugins

Kubernetes components enabling integration with various storage systems for persistent storage.

Volume Snapshots

Point-in-time copies of volumes in Kubernetes, used for backup, restoration, or cloning of persistent data.

Vulnerability Scanning Integration

Incorporation of security scanning tools into the container build and deployment pipeline.

Weave GitOps

Set of tools for implementing GitOps workflows in Kubernetes environments, automating deployment and management.

Weave Net

Software-defined networking solution for containerized applications, providing a virtual network across hosts.

Weave Net for Multi-host Docker Networking

Use of Weave Net to create a virtual network connecting Docker containers across multiple hosts.

WebAssembly (Wasm) in Containers

Use of WebAssembly runtimes in containers for portable, secure, and high-performance applications.

WebAssembly in Service Mesh

Integration of WebAssembly modules in service mesh proxies for customizable traffic management.

Webhook Admission Controllers

External services invoked during the Kubernetes admission process to validate or mutate API requests.

Webhook Authorization

Kubernetes authorization mode delegating access decisions to an external REST service, enabling custom auth logic.

Webhook Token Authentication

Kubernetes authentication method verifying bearer tokens against an external webhook service.

Whereabouts for IP Address Management

CNI IPAM plugin for dynamically allocating IP addresses across multiple nodes in Kubernetes.

Wireguard for Container Networks

Use of the Wireguard VPN protocol to secure container-to-container communication across hosts.

X.509 Client Certs

Digital certificates used for authenticating clients in Kubernetes API server communications.

XDP (eXpress Data Path)

Linux kernel technology for high-performance packet processing, useful in container networking scenarios.

cAdvisor

Container advisor that collects, aggregates, and exports resource usage and performance data from running containers.

cgroups v2

Second version of control groups, offering a unified hierarchy and improved resource management for containers.

containerd

Industry-standard container runtime used by many container and orchestration platforms, providing core container operations.

containerd Internals

Core components and architecture of the containerd container runtime, including its image management and execution features.

containerd Shim

Intermediary process between containerd and runc, managing container lifecycle and I/O, enhancing isolation.

eBPF for Container Networking

Use of extended Berkeley Packet Filter for advanced container networking capabilities, enhancing performance and security.

eBPF for Container Observability

Use of extended Berkeley Packet Filter for deep insights into container behavior and performance.

eBPF in Service Mesh

Integration of eBPF technology in service mesh implementations for improved performance and observability.

eBPF-based Monitoring

Use of eBPF for efficient and detailed monitoring of containerized applications and infrastructure.

etcd Encryption

Feature ensuring at-rest encryption of data stored in etcd, Kubernetes' distributed key-value store.

etcd Performance Tuning

Optimization techniques for improving etcd performance in large-scale container orchestration.

etcd Snapshots

Point-in-time copies of etcd's state, used for backup and recovery in Kubernetes clusters.

etcd Upgrade

Process of updating the etcd cluster to a newer version in a Kubernetes environment, ensuring cluster data store reliability.

gRPC Protocol

High-performance, open-source RPC framework used for efficient communication between containerized microservices.

gRPC in Microservices

Use of gRPC, a high-performance RPC framework, for communication between containerized microservices.

gVisor

Container runtime sandbox that provides an additional layer of isolation between containerized applications and the host kernel.

gVisor for Container Isolation

Use of gVisor to enhance security in multi-tenant container environments by isolating containers from the host kernel.

in-toto for Supply Chain Integrity

Framework for securing software supply chains, applicable to container image build and distribution processes.

kube-hunter for Penetration Testing

Open-source tool for discovering security weaknesses in Kubernetes clusters through simulated attacks.

kube-proxy

Kubernetes network proxy maintaining network rules on nodes, implementing part of the Kubernetes Service concept.

kube-proxy Modes (iptables, IPVS)

Different implementations of kube-proxy for managing service networking, each with unique performance characteristics.

kube-scheduler

Kubernetes component responsible for assigning newly created pods to nodes based on resource requirements and constraints.

kubelet

Primary node agent running on each node in a Kubernetes cluster, ensuring containers are running in a pod as expected.

lxc

Linux Containers, a userspace interface for the Linux kernel containment features, providing operating system-level virtualization.

rkt

Container runtime focusing on security and composability, offering an alternative to Docker (now deprecated).