Some DevOps Terms definitions
Tags: devops, sre, beginners
Published: 2021-12-29 16:25:34

In this post, I will list some of the terms used in the DevOps world which must be known *(and have a better understanding about all the DevOps posts/books/videos... that you can read/see)*.

---

### Automation
DevOps automation is the addition of technology that performs tasks with reduced human assistance to processes that facilitate feedback loops between operations and development teams so that iterative updates can be deployed faster to applications in production.

*From RedHat - [Full Definition](https://www.redhat.com/en/topics/automation/what-is-devops-automation)*

---

### Breaking change
An application/library has a breaking change when your consumers must do a change in their calls to continue to use a feature.


*Example*
Changing a route from "/actors" to "/actor/list".

---

### Container
It is a standardized unit that includes everything needed to run the software, including code and dependencies. Containers enable an application to run in a fast and reliable manner when it’s moved from one computing environment to another.

Docker, ContainerD and LXC are tools which create containers.

---

### CD - Continuous Deployment
Continuous Deployment (CD) is a software release process that uses automated testing to validate if changes to a codebase are correct and stable for immediate autonomous deployment to a production environment.

*From Atlassian - [Full Definition](https://www.atlassian.com/continuous-delivery/continuous-deployment)*

---

### CI - Continuous Integration
Continuous integration (CI) is the practice of automating the integration of code changes from multiple contributors into a single software project. It’s a primary DevOps best practice, allowing developers to frequently merge code changes into a central repository where builds and tests then run. Automated tools are used to assert the new code’s correctness before integration.

A source code version control system is the crux of the CI process. The version control system is also supplemented with other checks like automated code quality tests, syntax style review tools, and more.  

*From Atlassian - [Full Definition](https://www.atlassian.com/continuous-delivery/continuous-integration)*

---

### DevOps
A fusion of the words “development” and “operations,” describing a design philosophy where development and operations teams collaborate on software development and deployment. The goal of this new process is to increase software production agility while achieving business goals.

---

### DevSecOps
The process of bringing security into DevOps methodology and giving it a significant role.

---

### Docker
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.

*From Wikipedia - [Full page](https://en.wikipedia.org/wiki/Docker_(software))*

---

### IaC - Infrastructure as Code
Infrastructure as Code (IaC) is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model, using the same versioning as DevOps team uses for source code. Like the principle that the same source code generates the same binary, an IaC model generates the same environment every time it is applied. IaC is a key DevOps practice and is used in conjunction with continuous delivery.

*From Microsoft - [Full definition](https://docs.microsoft.com/en-us/devops/deliver/what-is-infrastructure-as-code)*

---

### Kubernetes
Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.

*From Kubernetes - [Website](https://kubernetes.io/)*

---

### Monitoring
DevOps monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring.

*From Atlassian - [Full Post about DevOps Monitoring](https://www.atlassian.com/devops/devops-tools/devops-monitoring)*

---

### Pipeline
A pipeline is a set of automated processes and tools to collaborate to an objective *(building a project, deploying application to an environment, create/update some infrastructure...)*.

---

### Regression testing
The testing of a software application to confirm that any recent changes made to an application haven’t adversely affected any features that were already in place.

---

### SLA - Service Level Agreement
An SLA (service level agreement) is an agreement between provider and client about measurable metrics like uptime, responsiveness, and responsibilities. 

*From Atlassian - [SLA vs SLO vs SLI](https://www.atlassian.com/incident-management/kpis/sla-vs-slo-vs-sli)*

---

### SLI
An SLI (service level indicator) measures compliance with an SLO (service level objective).

*From Atlassian - [SLA vs SLO vs SLI](https://www.atlassian.com/incident-management/kpis/sla-vs-slo-vs-sli)*

---

### SLO
An SLO (service level objective) is an agreement within an SLA about a specific metric like uptime or response time.

*From Atlassian - [SLA vs SLO vs SLI](https://www.atlassian.com/incident-management/kpis/sla-vs-slo-vs-sli)*

---

### Test automation
Using specialized software to control the execution of tests and compare actual outcomes against predicted outcomes.

*From SimpleLearn - [Full post](https://www.simplilearn.com/top-devops-terms-you-should-know-article)*

---

### Uptime
Time during the application is available and works correctly.

---

I've surely missed other important terms, so don't hesitate to ask for them in the comments.

I hope it will help you! 🍺