Technical Glossary | Vibgrate

Definitions and explanations of key technical terms.

Adapter Pattern

A structural design pattern that allows incompatible interfaces to work together by wrapping an object in an adapter

pattern

Anti-Corruption Layer

A pattern that isolates a system from external systems by translating between their models, preventing corruption of internal domain models

pattern

API

Application Programming Interface - a set of definitions and protocols that allows software components to communicate with each other

core

API Gateway

A server that acts as a single entry point for API calls, handling routing, composition, and cross-cutting concerns

architecture

API Versioning

The practice of managing changes to an API over time while maintaining backward compatibility for existing consumers

api

Automation

The use of technology to perform tasks with minimal human intervention, often applied to testing, deployment, and infrastructure management

process

Backup

A copy of data or system configurations stored separately to enable recovery in case of data loss, corruption, or disaster

operations

Backward Compatibility

The ability of new versions to work with data or interfaces from older versions

development

Blue-Green Deployment

A release strategy that maintains two identical production environments, allowing instant switching between versions with zero downtime

strategy

Bounded Context

A central pattern in Domain-Driven Design that defines clear boundaries within which a model is defined

architecture

Branching

Creating parallel lines of development in version control to work on features or fixes independently

development

Breaking Change

A modification to software that causes existing functionality or integrations to stop working as expected

development

Business Continuity

Planning and preparation to ensure that critical business functions can continue during and after a disaster or disruption

operations

Canary Deployment

A deployment strategy that rolls out changes to a small subset of users before deploying to the entire infrastructure

strategy

CI/CD

Continuous Integration and Continuous Deployment - practices for automating code integration and delivery

devops

Cloud Migration

The process of moving data, applications, and workloads from on-premises infrastructure to cloud-based services

strategy

Cloud-Native

An approach to building and running applications that fully exploits the advantages of the cloud computing delivery model

architecture

CloudFormation

AWS service that provides infrastructure as code capabilities for provisioning and managing AWS resources using templates

tool

Code Cleanup

The process of improving code quality by removing dead code, fixing style issues, and improving readability without changing functionality

process

Code Quality

A measure of how well-written, maintainable, and reliable source code is based on factors like readability, complexity, and test coverage

quality

Compatibility

The ability of systems, software, or data formats to work together without modification or special adaptation

core

Containerization

Packaging software code with its dependencies so it can run uniformly across computing environments

infrastructure

Containers

Lightweight, portable units of software that package code and dependencies together to run consistently across different computing environments

infrastructure

Cutover

The point in migration when traffic or operations switch from the old system to the new

migration

Dark Launching

A deployment technique where new features are released to production but hidden from users, allowing testing in real conditions

strategy

Data Governance

A framework for managing data availability, usability, integrity, and security within an organization

data

Data Integration

The process of combining data from different sources to provide a unified view and enable consistent data access across systems

data

Data Migration

The process of transferring data between storage types, formats, or systems while ensuring data integrity and minimal downtime

data

Data Ownership

The principle of assigning responsibility for data quality, access control, and lifecycle management to specific teams or services

data

Data Pipeline

A series of data processing steps that move and transform data from source systems to destination systems

data

Data Protection

Practices and technologies to safeguard data from unauthorized access, corruption, or loss

operations

Database Migration

The process of moving data between databases, including schema changes, data transformation, and platform transitions

data

Database Per Service

A microservices pattern where each service owns and manages its own database, ensuring loose coupling between services

pattern

Deployment

The process of releasing and installing software applications to a target environment where they can be accessed by users

process

Deprecation

The process of marking features, APIs, or components as outdated and planned for removal in future versions

process

DevOps

A set of practices combining software development and IT operations to shorten development cycles and deliver high-quality software continuously

methodology

Digital Transformation

The integration of digital technology into all areas of a business, fundamentally changing how it operates and delivers value

strategy

Disaster Recovery

A set of policies, tools, and procedures to enable the recovery of vital technology infrastructure after a natural or human-induced disaster

operations

Distributed Systems

Computing systems where components located on networked computers communicate and coordinate their actions by passing messages

architecture

Docker

A platform for developing, shipping, and running applications in containers, providing consistent environments across development and production

tool

Document Database

A type of NoSQL database that stores data as semi-structured documents, typically in JSON or BSON format

data

Documentation

Written materials that describe how software works, including guides, references, and specifications

process

Domain Model

A conceptual model of a business domain that incorporates both behavior and data, representing the key entities and their relationships

architecture

Domain-Driven Design

A software design approach that focuses on modeling software based on the business domain and its logic

methodology

ELT

Extract, Load, Transform - a data integration approach where data is first loaded into the target system before transformation occurs

data

Entity

An object defined primarily by its identity rather than its attributes, maintaining continuity through state changes over time

architecture

Envoy

A high-performance open-source edge and service proxy designed for cloud-native applications, commonly used in service mesh architectures

tool

ETL

Extract, Transform, Load - a process for moving and transforming data between systems

data

Event-Driven Architecture

A software architecture pattern where the flow of the program is determined by events such as user actions or messages from other systems

architecture

Facade Pattern

A structural design pattern that provides a simplified interface to a complex subsystem, hiding its complexity from clients

pattern

Feature Flag

A technique allowing features to be enabled or disabled without deploying new code

deployment

Feature Toggle

A technique that allows teams to modify system behavior without changing code, enabling features to be turned on or off dynamically

strategy

Flyway

An open-source database migration tool that uses SQL scripts to version control and apply database schema changes

tool

Git

A distributed version control system for tracking changes in source code during software development

tool

Go-Live

The moment when a system, application, or migration goes into production use, marking the transition from development to operational status

