Glossary

Written by Diana Bocco

Content verified by Alex Ioannides

Last updated on: June 17, 2024

Glossary

ABCDEFGHIJKLMNOPRSTUVWXYZ

A

A/B Testing: A method of comparing two versions of a webpage or app against each other to determine which one performs better. It is an essential component of the experimentation framework for user experience and product development.

Agile Methodology: A set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams. Agile methodologies promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

Ansible: An open-source tool for IT automation that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

Artifact Repository: A collection of binary files, which can include compiled versions of software (libraries, packages, and applications), for use in software development and deployment. Repositories provide a centralized location for storing and retrieving artifacts, often supporting version control and dependency management.

Artifact: In software development and deployment, an artifact is a file or collection of files produced during the software development process, which can include compiled versions of the application, libraries, containers, databases, and configuration files, ready for deployment.

Automated Testing: The use of software tools to execute tests automatically, validating the functionality and performance of the software before it is deployed, crucial for continuous integration and delivery processes.

B

Big Data: Large volumes of data that can be analyzed for insights to lead to better decisions and strategic business moves.

Blue/Green Deployment: A technique that reduces downtime and risk by running two identical production environments, only one of which is live at any time. When ready to deploy a new version, it is released to the inactive environment, which is then made live, allowing easy rollback if necessary.

C

Canary Release: A strategy that rolls out changes to a small subset of users or servers before deploying to the entire infrastructure, allowing teams to monitor the impact and catch potential issues early.

Canary Testing: A technique for reducing the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before making it available to the entire user base.

Capacity Planning: The process of determining the production capacity needed by an organization to meet changing demands for its products. In the context of IT, it involves forecasting the hardware, software, and network resources required to prevent a performance or availability impact on business-critical applications.

Chaos Engineering: The discipline of experimenting on a software system in production in order to build confidence in the system’s capability to withstand turbulent and unexpected conditions.

CI/CD (Continuous Integration/Continuous Deployment): A methodology that automates the integration of code changes from multiple contributors into a single software project, and the automatic deployment of this software to production environments, facilitating frequent releases and quick feedback.

CI/CD Pipeline: The automated process that drives software development through stages of integration, testing, and deployment, using continuous integration and continuous deployment practices to deliver code changes more frequently and reliably.

CI/CD Tools: Software that automates the steps in the software delivery process, such as initiating code builds, running automated tests, and deploying to a production environment. Continuous Integration (CI) and Continuous Deployment (CD) tools help in maintaining a consistent and automated way to build, package, and test applications.

Cloud Compliance: The principle that cloud-delivered systems must be compliant with the standards and regulations that govern the security and privacy of the client’s data.

Cloud Computing: A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services).

Cloud Management Platforms (CMPs): Integrated products that provide for the management of public, private, and hybrid cloud environments. These platforms can help manage cloud infrastructure, resources, and services.

Cloud Migration: The process of moving data, applications, or other business elements from an organization’s onsite computers to the cloud, or moving them from one cloud environment to another.

Cloud Native: An approach to building and running applications that exploits the advantages of the cloud computing delivery model. Cloud-native is about how applications are created and deployed, not where.

Cloud Orchestration: The use of programming technology to manage the interconnections and interactions among workloads on public and private cloud infrastructure.

Cloud Security: The collection of procedures and technology designed to address external and internal threats to business security in cloud computing environments.

Cloud Storage: A model of computer data storage in which the digital data is stored in logical pools, said to be on “the cloud”. It offers scalability, reliability, and cost efficiency.

Clustering: The use of multiple servers (computers) to form a cluster that works together to provide higher availability, reliability, and scalability. Clustering is often used for load balancing and fault tolerance.

Code Deployment Strategies: Techniques used to deploy software to production with minimal downtime and risk, such as blue/green deployments, canary releases, and rolling updates.

Configuration Management: The process of maintaining computer systems, servers, and software in a desired, consistent state. It’s a way of ensuring that all software and hardware assets an organization uses are known and tracked at all times and that any changes to these assets are systematically managed.

Containerization: The practice of packaging software code along with all its dependencies into a single container image that can run consistently on any infrastructure, improving scalability and efficiency.

