Skip to main content

Lifecycle & Observability

Updated Feb 04, 2025 ·

API Versioning

Versioning lets you release new updates while keeping the current API available.

TypePurpose
VersionsHandle breaking changes
RevisionsHandle minor fixes or improvements

In Azure API Management (APIM), versions live in a "version set," and revisions let you safely update an API and mark it as "current" when ready.

Version Signposting

APIM provides different ways for clients to specify which API version to use.

Versioning methodHow it worksExample
URL path versioningIncludes the version in the URL path/v2/orders
Header versioningSpecifies the version in request headersApi-Version: 2
Query-string versioningAdds the version as a query parameter?api-version=2

Make sure to choose one versioning strategy for all APIs in a version set to keep usage consistent and predictable.

Canary Releases

A canary release tests updates with a small audience before a full rollout.

  • Create a new revision and test it privately
  • Expose it to a limited group or pilot users
  • Use a revision-specific URL if needed
  • Roll forward when ready or roll back instantly if issues arise

Application Insights

Application Insights helps you monitor your app in real time. It collects telemetry automatically and works across all platforms and languages. It can be used to track availability and trigger alerts to notify your team when something goes wrong.

Telemetry is data your applications send to Application Insights to describe what’s happening. There are three main types:

Telemetry typeDescription
LoggingRecords events in human-readable format with severity levels (info, warning, error)
TracingConnects multiple logs for a full request journey using correlation IDs
MetricsMeasures system performance like counts, averages, and latency over time

It also provides a dashboard where you can pin charts, set alert rules to notify teams via Email, and configure thresholds like SLAs to trigger alerts before users notice issues.

You can also use Kusto Query Language (KQL) investigate and analyze telemetry data.

  • Query logs to find root causes of alerts
  • Save queries for repeated troubleshooting
  • Confirm fixes by checking metrics and logs

For more information, please see Application Insights and Log Analytics.

Azure Resource Manager

Azure Resource Manager (ARM) is the deployment engine in Azure that manages how resources are created, updated, and organized. It uses ARM templates to define what resources to deploy and how they should be configured.

ARM templates can be generated from existing services to replicate configurations elsewhere. In the Azure Portal, use the Automation script or Export template option on an API Management instance. This produces a JSON template and a parameters file containing:

  • Service settings
  • APIs and policies
  • Connected resources

You can modify names or configurations and redeploy to different environments, and it ensures consistent setups across dev, test, and production.

ARM templates follow a structured JSON format. The main sections include:

SectionDescription
ResourcesLists everything to build, including API Management services and child resources like APIs, products, and policies. Each item includes a type, API version, and properties.
Other sectionsMake the template flexible and maintainable

Parameters and variables make templates reusable and easier to manage:

TypePurpose
ParametersValues provided at deployment, like APIM name, location, or SKU
VariablesComputed helpers to build resource IDs, environment names, or reduce duplication

Outputs are optional but useful values returned after deployment:

  • Provide information like gateway URLs or resource IDs
  • Can be used by other scripts to chain deployments

Outputs provide important information for the next step in your automation.