DevOps Glossary

DevOps covers a wide range of functions. From configuration management to infrastructure to documentation to quality assurance, DevOps spans the entire software development lifecycle.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

  • Agile Organization — A flexible company capable of rapid response and adaptability to both expected and unexpected opportunities and threats.

  • Agile Manifesto — The formal proclamation of values and principles to guide an iterative and people-centric approach to software development.

  • Agile Software Development - A software development methodology and philosophy, focused on user feedback, software quality, and the ability to respond quickly to changes and new product requirements

  • Agile Project Management — An iterative and incremental method of software design and development in which developers work closely with users using just enough information to start planning and execution.

  • Antifragile — A term coined by professor Nassim Nicholas Taleb about a property that allows systems to increase in capability or performance as a result of stress, mistakes, faults or failures.

  • Automation — The technology by which a process or procedure is performed without manual intervention. In DevOps, automation allows for the creation of real-time reports, integrating various tools used by different stakeholders, and workflows—integrating technology to bring tools together from different domains and break down the silos.

  • Application Release Automation (ARA) - A practice of deploying software releases to various environments and their configurations with as little human interaction as possible.

  • Artifact - Any description of a process used to create a piece of software that can be referred to, including diagrams, user requirements, and UML models.

  • Autonomy - The ability to make changes with the resources currently available, without the need to defer to something or someone higher up in the hierarchy.

  • AWS - A cloud computing platform offering ready to use web services which are loosely coupled.

  • Ansible - An agent-less orchestration engine that can automate application and systems.

  • Aptly - A Debian repository management tool

  • Artifactory - JFrog’s open source binary repository management product with support for Apache Maven artifacts.

  • Asgard - A netflix web interface tool for AWS Cloud Management and application deployment.

  • Atom - Atom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.

  • Awsbox - A featherweight DYI PaaS on top of awscloud EC2 for deploying node apps.

B

  • Bottleneck (Lean) — A step in a process that limits the total capacity of the process or system.

  • Btrfs - A copy-on-write (COW) file system that uses B-trees to organize information on-disk.

  • Behavior Driven Development (BDD) - An evolution of test-driven development that focuses on collaboration between development and business stakeholders to define user stories that determine the development of the application using a human-readable DSL.

  • Branching - The duplication of an object under review in source control so that the same code can be modified by more than one developer in parallel.

  • Build Agent - A type of agent used in continuous integration that can be installed locally or remotely in relation to the continuous integration server. It sends and receives messages about handling software builds.

  • Build Artifact Repository - Centralized storage for all binaries used during build. Simplifies dependency management and build processes, helps maintain security and consistency across teams, helps make automated deployment practical and scalable.

  • Beats - An open source collectors for log files, infrastructure metrics, and other important types of data agitation.

  • Berkshelf - Cookbook source manager for chef, similar to a bundler for ruby.

  • Buildbot - An open-source framework for automating software build, test and release process.

  • Bento - A project that encapsulates Packer templates for building Vagrant base boxes.

  • BuildMaster - An automated deployment tool. It combines features to manage and automate processes primarily related to continuous integration, database change scripts, and production deployments.

  • Brooklyn - Focused on deployment & post deployment life-cycle management, aware of network typologies integrates with clouds.

  • Barkeep - Code review tool for git projects, focused on code reviewing, can support both pre & post commit workflows.

