Developer & Data Platforms terms
64 Developer & Data Platforms terms explained in plain English.
- Apache AirflowApache Airflow is an open-source platform for scheduling, running, and monitoring workflows, especially data pipelines.
- Apache FlinkApache Flink is an open-source engine for processing continuous streams of data as events arrive, rather than in scheduled batches.
- Apache IcebergApache Iceberg is an open table format: a specification for tracking which data files make up a table, along with its schema and history, so that files in cloud storage behave like reliable database tables.
- Apache ParquetApache Parquet is an open-source file format that stores data by column instead of by row.
- Blue-green deploymentBlue-green deployment keeps two identical production environments, 'blue' and 'green.' One serves users while the new version is installed and tested on the other; then traffic switches over in one step.
- Canary releaseA canary release rolls out a new software version to a small slice of users or servers first, watches for problems, and only then expands to everyone.
- Change data capture (CDC)Change data capture (CDC) is a technique for detecting every change made to a database, such as new rows, updates, and deletions, and passing those changes to other systems almost immediately.
- CI/CDCI/CD stands for continuous integration and continuous delivery (or deployment).
- Cloud computingCloud computing is the delivery of computing resources, such as servers, storage, databases, networking, and software, over the internet, usually on a pay-as-you-go basis.
- Cloud egress feesCloud egress fees are charges cloud providers apply when data leaves their network, such as when users download files, data moves to another cloud, or backups are restored to an office.
- Cloud region and availability zoneA cloud region is a geographic area, such as Canada Central in Toronto or Canada East in Quebec City, where a cloud provider operates data centres.
- Code reviewCode review is the practice of having one or more developers examine code changes before they're added to a project, usually through a pull request.
- CompilerA compiler is a program that translates source code written in a programming language, such as C, C++, Rust, or Go, into machine code or another lower-level form that a computer can execute.
- Data contractA data contract is an agreement between the team that produces data and the teams that use it, defining what the data looks like, what quality to expect, who owns it, and how changes will be handled.
- Data lakeA data lake is a large, central storage system that holds raw data in its original format, structured tables, logs, documents, images, and sensor readings, until someone needs to analyze it.
- Data lakehouseA data lakehouse is a data architecture that stores data cheaply in open file formats, like a data lake, but adds the reliable tables, transactions, and fast queries of a data warehouse.
- Data warehouseA data warehouse is a central database designed for analysis rather than day-to-day transactions.
- dbt (data build tool)dbt (data build tool) is a widely used tool for transforming data inside a warehouse or lakehouse.
- DebuggingDebugging is the process of finding, understanding, and fixing errors, called bugs, in software or systems.
- DevOpsDevOps is a set of cultural values and practices that bring software development and IT operations together, so teams share responsibility for building, releasing, and running software.
- Distributed tracingDistributed tracing tracks a single request, like a click on 'Buy now,' as it travels through all the services that handle it, recording how long each step took and where errors occurred.
- DockerDocker is a platform for building, sharing, and running software containers, which package an application with everything it needs.
- DORA metricsDORA metrics are four measures of software delivery performance identified by the DevOps Research and Assessment (DORA) program: deployment frequency, lead time for changes, change failure rate, and time to recover from failures.
- eBPFeBPF is a technology that lets developers run small, verified programs inside the Linux kernel without changing kernel code or loading risky modules.
- ELT vs ETLETL (extract, transform, load) and ELT (extract, load, transform) are two ways to move data into an analytics system.
- Feature flagsFeature flags, also called feature toggles, are switches in software that turn a feature on or off without deploying new code.
- Fork (software)A fork is a copy of a software project that someone develops independently.
- GitGit is free, open-source version control software that tracks changes to files, especially source code.
- GitOpsGitOps is a way of running systems in which the desired state of infrastructure and applications is stored in a Git repository, and automated agents continuously make the live environment match it.
- HelmHelm is a package manager for Kubernetes.
- Hybrid cloudHybrid cloud is an IT setup that combines an organization's own on-premises servers or private cloud with public cloud services such as AWS, Azure, or Google Cloud, connected so data and applications can work across both.
- IaaS vs PaaS vs SaaSIaaS, PaaS, and SaaS describe three levels of cloud services.
- Infrastructure as code (IaC)Infrastructure as code (IaC) means defining servers, networks, databases, and other cloud resources in text files that tools can apply automatically, instead of clicking through consoles.
- Internal developer portalAn internal developer portal is a single website where a company's developers can find every service, its owner, documentation, health, and the self-service actions they need, such as creating a new project.
- JSONJSON (JavaScript Object Notation) is a lightweight, text-based format for representing data as labelled values, lists, and nested groups, using curly braces and quotation marks.
- KubernetesKubernetes is an open-source system for running containerized applications across a cluster of machines.
- Low-code platformA low-code platform is software that lets people build applications, forms, and automated workflows mainly through visual, drag-and-drop tools, with little or no traditional programming.
- Merge conflictA merge conflict occurs when version control software such as Git tries to combine changes from different branches but finds that the same lines of a file were changed in different ways.
- Message queueA message queue is software that temporarily holds messages, such as orders, emails to send, or jobs to process, passed from one part of a system to another.
- MicroservicesMicroservices is an architecture style that builds an application as many small, independent services, each handling one business capability and communicating over the network.
- MonorepoA monorepo is a single version control repository that holds many projects, such as apps, services, and shared libraries, rather than splitting each into its own repository.
- Multi-cloudMulti-cloud is a strategy of using cloud services from more than one provider, such as running some systems on Microsoft Azure, others on AWS, and analytics on Google Cloud.
- NoSQL databaseA NoSQL database is a type of database that stores data in formats other than traditional rows and tables, such as JSON-like documents, key-value pairs, wide columns, or graphs.
- ObservabilityObservability is how well you can understand what's happening inside a software system from the data it produces, usually logs, metrics, and traces.
- Open-source licenceAn open-source licence is a legal licence that gives anyone permission to use, study, modify, and share software's source code, under certain conditions. 'Permissive' licences such as MIT and Apache 2.0 allow almost any use, including in commercial products. 'Copyleft' licences such as the GPL require that modified versions you distribute also be shared under the same licence.
- Platform engineeringPlatform engineering is the practice of building an internal platform, a curated set of self-service tools, templates, and infrastructure, so product developers can build, deploy, and run software without becoming infrastructure experts.
- Programming languageA programming language is a set of words, symbols, and rules that people use to write instructions for computers.
- Pull requestA pull request (PR) is a request to merge a set of code changes from one branch into another, usually the main project.
- Rate limitingRate limiting is a technique that controls how many requests a person, app, or IP address can make to a service within a set time, such as 100 requests per minute.
- Regular expressionA regular expression, often called regex, is a compact pattern that describes text to search for, match, or replace.
- REST APIA REST API is a way for software systems to communicate over the web using standard HTTP requests.
- Semantic layerA semantic layer is a shared set of business definitions, such as what counts as 'revenue,' 'active customer,' or 'churn,' that sits between raw data and the tools people use.
- Serverless computingServerless computing is a cloud model where developers write code that runs only when triggered, such as by a web request, file upload, or schedule, while the cloud provider handles all servers, scaling, and maintenance.
- Service meshA service mesh is a dedicated infrastructure layer that manages how microservices talk to each other: encrypting traffic, retrying failed calls, balancing load, and recording what happened.
- Site reliability engineering (SRE)Site reliability engineering (SRE) is an approach to running production systems that treats operations as a software problem.
- Software bill of materials (SBOM)A software bill of materials (SBOM) is an inventory of every component inside a piece of software: open-source libraries, their versions, and where they came from.
- Source codeSource code is the set of written instructions, in a programming language such as Python, JavaScript, or C, that programmers create to build software.
- Structured loggingStructured logging means writing log entries as consistent, named fields, usually in JSON, rather than as free-form sentences.
- Trunk-based developmentTrunk-based development is a way of working where every developer merges small changes into a single main branch, the 'trunk,' frequently, usually at least once a day.
- Unit testingUnit testing is the practice of writing small automated tests that check individual pieces of code, such as a function that calculates tax, to confirm they produce the right results.
- Version controlVersion control is a system that records changes to files over time, letting people see who changed what and when, restore earlier versions, and work on the same project without overwriting each other.
- WebhookA webhook is a way for one app to automatically notify another the moment an event happens, by sending a message to a web address the other app provides.
- WebSocketWebSocket is a communication standard that keeps a persistent, two-way connection open between a web browser or app and a server, so either side can send messages instantly at any time.
- YAMLYAML is a text format for writing structured data, mainly configuration files, that uses indentation and simple dashes instead of brackets and quotation marks.