Content Delivery Network (CDN): A geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by spatially distributing the service relative to end-users.

Continuous Delivery: A DevOps software development practice where code changes are automatically built, tested, and prepared for a release to production, enabling rapid, reliable software delivery.

Continuous Experimentation: The ongoing practice of conducting experiments to test hypotheses and make data-driven decisions, aimed at continuous improvement of products, services, and processes.

Continuous Feedback: The process of consistently gathering feedback from all stakeholders, including users, throughout the software development lifecycle, to inform and guide development efforts and improvements.

Continuous Monitoring: The practice of continuously analyzing performance and health metrics of applications and infrastructure to detect anomalies, optimize performance, and ensure security.

CSV (Comma-Separated Values): A simple format used to store tabular data, such as a spreadsheet or database. Each line of the file is a data record, and each record consists of one or more fields, separated by commas.

D

Data Encryption: The process of converting data into a code to prevent unauthorized access, a fundamental security measure for protecting sensitive information.

Data Lake: A storage repository that holds a vast amount of raw data in its native format until it is needed.

Data Sharding: A technique for distributing data across multiple servers or databases, each holding a portion of the total data, to improve performance and scalability.

Data Warehouse: A centralized repository for storing, managing, and analyzing structured data from various sources.

Database Sharding: A method of database partitioning that separates very large databases into smaller, faster, more easily managed parts called shards. It is a popular technique for scaling horizontally.

DevOps: A set of practices that combines software development (Dev) and IT operations (Ops) to shorten the system development life cycle and provide continuous delivery with high software quality.

DevSecOps: The integration of security practices within the DevOps process, aiming to build security into the development lifecycle from the outset rather than treating it as an afterthought.

Disaster Recovery (DR): Planning and procedures that enable an organization to recover from a catastrophic event and resume mission-critical functions. It’s a crucial component of business continuity planning.

DNS (Domain Name System): A hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It translates more readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols.

Docker: A platform for developers and sysadmins to develop, deploy, and run applications with containers. The use of containers to package software ensures that the application works seamlessly in any environment.

E

Edge Computing: Refers to a distributed computing paradigm that brings computation and data storage closer to the location where it is needed, to improve response times and save bandwidth.

Elasticsearch: A distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning-fast search, fine-tuned relevancy, and powerful analytics that scale with ease.

Event-Driven Architecture (EDA): A software architecture paradigm promoting the production, detection, consumption of, and reaction to events.

F

Fault Tolerance: The ability of a system to continue operating without interruption when one or more of its components fail. Fault tolerance is achieved by redundancy in hardware, software, or data.

Feature Flag: A technique that allows developers to turn features of their software on or off without deploying new code. This enables more granular control over the software functionality available to different user segments.

Feature Flagging: A technique used to enable or disable features of software applications dynamically without deploying new code. This allows developers to test new features with specific user segments or environments and facilitates easier rollback and faster issue resolution.

Federated Learning: A machine learning strategy where models are trained across multiple decentralized devices or servers without exchanging data samples, enhancing privacy and efficiency.

Firewall: A network security device that monitors and filters incoming and outgoing network traffic based on an organization’s previously established security policies. At its most basic, a firewall is a barrier between a private internal network and the public Internet.

Fluentd: An open-source data collector for unified logging layers, allowing you to unify data collection and consumption for better use and understanding of data.

G

GDPR (General Data Protection Regulation): A regulation in EU law on data protection and privacy in the European Union and the European Economic Area, which also addresses the transfer of personal data outside the EU and EEA areas.

Git Branching: A feature of Git that allows developers to diverge from the main line of development and continue to work independently without affecting the main line, enabling features, fixes, and experiments to be developed in parallel before merging back into the main codebase.

Git: A distributed version control system used for tracking changes in source code during software development. It enables multiple developers to work together on a project by branching, merging, and handling version histories.

GitOps: An operational framework that applies DevOps best practices such as version control, collaboration, compliance, and CI/CD for infrastructure automation, using Git as the source of truth for declarative infrastructure and applications.

