Reproducibility
Reproducibility is the ability to obtain the same or equivalent results by repeating a process with the same relevant inputs, methods, and conditions.
Designing Deep Learning Systems: A guide for software engineers
The ability to repeat model training with the same inputs and obtain comparable results.
- How it is used
- Supports repeatable production training for debugging, troubleshooting, and trustworthy prediction-based decisions.
- How deep it goes
- Explains reproducibility through versioned datasets, tracked run inputs, workflow state, and production service responsibilities.
- Examples
- Uses versioned ImageNet experiments, static dataset snapshots, and an annotated Metaflow data-processing workflow.
- What you can do after
- Operate/configure reproducible training by versioning data and recording code, hyperparameters, workflow state, models, and artifacts.
Read how Designing Deep Learning Systems: A guide for software engineers explains reproducibility →
Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform
Repeatability is the property of automation that produces consistent results when run multiple times.
- How it is used
- Uses configuration as the source of truth for creating, sharing, changing, and scaling infrastructure environments.
- How deep it goes
- Explains configuration drift, version control, immutability, parameterization, modules, and on-demand environments, without detailing a specific IaC implementation.
- Examples
- Uses development-environment recreation, network address changes, shared modules, versioned commits, and on-demand QA environments.
- What you can do after
- Evaluate IaC for reproducibility and apply version-controlled, parameterized configurations to recreate and remove environments.
Data-Oriented Programming: Reduce software complexity
Reproducibility is the ability to recreate the behavior of a computation in another environment using the same relevant inputs and conditions.
- How it is used
- Supports debugging and unit testing by replaying captured function contexts outside the original endpoint or environment.
- How deep it goes
- Explains deterministic arguments, serialization, REPL replay, test fixtures, and external-data limits, but does not develop formal theory.
- Examples
- Uses a nested book catalog, captured JSON arguments, REPL experiments, and unit tests for matching queries.
- What you can do after
- Diagnose/debug with it by capturing inputs, replaying calls, refining behavior, and converting scenarios into repeatable tests.
Read how Data-Oriented Programming: Reduce software complexity explains reproducibility →
Delivering Machine Learning Projects: From design to deployment
Reproducibility is the ability to recreate a computational result from the same specified inputs, components, and procedures.
- How it is used
- Supports model reconstruction and repeatable testing as experimental work moves toward release.
- How deep it goes
- Defines reconstruction through tracked components and recommends experiment records, without prescribing a particular tracking tool or implementation.
- Examples
- Illustrates a lost good-model recipe, rebuilding on different infrastructure, and replacing a problematic component to check a result.
- What you can do after
- Practice/perform reproducible model development by versioning artifacts and recording experimental details needed to rebuild a model.
Read how Delivering Machine Learning Projects: From design to deployment explains reproducibility →
Machine Learning Platform Engineering
Reproducibility is the ability to obtain consistent results when repeating an operation under the same inputs, configuration, and environment.
- How it is used
- Supports reliable ML experimentation, deployment, auditing, and iteration by keeping data, code, configurations, and artifacts aligned.
- How deep it goes
- Explains versioning, automation, modular pipelines, and environment consistency, while deferring detailed algorithmic training mechanics.
- Examples
- Uses labeled dataset splits, automated experiments, Kubeflow preparation pipelines, YOLO training, and versioned RAG configurations.
- What you can do after
- Build it from scratch as a tracked, modular training workflow that executes consistently across environments.
Read how Machine Learning Platform Engineering explains reproducibility →
Machine Learning System Design
Reproducibility is the property of being able to recreate a dataset or computational result from its original source and documented procedure.
- How it is used
- Regenerates datasets reliably during data gathering, preprocessing, updates, and later project work.
- How deep it goes
- Defines documented and tested regeneration procedures, but stops short of prescribing a particular implementation.
- Examples
- Uses manually crafted datasets, omitted preprocessing steps, and regenerated batches as practical examples.
- What you can do after
- Build it from scratch through a documented, tested procedure using the original data source.
Read how Machine Learning System Design explains reproducibility →
Kubernetes for Developers
Reproducibility is the ability to recreate the same application environment from a recorded set of build instructions and inputs.
- How it is used
- Uses containers and declarative Kubernetes configuration to recreate development, staging, and production environments.
- How deep it goes
- Explains recorded build steps and contrasts declarative configuration with imperative commands, without detailing full GitOps practice.
- Examples
- Uses a pseudocode Dockerfile and timeserver deployment and exposure commands as concrete reproducibility examples.
- What you can do after
- Apply declarative Kubernetes configuration across environments and record container construction steps for repeatable deployment.
Read how Kubernetes for Developers explains reproducibility →
Architecting an Apache Iceberg Lakehouse
Reproducibility is the ability to obtain consistent analytical or computational results by repeating a process with the same inputs, versions, and conditions.
- How it is used
- Supports repeatable model training, policy reporting, historical analysis, and disaster recovery across lakehouse environments.
- How deep it goes
- Explains snapshot reads, metadata capture, replication, and path rewriting, but stops short of specifying a complete recovery runbook.
- Examples
- Uses notebook-based training workflows, MLflow outputs, cross-region backups, and preserved public-sector reporting views.
- What you can do after
- Apply snapshot-based reads and metadata controls to repeat training, reproduce historical reports, and reconstruct replicated tables.
Read how Architecting an Apache Iceberg Lakehouse explains reproducibility →
Related concepts
- versioningproduced by · The practice of identifying and managing successive revisions of files, data, models, interfaces, or other artifacts so changes can be tracked and earlier states recovered.
- random seedconfigured by · A random seed is an initial value or state that initializes or controls a pseudorandom process and determines its subsequent outputs.
- snapshotaddressed by · A snapshot is a fixed representation or copy of data or system state as it existed at a particular point in time.
- checklistused by · A structured list of tasks, questions, or criteria used to guide an activity or systematically verify that relevant requirements have been addressed.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.







