Whether you’re new to the world of DevOps or a seasoned guru looking to brush up on pesky terminology, look no further. This glossary covers some of the core definitions you and your team need to know.
So, without further delay:
The DevOps Glossary
A small program designed to run on multiple machines, usually to control or report the status of them.
A method of developing software whereby teams continuously evaluate their performance and adjust processes to become more efficient.
An instruction set for a CPU that uses 64bits to address memory.
Advanced multi-layered unification file system. This is a union-capable file system used to merge multiple directories into a single directory.
Azure Container Registry
A container repository from Microsoft. Allows developers to store and manage media assets for container deployments.
A copy-on-write (COW) file system that uses B-trees to organize information on-disk.
A group of computers that are all running the same program. Usually, a cluster is housed within the same data center.
A program that manages values that are applied to code running in an environment. These values can be applied in a variety of ways to reduce the time it takes to deploy code or make deployment changes.
A service that hosts containers to store, manage, and deploy images. These services may also host multiple versions of the same container.
A collection of related images that may have the same name and different tags. Repositories usually provide a different version of the same application or service.
A lightweight standalone process on a computer that has limited access to the underlying hardware. Some of the hardware may be emulated by software.
A development practice in which code changes are automatically built, tested, and prepped for production. This is an automated way to deliver new features to customers with limited or no human action.
A development practice in which, when new features are created, they are automatically tested in an environment that closely mimics production to ensure they are working properly with existing code.
The process of adding or updating code or configuration in an environment.
“The emerging professional movement that advocates a collaborative working relationship between Development and IT Operations, resulting in the fast flow of planned work (i.e., high deploy rates), while simultaneously increasing the reliability, stability, resilience and security of the production environment.” – Gene Kim
A popular open platform for developers and sysadmins. This software provides tools for creating and maintaining containers.
Adding more computers to a problem to speed up execution or increase reliability.
Repeated cycles used to develop a system. Modifications or the addition of new capabilities designed to enhance the system usually take place at the start of each iteration.
A method of organizing work so what is being worked on, or items that have issues, is clearly indicated to the entire team.
An open-source system used to automate containerized application deployment, scaling, and management.
A program that has reached its end of life and has no new features being added. Usually, a legacy application is in the process of being replaced by newly created software.
A stateless program that performs a limited set of features that can be horizontally scaled.
An application that contains all the behavior of the application in a single program. There may be single or multiple instances of this application running, but they all run the same code.
An example of a union capable files system used by docker to create the file system for containers. The successor to AUFS. Other popular file systems used in container environments include Gluster, NFS, Ceph, etc.
Penetration Testing (Pen Test)
Security testing that evaluates an enterprises processes that may allow attackers unauthorized access to resources or information. This can also include physical access, social engineering or exploiting software.
Recovery Point Objective (RPO)
The amount of time that may pass during an outage incident before the amount of data loss exceeds the maximum allowable threshold. Usually detailed in a Business Continuity Plan.
Recovery Time Objective (RTO)
The amount of time within which a service and its business process must be restored in the event of an outage incident. Usually detailed in a Business Continuity Plan.
A method of organizing work so that what is being created is constantly being evaluated. In this manner, problems are identified quickly and the most important features are being worked on first.
Software that allows code to access keys or certificates used to provide encryption.
Service Oriented Architecture (SOA)
An architecture pattern where features are broken up into different services that communicate over a network.
Tests that exercise an application in a realistic environment. These typically test the program’s behavior without inspecting its internal values. Instead, the program is tested by monitoring its outputs.
A fixed time period where a planned amount of work is set to be completed. Sometimes a demo is done at the end to illustrate the work achieved.
A program that tracks and stores information internally. These programs usually maintain the state of interaction by assigning values in designated storage fields.
A program that does not maintain or store any information internally. By not storing any state these programs have the property that for any given input the output will always be the same. Many web services are stateless, while databases are not.
Union-Capable File System
A category of file system that allows directories and files from two different sources to be overlayed. These sources may be read-only or allow for writing.
An example of a union-capable file system used in Linux, FreeBSD, and NetBSD. Implements a union mount for other file systems.
Testing a small module of code in isolation to the rest of the program.
If you’re looking for ways to integrate DevOps into your organization, give Caylent a try here.
Writer: Bryan Absher
Bryan Absher is a Software Engineer who is passionate about new and old technology. He is currently working on large scale distributed applications and single page web apps in the Pacific Northwest.
Fun fact: Bryan has a cat and will dance your pants off.