process

Helpdesk

A resource for users to get technical support, troubleshoot issues, and receive assistance with software or systems

operations

High Availability

A system design approach that ensures a specified level of operational performance, typically measured as uptime percentage

infrastructure

Incremental Migration

A migration approach that moves systems or data in small, manageable pieces rather than all at once

strategy

Infrastructure as Code

Managing and provisioning infrastructure through machine-readable configuration files

devops

Integration

The process of combining different systems, components, or software applications to work together as a unified system

core

Interoperability

The ability of different systems, devices, or applications to connect and exchange information effectively

core

Istio

An open-source service mesh platform that provides traffic management, security, and observability for microservices architectures

tool

Kubernetes

An open-source container orchestration platform for automating deployment, scaling, and management of containerized applications

tool

Legacy Modernization

The process of updating or replacing outdated legacy systems with modern technologies to improve performance and maintainability

strategy

Lift and Shift

Moving an application to a new environment with minimal or no changes to its architecture

strategy

Lift, Tinker, and Shift

A migration approach that combines lift-and-shift with minor modifications to optimize applications for the target environment

strategy

Liquibase

An open-source database schema change management tool that tracks, versions, and deploys database changes

tool

Load Balancer

A device or software that distributes network traffic across multiple servers to ensure reliability and optimal resource utilization

infrastructure

Maintenance

Ongoing activities to keep software systems operational, including bug fixes, updates, and performance improvements

operations

Messaging

A communication pattern where systems exchange data through messages, often asynchronously

architecture

Microservices

An architectural style structuring an application as a collection of loosely coupled, independently deployable services

architecture

Migration

The process of moving data, applications, or infrastructure from one environment to another

core

Modernization

The process of updating legacy systems, applications, or infrastructure to leverage current technologies and best practices

strategy

MongoDB

A popular open-source document-oriented NoSQL database designed for scalability and flexibility

tool

Monitoring

The practice of observing and tracking system performance, health, and behavior in real-time

operations

Multi-Model Database

A database management system that supports multiple data models (relational, document, graph) within a single integrated backend

data

NoSQL

A category of database systems that store and retrieve data using mechanisms different from traditional relational databases

data

OCI

Open Container Initiative - an open governance structure for creating industry standards around container formats and runtimes

standard

Optimization

The process of improving system performance, efficiency, or resource utilization through code changes, configuration, or architecture modifications

process

Parallel Run

A migration strategy where old and new systems operate simultaneously to validate the new system before full cutover

strategy

Patching

The process of applying updates to software to fix bugs, address security vulnerabilities, or add minor improvements

operations

Performance

The measure of how efficiently a system executes tasks, typically evaluated through metrics like response time, throughput, and resource usage

quality

Phased Migration

A migration approach that divides the transition into distinct phases, each with specific goals and deliverables

strategy

Pipeline

An automated sequence of processes that move code from development through testing and into production deployment

process

Planning

The process of defining goals, strategies, and steps to achieve successful project outcomes

process

Polyglot Persistence

Using different data storage technologies for different data storage needs within an application

architecture

Pulumi

An infrastructure as code platform that allows defining cloud infrastructure using general-purpose programming languages

tool

Redundancy

Duplication of critical system components to ensure availability and reliability in case of failure

infrastructure

Refactoring

Restructuring existing code without changing its external behavior to improve quality and maintainability

development

Rehosting

A migration strategy that moves applications to a new infrastructure with minimal or no changes, also known as lift-and-shift

strategy

Replatforming

Making targeted modifications to an application to take advantage of cloud capabilities without changing core architecture

strategy

REST

Representational State Transfer - an architectural style for designing networked applications using HTTP methods

architecture

Restore

The process of recovering data, systems, or applications from backups after data loss, corruption, or disaster

operations

Reverse Proxy

A server that sits in front of backend servers and forwards client requests to them, providing load balancing, caching, and security

infrastructure

Rollback

Reverting a system to a previous version after a failed deployment or migration

operations

Scaling

The ability to increase or decrease system capacity to handle varying workloads, either vertically or horizontally

infrastructure

Schema Migration

The process of changing a database schema from one version to another

database

Security

Measures and practices to protect systems, networks, and data from unauthorized access and threats

operations

Service Mesh

A dedicated infrastructure layer for handling service-to-service communication in microservices

infrastructure

Sidecar Pattern

A design pattern where a helper container runs alongside the main application container to provide supporting features like logging or networking

pattern

SOA

Service-Oriented Architecture - an architectural style where applications are composed of loosely coupled, interoperable services

architecture

Standards

Established norms, specifications, or requirements that ensure consistency and interoperability

core

Strangler Fig

A migration pattern where new functionality wraps and gradually replaces the legacy system

pattern

Support

Ongoing assistance provided to users and systems to ensure proper operation, troubleshoot issues, and maintain service levels

operations

Switchover

The process of transferring operations from one system to another, typically during migration or disaster recovery scenarios

process

Technical Debt

The implied cost of additional rework caused by choosing an easy solution now instead of a better approach

development

Terraform

An open-source infrastructure as code tool that enables defining and provisioning infrastructure across multiple cloud providers

tool

Testing

The process of evaluating software to identify defects, verify functionality, and ensure quality

quality

Transition

The process of moving from one state, system, or approach to another, often describing the period during a migration

process

Undo

The capability to reverse changes or operations, returning a system to a previous state

process

Updates

Changes or improvements applied to software to fix issues, add features, or enhance security

operations

Value Object

An object that is defined by its attributes rather than its identity, with no distinct lifecycle

architecture

Version Control

A system for tracking and managing changes to files and code over time, enabling collaboration and history tracking

development