liveBook · Manning

Execution environment

As explained in Delivering Machine Learning Projects: From design to deployment

A development environment is a computing environment configured for building and integrating software before formal testing or production deployment.

An execution environment has different jobs at different delivery stages. In development, it is the working environment where a team builds and iterates on a model and its supporting system. In production, it is where the delivered system runs. Between them, a test environment checks effectiveness and quality; some projects also need pre-production screening before release. section 2.7 section 2.7.2

Treat the development environment as a delivery requirement, not just a place to write code. It may need compilers, GPUs or TPUs, parallel compute, or multicore machines. An MLOps setup should also support rapid iteration, releases, and control over model evolution. Sensitive data may be needed in development, so access and handling must be agreed rather than assumed. section 2.7 section 2.7.1

Before committing to a delivery plan, verify the environment through explicit architecture and access decisions:

  • Map dev, test, production, and any required pre-production layer. Check the proposed architecture against availability, resilience, security, and throughput requirements with stakeholders. section 2.7
  • Check whether source control can hold project artifacts, data is available in development, modeling servers have sufficient compute and memory, and model repositories or feature stores can be hosted. section 2.7.1
  • Establish how artifacts move from development to test, what testing permits promotion to production, and who approves infrastructure access and expenditure. section 2.7.1

A production design must identify its execution environment separately from the development setup. For a smart-building system, that means providing somewhere to run the model that turns sensor data into control signals, alongside messaging, a database, dashboards, and authentication. Exposing a missing component at the design stage leaves time to resolve it before delivery. section 2.7.2

A sprint checkpoint

A team can prototype a dashboard application in development while separately designing its model server and data pipeline. The prototype makes the proposed components concrete, but it does not by itself establish a tested path to production. Confirm that the development setup works for every team member and that the promotion path is understood. section 9.10 section 4.10

Figure 2.4 Environments for delivery; sometimes a pre-prod or staging layer that completely replicates production is also required.

Use the delivery-environments diagram to trace the separation and flow between development, test, production, and optional staging. section 2.7

How Delivering Machine Learning Projects: From design to deployment covers it

How deep it goes
Provides architecture and fitness checks for environments, but does not specify a provisioning procedure or runtime implementation.
Examples
Uses a smart-building model runtime and a dashboard application prototyped in development.
What it assumes
Assumes an ML delivery team and modeling work while defining the roles of development, test, production, and optional pre-production environments.
What you can do after
Evaluate/understand whether development infrastructure is fit for the team and whether a credible path to production exists.
How it connects
Connects environments to MLOps, model evaluation, source control, feature stores, data access, and production architecture.

Also explained in

Compare how 3 books explain execution environment →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Delivering Machine Learning Projects: From design to deployment. The section links point to the parts of the book it draws on.