Skip to main content

Configure the browser explicitly

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.