Skip to content
ammaradam

Who chooses the model: the application or the platform?

1 min read 3 sources Discuss on LinkedIn ›

Pinning a model version gives reproducibility; letting a platform route by requirements eases upgrades. Model retirement schedules make the trade-off concrete.

The idea in brief

Choosing a deployment by name is simple, but it ties an application to a specific model version, region and price. Model versions also have a published end of life. Microsoft's documentation for models in Azure AI Foundry is a useful public example of how that lifecycle works.

A. App pins a versionB. App states its needsApplicationApplicationmodel-x v1latency, cost, regionDeployment v1Platform routerretires410 Gonev1v2records which model answered(gen_ai.response.model)app must changebefore the date
Pinning ties the app to one version until it retires; routing by requirement lets the platform move to a newer one.

Models have a lifecycle

Microsoft's model lifecycle documentation describes stages from Preview through Generally Available, Legacy, Deprecated and Retired. Some details it lists:

  • A standard GA model lifecycle of 18 months from launch, with the retirement date published at launch.
  • At least 60 days' notice before a GA model retires, and at least 30 days for preview models.
  • After retirement, existing deployments stop working and inference requests return 410 Gone.

For an application that hard-codes a deployment, retirement means a change and a redeploy before the date.

Built-in upgrade options

The same docs describe a versionUpgradeOption setting for standard deployments:

ValueBehaviour described in the docs
OnceNewDefaultVersionAvailableUpgrades when a new default version is set
OnceCurrentVersionExpiredUpgrades only at retirement
NoAutoUpgradeNever upgrades; the deployment stops working at retirement

The docs note that provisioned deployments are not upgraded automatically and need a manual migration. They also suggest evaluating replacement models on your own data, comparing quality, latency and cost.

The trade-off

  • Application pins the model: behaviour is reproducible and testable, which matters for evaluation, but every retirement needs a change.
  • Platform chooses by requirement (latency, cost, data location): upgrades are easier, but the exact model behind a response can change, so it needs to be recorded, for example with the gen_ai.response.model attribute from OpenTelemetry.

Limitations

Vendor details vary.

Lifecycle lengths and notice periods differ by provider and model family, and can change.

Automatic upgrades change behaviour.

A newer version can respond differently, so evaluation is still needed before relying on it.

Routing adds a layer.

A platform that picks models on the application's behalf takes on responsibility for explaining what ran.

Sources

Cite this post

Adam, Ammar. (Sep 2026). Who chooses the model: the application or the platform? www.ammaradam.dev. https://www.ammaradam.dev/posts/who-chooses-the-model/.
BibTeX
@article{adam2026whochoosesthemodel,
  title   = {Who chooses the model: the application or the platform?},
  author  = {Adam, Ammar},
  journal = {www.ammaradam.dev},
  year    = {2026},
  month   = {Sep},
  url     = {https://www.ammaradam.dev/posts/who-chooses-the-model/}
}
Share

Comments

Sign in with GitHub to like this post or join the discussion.

Read next