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
Anti-Corruption Layer
A pattern that isolates a system from external systems by translating between their models, preventing corruption of internal domain models
API
Application Programming Interface - a set of definitions and protocols that allows software components to communicate with each other
API Gateway
A server that acts as a single entry point for API calls, handling routing, composition, and cross-cutting concerns
API Versioning
The practice of managing changes to an API over time while maintaining backward compatibility for existing consumers
Automation
The use of technology to perform tasks with minimal human intervention, often applied to testing, deployment, and infrastructure management
Backup
A copy of data or system configurations stored separately to enable recovery in case of data loss, corruption, or disaster
Backward Compatibility
The ability of new versions to work with data or interfaces from older versions
Blue-Green Deployment
A release strategy that maintains two identical production environments, allowing instant switching between versions with zero downtime
Bounded Context
A central pattern in Domain-Driven Design that defines clear boundaries within which a model is defined
Branching
Creating parallel lines of development in version control to work on features or fixes independently
Breaking Change
A modification to software that causes existing functionality or integrations to stop working as expected
Business Continuity
Planning and preparation to ensure that critical business functions can continue during and after a disaster or disruption
Canary Deployment
A deployment strategy that rolls out changes to a small subset of users before deploying to the entire infrastructure
CI/CD
Continuous Integration and Continuous Deployment - practices for automating code integration and delivery
Cloud Migration
The process of moving data, applications, and workloads from on-premises infrastructure to cloud-based services
Cloud-Native
An approach to building and running applications that fully exploits the advantages of the cloud computing delivery model
CloudFormation
AWS service that provides infrastructure as code capabilities for provisioning and managing AWS resources using templates
Code Cleanup
The process of improving code quality by removing dead code, fixing style issues, and improving readability without changing functionality
Code Quality
A measure of how well-written, maintainable, and reliable source code is based on factors like readability, complexity, and test coverage
Compatibility
The ability of systems, software, or data formats to work together without modification or special adaptation
Containerization
Packaging software code with its dependencies so it can run uniformly across computing environments
Containers
Lightweight, portable units of software that package code and dependencies together to run consistently across different computing environments
Cutover
The point in migration when traffic or operations switch from the old system to the new
Dark Launching
A deployment technique where new features are released to production but hidden from users, allowing testing in real conditions
Data Governance
A framework for managing data availability, usability, integrity, and security within an organization
Data Integration
The process of combining data from different sources to provide a unified view and enable consistent data access across systems
Data Migration
The process of transferring data between storage types, formats, or systems while ensuring data integrity and minimal downtime
Data Ownership
The principle of assigning responsibility for data quality, access control, and lifecycle management to specific teams or services
Data Pipeline
A series of data processing steps that move and transform data from source systems to destination systems
Data Protection
Practices and technologies to safeguard data from unauthorized access, corruption, or loss
Database Migration
The process of moving data between databases, including schema changes, data transformation, and platform transitions
Database Per Service
A microservices pattern where each service owns and manages its own database, ensuring loose coupling between services
Deployment
The process of releasing and installing software applications to a target environment where they can be accessed by users
Deprecation
The process of marking features, APIs, or components as outdated and planned for removal in future versions
DevOps
A set of practices combining software development and IT operations to shorten development cycles and deliver high-quality software continuously
Digital Transformation
The integration of digital technology into all areas of a business, fundamentally changing how it operates and delivers value
Disaster Recovery
A set of policies, tools, and procedures to enable the recovery of vital technology infrastructure after a natural or human-induced disaster
Distributed Systems
Computing systems where components located on networked computers communicate and coordinate their actions by passing messages
Docker
A platform for developing, shipping, and running applications in containers, providing consistent environments across development and production
Document Database
A type of NoSQL database that stores data as semi-structured documents, typically in JSON or BSON format
Documentation
Written materials that describe how software works, including guides, references, and specifications
Domain Model
A conceptual model of a business domain that incorporates both behavior and data, representing the key entities and their relationships
Domain-Driven Design
A software design approach that focuses on modeling software based on the business domain and its logic
ELT
Extract, Load, Transform - a data integration approach where data is first loaded into the target system before transformation occurs
Entity
An object defined primarily by its identity rather than its attributes, maintaining continuity through state changes over time
Envoy
A high-performance open-source edge and service proxy designed for cloud-native applications, commonly used in service mesh architectures
ETL
Extract, Transform, Load - a process for moving and transforming data between systems
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
Facade Pattern
A structural design pattern that provides a simplified interface to a complex subsystem, hiding its complexity from clients
Feature Flag
A technique allowing features to be enabled or disabled without deploying new code
Feature Toggle
A technique that allows teams to modify system behavior without changing code, enabling features to be turned on or off dynamically
Flyway
An open-source database migration tool that uses SQL scripts to version control and apply database schema changes
Git
A distributed version control system for tracking changes in source code during software development
Go-Live
The moment when a system, application, or migration goes into production use, marking the transition from development to operational status
Helpdesk
A resource for users to get technical support, troubleshoot issues, and receive assistance with software or systems
High Availability
A system design approach that ensures a specified level of operational performance, typically measured as uptime percentage
Incremental Migration
A migration approach that moves systems or data in small, manageable pieces rather than all at once
Infrastructure as Code
Managing and provisioning infrastructure through machine-readable configuration files
Integration
The process of combining different systems, components, or software applications to work together as a unified system
Interoperability
The ability of different systems, devices, or applications to connect and exchange information effectively
Istio
An open-source service mesh platform that provides traffic management, security, and observability for microservices architectures
Kubernetes
An open-source container orchestration platform for automating deployment, scaling, and management of containerized applications
Legacy Modernization
The process of updating or replacing outdated legacy systems with modern technologies to improve performance and maintainability
Lift and Shift
Moving an application to a new environment with minimal or no changes to its architecture
Lift, Tinker, and Shift
A migration approach that combines lift-and-shift with minor modifications to optimize applications for the target environment
Liquibase
An open-source database schema change management tool that tracks, versions, and deploys database changes
Load Balancer
A device or software that distributes network traffic across multiple servers to ensure reliability and optimal resource utilization
Maintenance
Ongoing activities to keep software systems operational, including bug fixes, updates, and performance improvements
Messaging
A communication pattern where systems exchange data through messages, often asynchronously
Microservices
An architectural style structuring an application as a collection of loosely coupled, independently deployable services
Migration
The process of moving data, applications, or infrastructure from one environment to another
Modernization
The process of updating legacy systems, applications, or infrastructure to leverage current technologies and best practices
MongoDB
A popular open-source document-oriented NoSQL database designed for scalability and flexibility
Monitoring
The practice of observing and tracking system performance, health, and behavior in real-time
Multi-Model Database
A database management system that supports multiple data models (relational, document, graph) within a single integrated backend
NoSQL
A category of database systems that store and retrieve data using mechanisms different from traditional relational databases
OCI
Open Container Initiative - an open governance structure for creating industry standards around container formats and runtimes
Optimization
The process of improving system performance, efficiency, or resource utilization through code changes, configuration, or architecture modifications
Parallel Run
A migration strategy where old and new systems operate simultaneously to validate the new system before full cutover
Patching
The process of applying updates to software to fix bugs, address security vulnerabilities, or add minor improvements
Performance
The measure of how efficiently a system executes tasks, typically evaluated through metrics like response time, throughput, and resource usage
Phased Migration
A migration approach that divides the transition into distinct phases, each with specific goals and deliverables
Pipeline
An automated sequence of processes that move code from development through testing and into production deployment
Planning
The process of defining goals, strategies, and steps to achieve successful project outcomes
Polyglot Persistence
Using different data storage technologies for different data storage needs within an application
Pulumi
An infrastructure as code platform that allows defining cloud infrastructure using general-purpose programming languages
Redundancy
Duplication of critical system components to ensure availability and reliability in case of failure
Refactoring
Restructuring existing code without changing its external behavior to improve quality and maintainability
Rehosting
A migration strategy that moves applications to a new infrastructure with minimal or no changes, also known as lift-and-shift
Replatforming
Making targeted modifications to an application to take advantage of cloud capabilities without changing core architecture
REST
Representational State Transfer - an architectural style for designing networked applications using HTTP methods
Restore
The process of recovering data, systems, or applications from backups after data loss, corruption, or disaster
Reverse Proxy
A server that sits in front of backend servers and forwards client requests to them, providing load balancing, caching, and security
Rollback
Reverting a system to a previous version after a failed deployment or migration
Scaling
The ability to increase or decrease system capacity to handle varying workloads, either vertically or horizontally
Schema Migration
The process of changing a database schema from one version to another
Security
Measures and practices to protect systems, networks, and data from unauthorized access and threats
Service Mesh
A dedicated infrastructure layer for handling service-to-service communication in microservices
Sidecar Pattern
A design pattern where a helper container runs alongside the main application container to provide supporting features like logging or networking
SOA
Service-Oriented Architecture - an architectural style where applications are composed of loosely coupled, interoperable services
Standards
Established norms, specifications, or requirements that ensure consistency and interoperability
Strangler Fig
A migration pattern where new functionality wraps and gradually replaces the legacy system
Support
Ongoing assistance provided to users and systems to ensure proper operation, troubleshoot issues, and maintain service levels
Switchover
The process of transferring operations from one system to another, typically during migration or disaster recovery scenarios
Technical Debt
The implied cost of additional rework caused by choosing an easy solution now instead of a better approach
Terraform
An open-source infrastructure as code tool that enables defining and provisioning infrastructure across multiple cloud providers
Testing
The process of evaluating software to identify defects, verify functionality, and ensure quality
Transition
The process of moving from one state, system, or approach to another, often describing the period during a migration
Undo
The capability to reverse changes or operations, returning a system to a previous state
Updates
Changes or improvements applied to software to fix issues, add features, or enhance security
Value Object
An object that is defined by its attributes rather than its identity, with no distinct lifecycle
Version Control
A system for tracking and managing changes to files and code over time, enabling collaboration and history tracking