C

  • Capacity Test- A test that is used to determine the maximum number of users a computer, server, or application can support just before failing.

  • Commit- A way to record the changes to a repository and add a log message to describe the changes that were made.

  • Complex-Adaptive Systems- Any system made of a collection of similar, smaller pieces that are dynamically connected and can change to adapt to changes for the benefit of a macrostructure.

  • Configuration Drift - How software and hardware configurations become inconsistent with the master version due to manual and ad hoc changes (like hotfixes) that are not committed back to version control. Often a significant source of technical debt.

  • Configuration Management- A process for establishing and maintaining consistent settings of a system. These solutions also include SysAdmin tools for IT infrastructure automation (e.g. Chef, Puppet, etc.).

  • Containerization - Resource isolation at the OS (rather than machine) level, usually (in UNIX-based systems) in user space. Isolated elements vary by containerization strategy and often include file system, disk quota, CPU and memory, I/O rate, root privileges, and network access. Much lighter-weight than machine-level virtualization and sufficient for many isolation requirement sets.

  • Containers- Resource isolation at the OS (rather than machine) level, usually (in UNIX-based systems) in user space. Isolated elements vary by containerization strategy and often include file system, disk quota, CPU and memory, I/O rate, root privileges, and network access. Much lighter-weight than machine-level virtualization and sufficient for many isolation requirement sets.

  • Continuous Delivery - A software engineering approach in which continuous integration, automated testing, and automated deployment capabilities allow software to be developed and deployed rapidly, reliably, and repeatedly with minimal human intervention.

  • Continuous Deployment - A software development practice in which every code change goes through the entire pipeline and is put into production automatically, resulting in many production deployments every day. It does everything that Continuous Delivery does, but the process is fully automated, and there’s no human intervention at all.

  • Continuous Integration - A software development process where a branch of source code is rebuilt every time code is committed to the source control system. The process is often extended to include deployment, installation, and testing of applications in production environments.

  • Continuous Quality - A principle that preaches the continuous quest for quality across the entire SDLC, starting from requirements definition, code development, testing, and operations. Another key area of focus for Continuous Quality is the application code pipeline orchestration. There are many opportunities to negatively impact the quality of an application when code is being manually moved across environments.

  • Continuous Testing - The process of executing unattended automated tests as part of the software delivery pipeline across all environments to obtain immediate feedback on the quality of a code build.

  • Consul - Makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface.

  • Chef - Configuration management tool which uses a pure-Ruby, DSL for writing system configuration recipes.

  • CoreOS - Lightweight OS that support containers out of the box. Can be used as base OS to run your own PaaS

  • CfEngine - First of its kind. Configuration Management tool, automates large scale, complex infrastructure.

  • Collectd - Demon to collect system performance statistics periodically & provides tons of plugins to analyze values.

  • Chocolatey - It is apt-get for windows. Can install packages & dependencies over CLI.

  • CruiseControl - A CI server written in #Ruby with a focus on simplicity & being easy to hack.

  • Capistrano - A remote server automation and deployment tool written in Ruby.

  • Credmgr - Securely manage privileged account credentials via Shamir secret sharing. Its like one passwd for DevOps.

  • ConDep - An opensource infrastructure configuration & deployment DSL specifically targeted (not limited) to Windows platform.

  • CMB(Cloud Message Bus) - A highly available, horizontally scalable queuing & notification service compatible to AWS SQS, SNS.

D

  • Deployment - A term that refers to the grouping of every activity that makes a program available for use and moving that program to the target environment.

  • Deployment Pipeline - A deployment pipeline is an automated manifestation of your process for getting software from version control into the hands of your users.

  • DevOps - An IT organizational methodology where all teams in the organization, especially development teams and operations teams, collaborate on both development and deployment of software to increase software production agility and achieve business goals.

  • Docker - Package an application with all of its dependencies into a standardized unit for software development. Build, Ship, Run.

  • Deis - Open Source Application Platform For Public and Private Clouds. Its built on Docker & CoreOs.

  • Drone - A Continuous Integration platform built on Docker, written in Go.

  • Dokku - Docker powered mini-Heroku, a smallest PaaS implementation you’ve ever seen around 100 lines of Bash.

  • Deploykit - Collection of Ruby daemons flying in close formation. AKA our startling message-based deploy environment.

  • Djangy - An open source cloud hosting service for Python/Django web apps. Its like Heroku for Python/Django.

  • Diamond - Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others).

E

  • Event-Driven Architecture - A software architecture pattern where events or messages are produced by the system, and the system is built to react, consume, and detect other events.

  • Exploratory Testing - A manual testing strategy where human testers have the freedom to test areas where they suspect issues could arise that automated testing won’t catch.

  • Etcd - A highly-available key value store for shared configuration and service discovery.

  • Eucalyptus - An open source software for building AWS - compatible private and hybrid clouds.

F

  • Fail Fast - A strategy in which you try something, it fails, feedback is delivered quickly, you adapt accordingly, and try again.

  • Fig - A package management tool, similar to APT, language agnostic, faster and works well with both executable and libraries.

  • Foreman - A complete lifecycle management tool for physical and virtual servers.

  • Fpm - Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

  • Flynn - An open source PaaS platform built on Docker awesomely manages deploying, scaling your applications.

  • Fabric - A command-line tool for streamlining use of SSH for application deployment or systems administration tasks.

  • FAI Fully Automatic Installer - Tool for mass unattained deployments of Linux.

  • Flannel - etcd backed network fabric for containers

