A trained model does not deliver a service merely by sitting in a repository. Model serving puts it into an application’s operating environment: production data flows supply the inputs, an inference service runs the model, and application code uses its output to decide what happens next. The service may process files in batches or respond to application events. section 9.0 section 9.1
Figure 9.4 An abstract view of the production ML implementation. Data is pulled into and collected in a feature creation process, and then it’s submitted to a running instance of the model(s) that are used to generate an inference and an output.
The production path joins data collection, feature creation, a running model, and its resulting output. section 9.4.1
Treat serving as a production delivery task, not a model-only deployment:
- Build data flows that reproduce the features and formats expected by the selected model. Production hardware and systems may differ from those used in development and testing. section 9.4.1
- Build the model server and inference system against the project’s latency, request-volume, and overall cost requirements. section 9.4 section 9.4.2
- Connect outputs to the application and its interfaces; provide logging, monitoring, alerts, and integration signals needed to operate the service. section 9.1 section 9.11
Table 9.5 Using generic execution engines for ML models (view table figure)
| Engine |
Comments |
|---|---|
| In a database: BigQuery ML, Redshift ML, Oracle OCI, Vertica PMML |
Execution in database functions means accepting constraints on how the application runs, but this is a modular and decoupled approach. |
| Application servers: NGINX, Apache Tomcat, Flask, Appserver |
For generic low-scale and permissive latency/cost use cases. Consider because of the low barrier in terms of skills and setup requirements. |
| SPARK-like solutions: Apache SPARK, Databricks, Dataproc |
Good support for bulk and stream processing with permissive cost and latency requirements. |
| Kubernetes, Kubeflow |
Flexible and scalable support for interactive applications with permissive cost requirements. |
| Serverless: Lambda, Cloud Functions, Azure Functions, Cloud Run. |
A flexible, modular, and decoupled approach that’s cost effective and performative in some applications but can become expensive in unpredictable ways. |
Compare generic execution engines—including databases, application servers, stream-processing platforms, Kubernetes-based platforms, and serverless services—against the workload rather than selecting one by default. section 9.4.2
Prototype before committing to the production design
A delivery team can split a development-environment prototype across the data pipeline, model-server design, and user interface, then review the assembled application with stakeholders. This exposes architectural questions while the production design is still being worked out. section 9.10
Before release, test the integrated system, obtain production sign-off, and agree who will govern and support it. Model serving remains an operational responsibility after users receive the system. section 9.1 section 9.11




