DevOps Glossary: Simplifying Tech Talk for Product and Digital Teams

Ever feel like you're speaking a different language when talking to your tech teams?

We get it. Keeping up with the fast-evolving world of DevOps can sometimes feel overwhelming.

Our glossary is here to help. Created with non-technical leaders in mind, it provides clear and accessible explanations of the essential DevOps concepts. Whether you're collaborating on product development or driving digital strategies, this cheat sheet will make it easier to align with your tech teams and move projects forward hand in hand. ;-)

Continuous Practices

Continuous Integration (CI)

Continuous Integration is a software development practice where developers frequently integrate their code into a shared repository, often multiple times a day. Each integration is verified by automated build and test processes to ensure that newly added code does not break the existing functionality. CI aims to detect errors quickly and improve the overall quality of software.

Continuous Deployment (CD)

Continuous Deployment extends CI by automating the release of new features or updates directly to production environments. With every change passing the automated tests, software is deployed without manual intervention, allowing for faster delivery of features to users. This practice requires a high level of automation and testing to minimize the risks involved in deployment.

Continuous Delivery

Continuous Delivery is the practice of keeping code in a deployable state at all times. It ensures that every change is automatically tested and can be deployed to production at any moment, but unlike Continuous Deployment, it requires manual approval before deployment. Continuous Delivery aims to make releases less risky and more frequent.

CI/CD Pipeline

A CI/CD pipeline is a series of steps that automate the building, testing, and deployment of software. It brings together both Continuous Integration and Continuous Deployment practices, ensuring that every change made to code is tested and delivered efficiently. This pipeline is crucial to enabling agile software development practices.

Infrastructure and Deployment

Infrastructure as Code (IaC)

Infrastructure as Code is a practice in DevOps where infrastructure (servers, networks, databases, etc.) is managed and provisioned using machine-readable configuration files, rather than through manual processes. IaC allows for consistency, versioning, and repeatability, making infrastructure more manageable and less prone to human error.

Containerization

Containerization is a lightweight form of virtualization where applications are packaged with all their dependencies into isolated units called containers. Tools like Docker enable developers to create containers that can run consistently across different environments, making deployments more predictable and reducing the “works on my machine” problem.

Kubernetes

Kubernetes is an open-source container orchestration platform that helps manage and scale containerized applications in production. It automates tasks such as container deployment, scaling, and networking. Kubernetes is widely used in DevOps to ensure reliable, efficient, and scalable container management.

Blue-Green Deployment

Blue-Green Deployment is a technique for minimizing downtime and risk during software releases. In this strategy, two environments (Blue and Green) are used. The current production environment (Blue) runs the live version, while a new version is deployed to the Green environment. Once everything is tested and verified, traffic is switched over to the Green environment seamlessly.

Canary Releases

Canary Releases are a deployment strategy in which a new version of software is gradually rolled out to a small subset of users before being released to the entire user base. This helps in detecting issues early and minimizing the impact of potential problems on all users.

Configuration Management

Configuration Management involves maintaining consistency in the performance and configuration of systems over time. It ensures that changes are tracked and systems are configured correctly, reducing the risk of misconfigurations. Tools like Ansible, Puppet, and Chef are popular for managing configurations in DevOps environments.

Feature Flags

Feature Flags are a technique that allows teams to enable or disable specific features without deploying new code. This enables testing features in production, performing A/B tests, and rolling back problematic features with minimal risk.

Architecture and Development

Microservices

Microservices is an architectural style where a software application is composed of small, independent services that can be deployed and scaled independently. Each service represents a specific business function and communicates with other services via APIs. This approach allows teams to develop, test, and deploy each component separately, leading to greater agility and resilience.

Version Control

Version Control is a system for tracking changes to code. It allows developers to work on different features or fixes simultaneously without interfering with each other's progress. Git is the most widely used version control tool in DevOps, enabling teams to collaborate effectively and manage code history.

GitOps

GitOps is an operational framework that takes DevOps best practices used for application development, such as version control, collaboration, and CI/CD, and applies them to infrastructure automation. In GitOps, Git repositories serve as the source of truth for the desired state of infrastructure.

API Gateway

An API Gateway is a server that acts as an entry point for API requests. It helps in managing, routing, and securing requests between clients and microservices, enabling better control over distributed architectures like microservices.

Monitoring, Observability, and Reliability

Observability

Observability refers to the ability to measure the internal state of a system by analyzing its outputs, such as logs, metrics, and traces. In the DevOps world, observability is key to understanding application performance and identifying issues. Tools like Prometheus, Grafana, and ELK Stack are commonly used for this purpose.

Monitoring

Monitoring involves collecting and analyzing metrics from applications, infrastructure, and services to identify potential issues. It helps DevOps teams detect failures, understand trends, and ensure systems are performing optimally.

Site Reliability Engineering (SRE)

Site Reliability Engineering is a discipline that incorporates software engineering practices into infrastructure and operations to create scalable and highly reliable software systems. SRE emphasizes automation, monitoring, and proactive measures to ensure stability and availability of systems.

Service Level Objectives (SLOs)

Service Level Objectives are specific, measurable characteristics of the service, such as availability, latency, or throughput. SLOs are used to define the level of reliability and performance that users can expect from a service.

Service Level Agreements (SLAs)

Service Level Agreements are formal contracts between service providers and customers that outline the expected level of service, including uptime, response time, and issue resolution times. SLAs are used to manage expectations and ensure accountability.

Mean Time to Recovery (MTTR)

Mean Time to Recovery is the average time it takes to recover from a system failure or incident. MTTR is a key metric used to measure system reliability and is often targeted as part of SRE practices.

Security in DevOps

DevSecOps

DevSecOps is the integration of security practices into the DevOps workflow. It emphasizes the importance of security at every stage of the software development lifecycle, ensuring that vulnerabilities are identified and mitigated early. By embedding security, teams can develop software that is both fast and secure.

Security as Code

Security as Code involves treating security policies and configurations as code, allowing teams to version, review, and automate security practices. This approach makes security an integral part of the software development lifecycle and ensures that security measures are consistently applied.

Secrets Management

Secrets Management is the practice of securely storing and managing sensitive information such as API keys, passwords, and certificates. Tools like HashiCorp Vault, AWS Secrets Manager, and Azure Key Vault help teams manage secrets safely.

Agile and Collaboration

Agile Methodology

Agile is an iterative approach to software development that emphasizes collaboration, customer feedback, and small, rapid releases. DevOps complements Agile by automating the processes needed to deliver software quickly and reliably.

Scrum

Scrum is a framework within Agile that focuses on iterative progress through defined sprints. It encourages regular communication, transparency, and team accountability, making it easier for DevOps teams to continuously improve and adapt.

Kanban

Kanban is an Agile methodology that emphasizes visualizing work, limiting work in progress, and optimizing flow. It helps teams to continuously improve by focusing on managing work and reducing bottlenecks.

Conclusion

DevOps brings together development and operations to achieve faster, more reliable delivery of digital products.

Understanding the key concepts of DevOps empowers teams to collaborate more effectively and make informed decisions. We hope this glossary clarifies some of the essential terms and practices, helping you navigate the DevOps ecosystem with confidence.

Alexandre Grais
Cofounder & CPTO
Linkedin

You could also like:

Discover more articles

Whatever your journey, we’re here for you. Ready to dive in?

Talk to sales