Grafana: An open-source platform for monitoring and observability. Grafana allows you to query, visualize, alert on, and understand your metrics no matter where they are stored.

GraphQL: A query language for APIs and a runtime for fulfilling those queries with your existing data, designed to make APIs fast, flexible, and developer-friendly. It allows clients to request exactly the data they need, making it efficient for complex applications.

gRPC (Google Remote Procedure Call): An open source remote procedure call system initially developed at Google. It uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, load balancing, and more.

H

Hadoop: An open-source framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.

High Availability (HA): Refers to systems or components that are continuously operational for a desirably long length of time. Availability includes both uptime and repair time, aiming to minimize the amount of downtime in a system.

HTTP (Hypertext Transfer Protocol): The foundation of data communication for the World Wide Web, enabling the fetching of resources, such as HTML documents. It is a protocol for exchanging hypermedia documents.

Hybrid Cloud: A computing environment that combines a public cloud and a private cloud by allowing data and applications to be shared between them.

I

IaaS (Infrastructure as a Service): A form of cloud computing that provides virtualized computing resources over the internet.

IMAP (Internet Message Access Protocol): A standard email protocol that stores email messages on a mail server but allows the end user to view and manipulate them as though they were stored locally on their device.

Immutable Infrastructure: An approach where servers and infrastructure are never modified after they are deployed. If changes are needed, new, updated instances are deployed, and the old ones are decommissioned, enhancing consistency and reliability in the deployment process.

Infrastructure as Code (IaC): The management of infrastructure (networks, virtual machines, load balancers, etc.) using code and software development techniques, such as version control and continuous integration, to automate the setup and deployment of infrastructure.

Infrastructure Monitoring: The practice of continuously monitoring and managing the health of the IT infrastructure components such as servers, VMs, networks, and databases.

J

Jenkins: An open-source automation server used to automate parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery.

JSON (JavaScript Object Notation): A lightweight data-interchange format that is easy for humans to read and write and for machines to parse and generate. It is based on a subset of the JavaScript Programming Language.

K

Key Performance Indicator (KPI): A measurable value that demonstrates how effectively a company is achieving key business objectives. Organizations use KPIs at multiple levels to evaluate their success at reaching targets.

Kibana: A free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. It provides search and data visualization capabilities for data indexed in Elasticsearch.

Kubernetes: An open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.

L

Latency Monitoring: The practice of measuring and tracking the latency of resources and networks to ensure the performance stays within acceptable thresholds. It helps in identifying bottlenecks and improving user experience.

Latency: The delay before a transfer of data begins following an instruction for its transfer. It’s often measured as the time difference between a request and a response.

Load Balancing: The process of distributing a set of tasks over a set of resources, with the aim of making their overall processing more efficient. Load balancing improves the distribution of workloads across multiple computing resources, such as computers, a computer cluster, network links, or CPUs.

Load Testing: Simulates a real-world load on any software, application, or website to determine how the system behaves under both normal and anticipated peak load conditions.

Log Aggregation: The process of collecting, consolidating, and managing logs from different sources within an organization to streamline analysis and troubleshooting.

M

Message Queue: A form of asynchronous service-to-service communication used in serverless and microservices architectures.

Microservice Architecture: The method of developing software applications as a suite of independently deployable, small, modular services. Each service runs a unique process and communicates through a well-defined, lightweight mechanism to serve a business goal.

Microservices: An architectural style that structures an application as a collection of services that are highly maintainable and testable, loosely coupled, independently deployable, and organized around business capabilities.

Monitoring: The continuous process of collecting, analyzing, and using data from applications and infrastructure to gauge performance and operational health.

Multi-Cloud Strategy: The use of multiple cloud computing and storage services in a single heterogeneous architecture.

N

Nagios: A powerful monitoring system that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes.

Network Monitoring: The use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator (via email, SMS, or other alarms) in case of outages or other trouble.

Network Security: Protective measures and protocols that an organization implements to protect the network and network-accessible resources from unauthorized access, misuse, malfunction, modification, destruction, or improper disclosure, thereby creating a secure platform for computers, users, and programs to perform their permitted critical functions within a secure environment.

NoSQL Database: A mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.

O