G

  • Git - An awesome tool to version your source code and collaborate.

  • Graphite - A visualization tool for statistics. One can create customizable reports and dashboards.

  • Ganglia - A salable distributed monitoring system for high-performance computing systems such as clusters & grids.

  • Gradle - A project automation tool that builds upon the concepts of #Apache Ant and Apache Maven.

  • Grafana - An open source feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB.

  • GoCD - release management tool,build from ground up with pipelines in mind & makes easy to model complex deployment work-flow.

H

  • Heroku - Platform as a service (PaaS) that enables developers to build and run applications entirely in the cloud.

I

  • Infrastructure-as-a-Service (IaaS) - A self-service computing, networking, and storage utility on-demand over a network.

  • Integration Testing - Testing that occurs after unit testing, but before validation testing, where individual software components are combined and tested as a single group to ensure they work as a whole.

  • Issue Tracking - A process that allows programmers and quality assurance personnel to track the flow of defects and new features from identification to resolution.

  • Icinga - A monitoring system checking hosts & services you specify & notifying when things go wrong & they recover.

J

  • Jenkins - It is an open-source, lightweight CI tool written in Java, with high extensibility and a fast release cycle.

  • Jcloud - Apache jclouds, an open source multi-cloud toolkit for the Java platform, apps are portable across clouds.

  • Juju - An orchestration tool allows software to be quickly deployed, integrated & scaled public/private/hybrid cloud.

K

  • Kubernetes - An opensource system for managing containerized applications providing deployment & scaling of apps.

  • Kickstart - Uses bash scripts to provision machines over ssh, with no client installation on the target.

  • Kibana - an open source (Apache Licensed), browser based analytic and search dashboard for Elasticsearch.

  • Kafka - distributed, partitioned, replicated commit log service.

L

  • Logstash - A data pipeline that helps you process logs and other event data from a variety of systems.

  • Log.io - A Real-time log monitoring in your browser. Broadcasting logs to the web clients.

  • Loom - Does stuff Puppet doesn’t do well or at all bootstrapping machines deploying code & installing reusable modules.

  • Logster - Utility for reading logs & generating metrics to configurable outputs. Graphite, CloudWatch, Nagios & stdout.

M

  • Mean Time Between Failures (MTBF) - Used to measure reliability of a system or component, calculated by averaging the time between system failures.

  • Mean Time to Recovery (MTTR) - The average time it takes a system or component to recover from a failure and return to production status.

  • Microservices Architecture - The practice of developing software as an interconnected system of several independent, modular services that communicate with each other.

  • Model-Based Testing - A software testing technique in which the test cases are derived from a model that describes the functional aspects of the System Under Test (SUT). Visual models can be used to represent the desired behavior of a SUT, or to represent testing strategies and a test environment. From that model manual tests, test data, and automated tests can be generated automatically.

  • Memcached - An open-source high performance, distributed memory object caching system.

  • Mcollective - A framework for building server orchestration or parallel job execution systems.

  • Mina - Deployment tool, lets you build and run scripts to manage your app deployments on servers via SSH.

N

  • Nomad - A Hashicorp product; is a cluster manager & scheduler designed for microservices and batch workloads.

O

  • Openstack - An open source, massively salable cloud operating system used for building private & public cloud.

  • Opsbot - A pluggable, configurable bot for improving communication in operations.

  • OpsGenie - Tools you need to design meaningful, actionable alerts and ensure the right people are notified.

  • OSV - An operating System for lightweight virtual machines, designed for ground up to run single application, similar to CoreOS.

  • Otto - successor to Vagrant is single solution to develop, deploy application with firstclass support to microservices.

  • Orc - A model driven orchestration tool for the deployment of application clusters written in Ruby.

  • Opskelaton - Bootstrap DevOps infra with some opinionated defaults(vagrant chef puppet) standard development guidelines.

  • Overcast - CLI for ease to spinup configure & manage clusters without learning curve or complexity of existing management tools.

  • Openshift - Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications in a cloud environment.

P

  • Pair Programming - A software development practice where two developers work on a feature, rather than one, so that both developers can review each others’ code as it’s being written in order to improve code quality.

  • Platform-as-a-Service (PaaS) - Provides languages, libraries, services, and tools that allow developers to build and deploy applications in the cloud without worrying about underlying OS-level infrastructure (or below).

  • Production - The final stage in a deployment pipeline where the software will be used by the intended audience.

  • Packer - A tool for creating identical machine images for multiple platforms from a single source configuration

  • Pagerduty - A tool which would help us to increase the uptime of our apps, services, and infrastructure.

  • Poni - Systems management tool for defining, deploying and verifying complex multi-node computer systems.

  • Pulp - A platform for managing repositories of content, such as software packages.

  • Prometheus - open-source service monitoring system and time series database.

