Glossary of DevOps CICD Pipeline Terms
Glossary of DevOps CICD Pipeline Terms
Glossary of DevOps CICD Pipeline Terms
DEVOPS
CI/CD PIPELINE TERMS
Term Definition
A software development approach that emphasizes
collaboration and communication between
DevOps
development and operations teams to improve the
efficiency and quality of software delivery
Continuous Integration/Continuous Delivery or
Continuous Deployment, a set of practices and tools
CI/CD
that enable teams to deliver software faster and more
reliably
A series of automated steps that code changes go
Pipeline
through from development to production deployment
A system that tracks changes to source code over
Source Control time, enabling collaboration between developers and
maintaining a history of changes
The process of compiling code into an executable
Build format, often including tasks such as compiling,
linking, and testing
A process of verifying that code changes function as
Test expected, often including unit tests, integration tests,
and other automated tests
A versioned package or binary that is the output of a
Artifact build, containing the compiled code and dependencies
needed to run the application
Term Definition
The process of making a new version of software
Release available for deployment, often including steps such as
tagging the code and creating release notes
The process of deploying code changes to a production
environment, often including steps such as deploying
Deployment
artifacts, running database migrations, and configuring
environment variables
A specific configuration of resources, such as servers
Environment and databases, used for development, testing, staging,
and production
A practice of managing infrastructure using code,
Infrastructure as
allowing teams to version, test, and automate the
Code (IaC)
creation and management of infrastructure resources
The process of managing the flow of a CI/CD pipeline,
often including steps such as triggering builds and
Orchestration
deployments, and managing parallel and dependent
tasks
A practice of managing the CI/CD pipeline using code,
Pipeline as Code allowing teams to version, test, and automate the
creation and management of the pipeline itself
The practice of continuously monitoring application
Continuous performance, availability, and other metrics in
Monitoring production, often using tools such as log aggregation
and monitoring systems
Term Definition
The process of reverting a deployment to a previous
Rollback version, often used in the event of a production issue
or failure
A deployment strategy where a new version of an
Canary Release application is released to a subset of users or servers,
allowing for monitoring and testing before a full release
A deployment strategy where two identical
environments, one active (blue) and one inactive
Blue/Green
(green), are used to deploy and test new versions of
Deployment
software before switching traffic to the new
environment
A technique for toggling features on or off in
production, allowing for more granular control over
Feature Flags
deployments and the ability to gradually release new
features to users
A practice of treating infrastructure as disposable and
Immutable using automation to create and manage identical
Infrastructure infrastructure instances, reducing the risk of
configuration drift and increasing reliability
A software architecture style where an application is
broken down into small, independent, and loosely
Microservices
coupled services that can be developed and deployed
independently
Term Definition
A technique for packaging software code and
Containerization dependencies into lightweight, portable containers that
can be run consistently across different environments
A popular tool for creating, deploying, and running
Docker
applications in containers
An open-source container orchestration system that
Kubernetes automates the deployment, scaling, and management
of containerized applications
The practice of using code to automate the creation,
Infrastructure
configuration, and management of infrastructure
Automation
resources, such as servers, storage, and networking
The process of creating and configuring infrastructure
Infrastructure
resources, often using tools such as Terraform,
Provisioning
CloudFormation, or Ansible
Infrastructure The process of managing the configuration of
Configuration infrastructure resources, often using tools such as Chef,
Management Puppet, or SaltStack
The practice of monitoring the health, performance,
Infrastructure
and security of infrastructure resources, often using
Monitoring
tools such as Nagios, Zabbix, or Prometheus
A cloud computing service model where customers
Infrastructure as a
rent virtual machines, storage, and networking
Service (IaaS)
resources from a provider, such as AWS or Azure
Term Definition
A cloud computing service model where customers
Platform as a Service rent a platform for developing, deploying, and
(PaaS) managing applications, such as Heroku or Google App
Engine
A cloud computing model where customers rent
computing resources on-demand, without needing to
Serverless manage servers or infrastructure, often using a
function-as-a-service (FaaS) offering, such as AWS
Lambda or Google Cloud Functions
A popular version control system used for source
Git control, allowing teams to collaborate on code changes
and maintain a history of changes over time
An open-source tool for automating the software
Jenkins development process, including continuous integration
and delivery
A cloud-based tool for continuous integration and
CircleCI
delivery
A cloud-based tool for continuous integration and
Travis CI
delivery
A metric that measures the proportion of source code
Code Coverage that is covered by automated tests, often used as an
indicator of the quality of test coverage
Term Definition
A process of reviewing code changes by peers, often
Code Review including static analysis and manual inspection, to
improve code quality and maintainability
The practice of securing infrastructure resources
Infrastructure against unauthorized access, data breaches, and other
Security security threats, often including practices such as
network security, access management, and encryption
An extension of DevOps that emphasizes integrating
security practices into the software development
DevSecOps
process, ensuring that security is a shared responsibility
between developers, operations, and security teams
A practice of using chat tools, such as Slack or
Microsoft Teams, to facilitate collaboration and
ChatOps communication between development, operations,
and other teams involved in the software delivery
process
The practice of regularly merging code changes from
Continuous multiple developers into a shared code repository and
Integration (CI) running automated tests to detect integration issues
early
The practice of regularly merging code changes from
Continuous multiple developers into a shared code repository and
Integration (CI) running automated tests to detect integration issues
early
Term Definition
The practice of automatically building, testing, and
Continuous Delivery deploying software changes to production
(CD) environments, often using automated deployment
pipelines
The practice of automatically deploying software
Continuous changes to production environments without manual
Deployment intervention, often used in conjunction with
continuous delivery
A series of automated steps that deploy software
changes from development to production
Deployment Pipeline
environments, often including stages such as building,
testing, and deploying
A deployment strategy where two identical
environments (blue and green) are maintained, with
Blue-Green
only one active at a time, allowing for seamless
Deployment
rollbacks and minimizing downtime during
deployments
A deployment strategy where a small subset of users
Canary Release receive new software changes first, allowing for testing
and validation before a wider release
A technique for comparing two versions (A and B) of a
software application or feature to determine which
A/B Testing
version performs better with users, often used for
making data-driven decisions about software changes
Term Definition
A network device or software that distributes incoming
Load Balancer traffic across multiple servers to improve availability
and performance
The practice of designing systems that minimize
High Availability downtime and ensure that services remain available
even in the event of hardware or software failures
The process of restoring system functionality and data
Disaster Recovery after a catastrophic event, such as a natural disaster or
cyber attack
A contract between a service provider and a customer
SLA (Service Level that defines the level of service expected, often
Agreement) including metrics such as availability, uptime, and
response time
A target for a specific service metric, such as availability
SLO (Service Level
or response time, used to measure and improve the
Objective)
quality of service
A metric used to measure a specific aspect of service
SLI (Service Level
performance, often used to calculate SLOs and track
Indicator)
service performance over time
Quantitative measures of software and infrastructure
Metrics performance, often used to monitor and improve
system health and reliability
One favor
to ask...
Sharing
=
caring
@devops-expert