OAuth 2.0: The industry-standard protocol for authorization. OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and living room devices.

OAuth: An open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.

Observability: The ability to understand the internal state of a system from its external outputs, encompassing logs, metrics, and traces, enabling developers and operators to diagnose and resolve issues.

Operational Intelligence: The practice of using real-time data analysis to improve operations, make decisions, and deliver information to optimize business processes.

P

PaaS (Platform as a Service): A category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.

PCI DSS (Payment Card Industry Data Security Standard): A set of security standards designed to ensure that all companies that accept, process, store, or transmit credit card information maintain a secure environment.

Performance Tuning: The improvement of system performance. Typically in computer systems, it can involve adjusting various parameters and configuration settings to increase the speed of a computer, website, or application.

POP3 (Post Office Protocol 3): An older standard email protocol that downloads messages from a server to a single device, then deletes them from the server.

Progressive Delivery: An evolution of continuous delivery to allow for fine-grained control over the rollout of new features through techniques like feature flags, canary releases, and A/B testing. This approach helps in minimizing risk by targeting deployments to specific user segments or regions first.

Prometheus: An open-source systems monitoring and alerting toolkit originally built at SoundCloud. Prometheus is now a standalone open-source project and maintained independently of any company.

Protobuf (Protocol Buffers): Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data, similar to XML but smaller, faster, and simpler. It allows you to define how you want your data to be structured once, then use specially generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

Provisioning: The process of setting up IT infrastructure to make it available for use, often by automating the deployment of servers, software, and other IT resources.

Puppet: A configuration management tool used for deploying, configuring, and managing servers. It enables developers and system administrators to work in a declarative manner, using code to automate the setup and maintenance of software and infrastructure.

R

Redundancy: The duplication of critical components or functions of a system with the intention of increasing reliability of the system, usually in the form of a backup or fail-safe.

Repository (Repo): A central place where data is stored and managed. In software development, a repository typically refers to a storage location for software packages, where they can be retrieved for installation and use in development projects.

REST (Representational State Transfer): An architectural style for designing networked applications. It relies on a stateless, client-server, cacheable communications protocol — typically HTTP. RESTful applications use HTTP requests to post data, read data, and delete data.

Rollback: The process of reverting to a previous version of software after a failed deployment or when critical issues are detected post-deployment, ensuring system stability and availability.

S

SaaS (Software as a Service): A software distribution model in which a third-party provider hosts applications and makes them available to customers over the Internet.

Scalability: The ability of a system, network, or process to handle a growing amount of work, or its potential to be enlarged in order to accommodate that growth.

Serverless Architectures: An operational model that abstracts infrastructure management tasks away from the user, automatically managing the provisioning and scaling of servers.

Serverless Computing: A cloud-computing execution model where the cloud provider dynamically manages the allocation of machine resources, allowing developers to build and run applications without managing servers.

Service Discovery: A method used in distributed systems to help services find and communicate with each other, often through automated processes in dynamic environments.

Service Mesh: A dedicated infrastructure layer for facilitating service-to-service communications between services or microservices, using a transparent proxy. It provides features like service discovery, load balancing, encryption, authentication, and authorization.

Site Reliability Engineering (SRE): A discipline that incorporates aspects of software engineering into IT operations to create scalable and reliable systems, focusing on automation, continuous improvement, and the proactive management of system reliability.

Smoke Testing: Also known as “build verification testing,” is a type of software testing that comprises a non-exhaustive set of tests that aim at ensuring that the most important functions work. The term originates from a similar type of testing in hardware engineering.

SMTP (Simple Mail Transfer Protocol): A protocol for sending email messages between servers, commonly used for outgoing email.

SOAP (Simple Object Access Protocol): A protocol for exchanging structured information in the implementation of web services in computer networks. It relies on XML Information Set for its message format and usually relies on other Application Layer protocols, such as HTTP and SMTP, for message negotiation and transmission.

Spark: An open-source, distributed computing system that provides an interface for programming entire clusters with implicit data parallelism and fault tolerance.

SSL/TLS (Secure Sockets Layer/Transport Layer Security): Protocols for establishing authenticated and encrypted links between networked computers, crucial for secure communications over the internet.

