Azure API Management offers serverless API management with instant provisioning, automated scaling, built-in high availability, and pay-per-action pricing. It allows users to publish, secure, transform, maintain, and monitor APIs.
In a few clicks, Azure API Management creates a “front-end” which lets internal and external applications exchange data with custom back-end services running on Azure or hosted on-premises. API Management handles all the operations and tasks required for API calls management. These include request authentication and authorization, rate limit and quota enforcement, request and response transformation, logging and tracing, and API version management.
Last week Microsoft announced a new Consumption tier for the creation of a new API Management instance. This tier, being a form of API Management suited for serverless principles will combine both API management benefits along with a more organic fit for applications using serverless technologies.
Here are some of the use cases available with API Management Consumption tier.
- API gateway for microservices with serverless technologies (Functions and Logic Apps).
- API gateway with a simplified and secure front-end for serverless Azure resources (Service Bus, Azure Storage, etc).
- API gateway for regular back-ends where API traffic is moderate most of the time.
Comparison of the Consumption tier with the existing ones
Developer and Standard tiers are initial tiers that API Management started with. Two more tiers, Premium for enterprise customers and Basic for entry-level production were added afterward. All these tiers feature relatively high provisioning and scaling latencies as well as non-consumption-based pricing which doesn’t fit well into the serverless application model.
The new Consumption tier uses the same service components but an entirely different architecture that employs shared resources that are dynamically allocated.
Absence of the infrastructure and idle capacity along with high availability, auto-scaling, and pricing based upon usage make this tier perfectly suited for serverless. However, this tier exposes two important limitations to be considered: the limited feature set and enforced usage limits. Below is the summary of the differences between the tiers.
1With the exception of the Developer tier
2Azure Monitor Autoscale available in Standard and Premium tiers
3Availability of a few features varies across the tiers
New features in the Consumption tier
The following new features are currently only available in the Consumption tier but will soon be available in the rest of the API Management tiers.
Bring Your Own Cache (BYOC)
Consumption tier doesn’t come with a built-in cache and requires the use of an externally provisioned, Redis-compatible cache. Response caching allows customers to gain full control over cache configuration, the ability to preload and purge cache content, and ability to scale cache size independently from the API Management service instance that uses it. Azure modifications to the existing caching policies allow seamless work with both integrated and external cache configurations.
Extra flexibility in subscriptions
A named container for a set of API keys, primary and secondary, is called a subscription. Subscriptions had to be owned by a user and supported a single, API product scope whereas now two more subscription scopes – all APIs and a single API are supported. With this support, it is now possible to create keys granting access to an API (or all APIs within an API Management instance) without the need to create a product and add the API (or all APIs) to it first. Each API Management instance now comes with an immutable, all-APIs subscription which allows testing and debugging APIs from within the Test console.
Upcoming Consumption tier features and improvements
- Custom hostnames and certificates
- Upgrade to a higher API Management tier in one click
- Provisioning time improvements
- “Cold start” latency reduction
- Availability of the Consumption tier in every region where API Management is available
- Addition of the “API” support for additional serverless and PaaS resources
Consumption tier is immediately available in the North Central US, West US, West Europe, North Europe, Southeast Asia, and Australia East regions.
- Get started by creating a new service and publish an API by importing a Function or Logic App
- Learn more about the serverless APIs by watching a webinar “Build Serverless APIs with Node.js on Azure Functions”