A collection of common terms and definitions used in DevOps and cloud computing.
Do just enough design to start delivering value. Iteritive and continious improvement of software/product.
An open-source software provisioning, configuration management, and application-deployment tool.
Application Program Interface is the computer to computer information hub. It is used by third parties or mobile Applications to provide data, but not visual information.
Amazon Web Services, a public cloud provider. Infrastructure as a service.
An issue identified by an Agile team that is halting or slowing down progress.
CapEx, the money a project/company spends to buy, maintain or improve it's fixed assets, such as buildings, vehicles and hardware.
Continuous Integration and Continuous Delivery/Deployment. A method to frequently deliver apps to customers by introducing automation into the stages of app development.
A program or function that provides results (outputs) based on data (inputs).
Used to apply configuration to platforms, servers and software.
A lightweight alternative to full machine virtualization that involves encapsulating an application in a container with its own operating environment.
A process running on a server, in a jail from a predefined disk image/file structure.
A pipeline where automated tests check commited code, providing a fast feedback loop to uncover errors.
Central Processing Unit. This provides the computer the power to run programs, code and tasks.
A dedicated space that is climate controlled and secure, for housing and operating servers and other infrastructure.
A service that saves, holds and returns data. From a spreadsheet, to a full on Database with data analytics stored functions and reports.
Distributed Denial Of Service. Where a group of computers send traffic malicously to your website with the aim of distrupting service.
Reuseable stock or library code, that are installed alongside the main developer's code for the application to work.
Creation and improvement of software running in a Software System.
A term used in Agile. 1. A role that uses a mix of Infrastructure and Development Skills, often creating automated workflows and IaC. 2. A term that describes a way of teams working together.
A further step into application isolation where an independant image can run on a server. Often used with microservices.
Amazon Webservices Managed docker service. Enable the management of running docker containers.
Enterprise Service Bus is a common Data Access Layer used to link dispersed IT systems together within an organisation.
A network device that controls access between network components.
A distributed version-control system for tracking changes in source code during software development.
A mix of private and public cloud, usually seen during migrations and for sensitive data reasons.
A system that runs on a server to enable virtual machines to run.
Refers to Servers, Routers, Network Switches, Firewall and other foundational components of a software system. Can be purchased on a Pay as You Use from Cloud Providers.
Where code is written that can create or destroy infrastructure and computer environments.
An open-source automation server that enables developers to build, test, and deploy their software.
An inventory and scheduling system. Used in software development, like SCRUM, however the tasks are not timeboxed, but subjected to other measures and limits.
Key Performance Indicators enable decisions to be made through metrics about your business, app and service.
An open-source platform designed to automate deploying, scaling, and operating application containers.
Serverless offering of AWS. They are small quick tasks running from a predefined Docker container.
Where computers temporarily store data.
Is able to store data for long periods of time, like tape or disks.
Random access memory, programs and data stored while the computer is on.
Read-only memory, programs and data stored while computer is off. Usually contains bootstrap code.
A small and deployable software program, part of a Software System.
Minimum Viable Product is a small scale product or service that is used to demonstrate a demand for that product or service.
The connections between servers. This enables communication between software system components as well as the internet.
A physical device (is virtual in Cloud Environments), to marshall network traffic and communications between software system components.
OpEx, the ongoing costs running a product, business or system.
Where two people working together on a task improves efficiency. E.g building a wardrobe.
A defined process that links tasks together, usually on a continuous integration server.
Managed IaC to simplify the deployment of Software Systems.
A network device that links networks together.
To grow or shrink the servers delivering a service.
A framework for organising tasks. Tasks are scheduled into a timeboxed period known as a Sprint.
A paradyme where code is run on servers maintained by the cloud provider. They can be cheap to start with, but cost can escalate for larger more frequent workloads.
Compute power of a Software System. Where computers and CPUs are employed to carry out the work.
A collection of software, hardware and virtual hardware that makes up a system for running software.
Where code is stored, in a way that every change and version is also kept. Useful for auditing and finding bugs due to changes.
An open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services.
TDD - A programming practice where the tests are written first. A test ensures that given a set of inputs, a program or function produces the correct output.
Enabling the resources of a computer to run more than one logical computer in an isolated way on the same computer, whilst they are not aware of each other.
This glossary is regularly updated with new terms and definitions.