Stream Processing: The technology used for processing large streams of live data and enabling real-time analytics and insights.

T

Technical Debt: A concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer.

Terraform: An infrastructure as code software by HashiCorp. It allows for the building, changing, and versioning of infrastructure safely and efficiently by defining resource configurations in code that can be versioned, reused, and shared.

Terraform: An open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files.

Throughput: The amount of data processed by a system or application within a given time. It’s often used to measure the performance of networking, computing, or data processing systems.

Time Series Database: A database optimized for time-stamped or time series data. Time series data are measurements or events that are tracked, monitored, downsampled, and aggregated over time.

Traffic Shadowing: A deployment strategy where incoming traffic is duplicated to a production service and a shadow service. The shadow service handles the duplicated traffic without affecting the end-users. This technique is useful for testing in production-like environments without risking the actual production environment.

Two-Factor Authentication (2FA): An extra layer of security used to ensure that people trying to gain access to an online account are who they say they are.

U

User Experience (UX) Design: The process of creating products that provide meaningful and relevant experiences to users. This involves the design of the entire process of acquiring and integrating the product, including aspects of branding, design, usability, and function.

User Testing: The process by which users test a product or feature for the first time and provide feedback, allowing developers to make adjustments before a full rollout.

V

Vagrant: A tool for building and managing virtual machine environments in a single workflow. It provides easy-to-configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.

Version Control: The practice of tracking and managing changes to software code, enabling multiple developers to work collaboratively on a project by merging changes and maintaining a history of versions.

VPN (Virtual Private Network): Extends a private network across a public network and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network.

W

WAF (Web Application Firewall): A specific form of application firewall that filters, monitors, and blocks HTTP traffic to and from a web service. It is a protective measure for web applications by filtering and monitoring HTTP traffic between a web application and the Internet.

Web Application Firewall (WAF): A security measure designed to protect web applications by filtering and monitoring HTTP traffic between a web application and the Internet.

Web Service: A standardized way of integrating web-based applications using the XML, SOAP, WSDL, and UDDI open standards over an Internet protocol backbone. Web services allow different applications from different sources to communicate with each other without time-consuming custom coding, and because all communication is in XML, web services are not tied to any one operating system or programming language.

Webhook: A method of augmenting or altering the behavior of a web page or web application with custom callbacks. These callbacks may be maintained, modified, and managed by third-party users and developers who do not necessarily have access to the source code of the application.

WebSocket: A computer communications protocol, providing full-duplex communication channels over a single TCP connection. WebSockets allow for bidirectional data flow between clients and servers, making it suitable for real-time applications.

X

XaaS (Everything as a Service): A term used to describe the extensive list of services and applications that can be delivered over the internet on a subscription basis, extending beyond traditional SaaS, PaaS, and IaaS.

XML (eXtensible Markup Language): A markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is primarily used for the representation of arbitrary data structures, such as those used in web services.

Y

YAML (YAML Ain’t Markup Language): A human-readable data serialization standard that can be used in conjunction with all programming languages and is often used for configuration files.

Z

Zabbix: An enterprise-class open-source distributed monitoring solution for networks and applications, designed to monitor and track the status of various network services, servers, and other network hardware.

Zero Trust Security: A security model based on the principle of maintaining strict access controls and not trusting anyone by default, even those already inside the network perimeter. This concept requires verifying the identity of every user and device trying to access resources on a network, regardless of whether they are within or outside of the network perimeter.

Zero-Day Attack: An attack that exploits a potentially serious software security weakness that the vendor or developer may be unaware of. The term “zero-day” refers to the fact that the developers have zero days to fix the problem that has just been exposed—often leading to a race to distribute a solution before the vulnerability can be exploited.

Zipkin: A distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures.

Diana Bocco

Written by

Diana Bocco

Diana Bocco combines her expertise to offer in-depth perspectives on uptime monitoring and website performance. Her articles are grounded in practical experience and a deep understanding of how robust monitoring can drive business success online. Diana's commitment to explaining complex technical concepts in accessible language has made her a favorite among readers seeking reliable uptime solutions.