- DevOps - Practices that combine software development and IT operations.
- CI/CD - Continuous Integration and Continuous Deployment.
- Continuous Integration (CI) - Practice of merging all developer working copies to a shared mainline.
- Continuous Delivery (CD) - Practice of automatically deploying code changes.
- Continuous Deployment - Automatically deploying every change that passes automated tests.
- Infrastructure as Code (IaC) - Managing infrastructure through code.
- Configuration Management - Managing system configurations in a consistent and automated way.
- Orchestration - Automated configuration, management, and coordination of computer systems and software.
- Automation - Using technology to perform tasks with reduced human assistance.
- Monitoring - Observing and checking the progress or quality of something over time.
- Logging - Recording system events to track and troubleshoot.
- Microservices - Architectural style that structures an application as a collection of loosely coupled services.
- Containers - Lightweight, portable, and self-sufficient computing environments.
- Docker - Platform for developing, shipping, and running applications in containers.
- Kubernetes - Open-source platform for automating deployment, scaling, and operations of application containers.
- Service Mesh - Dedicated infrastructure layer for managing service-to-service communication.
- Infrastructure as a Service (IaaS) - Cloud service model providing virtualized computing resources.
- Platform as a Service (PaaS) - Cloud service model offering hardware and software tools over the internet.
- Software as a Service (SaaS) - Software distribution model providing applications over the internet.
- Serverless - Cloud computing model where the cloud provider manages the server infrastructure.
- FaaS (Function as a Service) - Serverless computing service for running individual functions.
- Build Pipeline - Sequence of automated steps for building and deploying software.
- Release Pipeline - Sequence of steps for preparing and delivering software to production.
- Version Control - System for tracking changes to code.
- Git - Distributed version control system.
- Repository - Central location where data is stored and managed.
- Branching - Creating a separate line of development in version control.
- Merging - Combining different branches of code into a single branch.
- Pull Request - Proposed changes to a repository submitted by a user and reviewed by others.
- Commit - Recording changes to a repository.
- Rollback - Reverting to a previous version of software.
- Artifact - Output of a build process that can be deployed.
- Dependency Management - Handling of software dependencies.
- Package Manager - Tool for automating the installation, upgrade, configuration, and removal of software packages.
- Registry - Central place where software packages are stored and managed.
- Container Registry - Service for storing and distributing container images.
- Infrastructure Provisioning - Setting up the necessary hardware and software to run applications.
- Virtualization - Creating virtual versions of physical hardware.
- Hypervisor - Software that creates and runs virtual machines.
- Load Balancer - Distributes network or application traffic across multiple servers.
- Auto Scaling - Automatically adjusts the number of computing resources.
- Blue/Green Deployment - Deployment strategy using two environments, one for production and one for testing.
- Canary Deployment - Gradually rolling out a new software version to a subset of users before wider release.
- Rolling Deployment - Gradual rollout of new software version without downtime.
- Immutable Infrastructure - Practice of replacing rather than modifying servers.
- Cloud Native - Applications designed to fully exploit cloud environments.
- Hybrid Cloud - Combination of on-premises infrastructure with cloud services.
- Public Cloud - Cloud services offered over the public internet.
- Private Cloud - Cloud infrastructure operated solely for a single organization.
- Multi-Cloud - Use of multiple cloud computing services in a single architecture.
- On-Premises - Running software on local hardware rather than in the cloud.
- Bare Metal - Physical servers without a hypervisor or virtualization layer.
- High Availability (HA) - System design approach ensuring operational performance during failures.
- Disaster Recovery (DR) - Strategies to recover data and services after a catastrophic failure.
- Fault Tolerance - Ability of a system to continue operation despite failures.
- Load Testing - Testing system performance under load.
- Stress Testing - Testing system performance under extreme conditions.
- Performance Testing - Testing to determine the speed, responsiveness, and stability of a system.
- Integration Testing - Testing combined parts of an application to determine if they work together correctly.
- Unit Testing - Testing individual units or components of a software.
- Acceptance Testing - Testing to determine if the requirements of a specification are met.
- Regression Testing - Testing to ensure that new code changes do not negatively affect existing functionalities.
- Smoke Testing - Preliminary testing to reveal simple failures severe enough to reject a software release.
- A/B Testing - Comparing two versions of a service to determine which performs better.
- Chaos Engineering - Practice of testing a system's ability to withstand turbulent conditions.
- Observability - Measure of how well internal states of a system can be inferred from knowledge of its external outputs.
- Telemetry - Automated communications processes by which measurements and other data are collected and monitored.
- Metrics - Quantitative measures used to track performance.
- Log Aggregation - Collecting logs from different sources for centralized analysis.
- Tracing - Tracking the flow of requests through a system.
- Dashboard - Interface for monitoring and visualizing metrics and logs.
- Alerting - Automated notification of system issues.
- Incident Management - Process of managing unplanned interruptions or reductions in quality of IT services.
- Service Level Agreement (SLA) - Contract specifying the level of service expected from a provider.
- Service Level Objective (SLO) - Specific measurable characteristic of an SLA.
- Service Level Indicator (SLI) - Metric used to measure the performance of a service.
- Runbook - Document containing procedures and operations for managing IT systems.
- Playbook - Detailed guide for handling specific situations.
- Root Cause Analysis (RCA) - Process for identifying the root cause of faults or problems.
- Postmortem - Analysis of what went wrong after an incident.
- Blameless Postmortem - Review focused on learning and improvement rather than assigning blame.
- Technical Debt - Concept reflecting the implied cost of additional work caused by choosing an easy solution now instead of a better approach that would take longer.
- Refactoring - Restructuring existing computer code without changing its external behavior.
- Agile - Methodology for iterative and incremental development.
- Scrum - Agile framework for managing work.
- Kanban - Agile methodology for managing workflow.
- Sprint - Time-boxed period for completing specific work.
- Backlog - List of tasks to be completed.
- Epic - Large body of work that can be broken down into smaller tasks.
- Story - Smaller unit of work derived from an epic.
- Task - Individual unit of work.
- Story Points - Unit of measure for expressing an estimate of the overall effort required to implement a product backlog item.
- Velocity - Measure of the amount of work a team can handle in a given timeframe.
- Stand-up Meeting - Short, daily team meeting.
- Retrospective - Meeting held at the end of a sprint to reflect on what went well and what could be improved.
- Burn Down Chart - Graphical representation of work left to do versus time.
- Release Management - Process of managing software releases.
- Feature Flag - Technique to enable or disable features in a codebase.
- Dark Launching - Releasing a feature to a subset of users without making it visible.
- Code Review - Process of systematically examining code to find and fix mistakes.
- Pair Programming - Two programmers working together at one workstation.
- Test-Driven Development (TDD) - Software development process where tests are written before code.
- Behavior-Driven Development (BDD) - Software development process that involves examples written in a natural language.
- Acceptance Test-Driven Development (ATDD) - Writing acceptance tests before writing code.
- Mocking - Simulating the behavior of real objects.
- Stubbing - Replacing a method with a pre-specified return value.
- Continuous Testing - Practice of testing software continuously.
- Shift Left - Moving testing earlier in the development process.
- Environment - Configuration of hardware and software where tests are executed.
- Staging Environment - Environment that mimics production for testing purposes.
- Production Environment - Live environment where the application is available to users.
- Sandbox Environment - Isolated environment for experimentation.
- Release Candidate - Version of software that could be released to production.
- Zero Downtime Deployment - Deployment strategy that avoids downtime.
- Service Discovery - Mechanism for applications to dynamically find instances of services.
- Circuit Breaker - Pattern to detect failures and sum up logic to prevent failure cascading.
- API Gateway - Management tool for APIs.
- Reverse Proxy - Server that forwards requests to one or more servers.
- Forward Proxy - Server that forwards client requests to an external server.
- Sidecar Pattern - Deploying helper components as separate containers in the same pod.
- Chaos Monkey - Tool for testing resilience by randomly terminating instances.
- Synthetic Monitoring - Simulating user interactions to monitor system performance.
- Real User Monitoring (RUM) - Monitoring real user interactions with a system.
- Load Generator - Tool for simulating user load on a system.
- Build Agent - Software that runs automated builds.
- Artifact Repository - Storage location for build artifacts.
- Package - Bundle of software to be distributed.
- Binary - Compiled version of source code.
- Versioning - Process of assigning unique version numbers to software.
- Changelog - Document listing changes made in each version of software.
- Semantic Versioning - Versioning scheme that conveys meaning about the underlying changes.
- Dependency Injection - Technique for achieving inversion of control between classes and their dependencies.
- Container Orchestration - Automated management of containerized applications.
- Service Mesh - Layer for handling service-to-service communication.
- Distributed Tracing - Tracking of requests through a distributed system.
- Node - Single machine in a cluster.
- Cluster - Group of machines working together.
- Pod - Smallest deployable unit in Kubernetes.
- Namespace - Virtual cluster within Kubernetes.
- Ingress - API object for managing external access to services in Kubernetes.
- Helm - Package manager for Kubernetes.
- Persistent Volume - Storage in Kubernetes that exists beyond the lifecycle of a pod.
- DaemonSet - Ensures that all (or some) nodes run a copy of a pod.
- StatefulSet - Manages stateful applications.
- ReplicaSet - Ensures a specified number of pod replicas are running.
- Deployment - Declarative update for pods and ReplicaSets.
- Custom Resource Definition (CRD) - Extension of Kubernetes API.
- Operator - Method of packaging, deploying, and managing a Kubernetes application.
- Sidecar Container - Container that runs alongside the main application container.
- ConfigMap - API object for storing configuration data.
- Secret - API object for storing sensitive data.
- Service Account - Provides an identity for processes running in a pod.
- RBAC (Role-Based Access Control) - Method of regulating access to resources.
- ClusterRole - Defines permissions cluster-wide.
- RoleBinding - Grants permissions to a user or group within a namespace.
- ClusterRoleBinding - Grants permissions cluster-wide.
- Pod Security Policy - Defines security conditions a pod must meet to be accepted.
- NetworkPolicy - Specifies how groups of pods are allowed to communicate.
- Resource Quota - Limits the number of resources a namespace can use.
- Horizontal Pod Autoscaler - Automatically scales the number of pods.
- Vertical Pod Autoscaler - Automatically adjusts the resources of a pod.
- Tiller - Server side component of Helm.
- Kubelet - Agent that runs on each node in the Kubernetes cluster.
- Kube-proxy - Network proxy that runs on each node in the cluster.
- Kubectl - Command-line tool for interacting with Kubernetes clusters.
- Kubeadm - Tool for setting up a Kubernetes cluster.
- Minikube - Tool for running a single-node Kubernetes cluster locally.
- Istio - Service mesh for managing microservices.
- Envoy - Proxy used in service mesh architectures.
- Linkerd - Lightweight service mesh for Kubernetes.
- Prometheus - Monitoring and alerting toolkit.
- Grafana - Open-source platform for monitoring and observability.
- Jaeger - Distributed tracing system.
- Fluentd - Data collection software.
- ELK Stack - Elasticsearch, Logstash, and Kibana.
- Graylog - Log management software.
- Splunk - Platform for searching, monitoring, and analyzing machine-generated data.
- New Relic - Monitoring and observability platform.
- Datadog - Monitoring and analytics platform.
- PagerDuty - Incident management platform.
- VictorOps - Incident management tool.
- OpsGenie - Incident response orchestration platform.
- ServiceNow - IT service management tool.
- Jenkins - Open-source automation server.
- CircleCI - Continuous integration and delivery platform.
- Travis CI - Continuous integration service.
- GitLab CI - Continuous integration and delivery tool built into GitLab.
- TeamCity - Continuous integration and build management system.
- Azure DevOps - Set of development tools provided by Microsoft.
- AWS CodePipeline - Continuous integration and delivery service.
- Google Cloud Build - Continuous integration and delivery service.
- Artifactory - Repository manager for binary artifacts.
- Nexus - Repository manager for binary artifacts.
- Chef - Configuration management tool.
- Puppet - Configuration management tool.
- Ansible - Configuration management and orchestration tool.
- SaltStack - Configuration management and orchestration tool.
- Terraform - IaC tool for building, changing, and versioning infrastructure.
- Pulumi - IaC tool for managing cloud infrastructure.
- Vagrant - Tool for building and managing virtualized development environments.
Terminology
DevOps Terminologies
Read DevOps Terminologies