Choose CPU, memory, region, and browser prewarm for your workload. Record them with each
measurement.
Keep the inline recipe as the default
The inline recipe stays with application source and lets Modal reuse cached build layers. Managed
release metadata is optional for this path.
Use a managed Image when an operator needs a release record and an exact Modal object identity.
Managed Image selection remains explicit.
Publish a managed Image
Image builds and canaries can incur Modal charges. Run publication only from a clean source revision
after the operator approves the Environment and Image Builder Version.
The workflow uses the frozen runtime pyproject.toml and uv.lock. It builds the Image, runs the
protected canary, publishes the revision tag, and records the exact object ID. An interrupted run
can resume from its pending manifest. Identity conflicts fail closed.
Resolve the exact Image
The release record binds the mutable name and tag to an Environment, exact Modal object ID, source
revision, lock hashes, builder version, canary result, and publication time.
The standard lifecycle benchmark measured 60 successful lifecycles and 60 successful cleanups. The
managed arm improved p50 by 8.95% and p95 by 3.15% for the tested setup. The paired mean interval
crossed zero. Read the current results before applying the result to
another variant, region, or resource shape.