Q

R

  • Rollback - An automatic or manual operation that restores a database or program to a previously defined state.

  • RabbitMQ - RabbitMQ is a queuing tool for DevOps engineers. Supports a large no. of development platforms.

  • Rundeck - A cross-platform opensource software, helps automate ad-hoc & routine procedures in data-center or cloud environment.

  • rkt - CLI for running app containers on Linux. rkt is designed to be composable, secure, and fas.

  • Rudder - An easy to use, web-driven, role-based solution for IT Infrastructure Automation.

  • Rex - An agent less orchestration tool written in simple perl.

  • Riemann - Riemann monitors distributed systems.

S

  • Self-Service Deployment - The action of automating deployment processes enough for developers to allow project managers or even clients to directly control deployments.

  • Source Control - A system for storing, tracking, and managing changes to software. This is commonly done through a process of creating branches (copies for safely creating new features) off of the stable master version of the software and then merging stable feature branches back into the master version. This is also known as version control or revision control.

  • Staging Environment - Used to test the newer version of your software before it’s moved to live production. Staging is meant to replicate as much of your live production environment as possible, giving you the best chance to catch any bugs before you release your software.

  • Sensu - A simple & scalable monitoring framework which is designed for cloud.

  • Simian Army - A tool for testing & promoting infrastructure tolerance & high availability.

  • Snort - An open-source IPS. It provides real-time traffic analysis and packet logging for DevOps engineers.

  • SumoLogic - Centralized Log Analysis tool, which scale to any data volume and query performance.

  • Serf - A lightweight & decentralized solution for cluster membership, failure detection & orchestration.

  • SaltStack - Configuration Management software, delivers fast, scalable event-driven infrastructure automation & predictive cloud orchestration.

  • Slaughter - A perl tool for automating configuration maintenance & management of large number of systems.

  • StackStorm - Event-driven automation used for auto-healing, security responses, troubleshooting, complex deployments.

  • Sequencer - Open-Source Software that can ping, power off and power on your whole cluster.

  • Sunzi - Shell-based provisioning tool which does not try to do anything else. Has no dependency other than shell.

  • Sysdig - An open source, system level exploration: capture system state & activity in linux instance save, filter & analyze.

  • Semaphore - A hosted continuous integration and deployment service for open source and private projects.

  • Sublime-Text - Sublime Text is a cross-platform source code editor with a Python application programming interface (API). It natively supports many programming languages and markup languages, and its functionality can be extended by users with plugins, typically community-built.

  • SignalFx - Monitoring and Operational Intelligence for the Cloud.

T

  • Technical Debt - A concept in programming that reflects the extra development work that arises when code that is easy to implement in the short run is used instead of applying the best overall solution.

  • Test Automation - The use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.

  • Terraform - A tool used in building, changing, and versioning the infrastructure across platforms.

  • Test Kitchen - A test harness tool to execute your configured code on one or more platforms in isolation.

  • Tsuru - An extensible and open source Platform as a Service; that uses Docker to make deploys simple & fast.

  • TeamCity - A feature packed CI tool with out-of-the-box support for java, ruby .Net, & many other languages.

  • Travis CI - A Continuos Integration tool easy to integrate with Github Projects

U

  • Unit Testing - A testing strategy in which the smallest unit of testable code is isolated from the rest of the software and tested to determine if it functions properly.

  • User Acceptance Test (UAT) - The final phase of software testing where clients and end users determine whether the program will work for the end-user in real world scenarios. This stage is also known as beta testing.

V

  • Virtual Machine (VM) - A software emulation of a physical computing resource that can be modified independent of the hardware attributes.

  • Vagrant - It is a cross platform tool to create, boot, configure and destroy development environments.

  • Veewee - A tool for easily & repeatedly building custom Vagrant base boxes, KVMs, & virtual machine images.

  • Vagrant-lxc - Vagrant plugin that allows it to control and provision Linux Containers as an alternative to the built in VirtualBox provider for Linux host.

  • Vaurien - A Chaos Monkey for TCP conn. Randomly disconnects/stalls TCP connections in app to test tolerance and HA.

  • VMFest - a PalletOps project turns VirtualBox into light-weight cloud provider. Useful in developing cloud automation.

W

  • Weave - Virtual network that connects Docker containers deployed across multiple hosts & enables automatic discovery.

X

Y

Z

  • Zabbix - An opensource, enterprise-class network monitoring framework.

  • Zookeeper - A centralized service for maintaining configuration information, naming, providing group services etc.



Enjoyed this article? Share it.