In a recent blog post, Microsoft announced a new Azure API Management Consumption tier. This new usage tier allows for "micro based" billing, and aligns with serverless architecture principles including automated scaling, built-in high availability, per action billing and no infrastructure to provision or manage. The new tier also includes a curated feature set that does not consist of features found in existing tiers, including a developer portal and in-product cache.
Azure API Management is a fully managed service that enables customers to publish, secure, transform, maintain, and monitor REST or SOAP APIs. The service is used to create an API façade that acts as a "front door" through which external and internal applications can access data or business logic implemented by custom-built backend services. Azure API Management has traditionally been deployed through a scale unit approach that is metered hourly. This existing model results in billing events being accrued, whether your API gateway is processing requests or not. In this new Consumption tier, the service will be metered based upon usage.
The underlying API Management service components remain the same across existing and consumption tiers, but additional value can be extracted in this new tier. Vladimir Vinogradsky, principal project manager at Microsoft, explains:
Consumption tier uses the same underlying service components as the previous tiers, but employs an entirely different architecture based on shared, dynamically allocated resources. Consequently, it aligns perfectly with serverless computing model, i.e., no infrastructure to manage, no idle capacity, high-availability, automatic scaling, and usage-based pricing, all of which make it an especially good choice for solutions that involve exposing serverless resources as APIs.
However, there are some tradeoffs with the new consumption-based tier, including a curated feature set that does not provide a developer portal and usage limits. The following table provides a feature by feature comparison between the new Consumption tier and the traditional Developer/Basic/Standard/Premium tiers.
Image source: https://azure.microsoft.com/en-us/blog/announcing-azure-api-management-for-serverless-architectures/
Within the new Consumption tier there are two new features that will eventually be made available to other tiers, including Bring Your Own Cache (BYOC) and flexible API key subscriptions. Caching is an important feature in API Management solutions, as it reduces the burden on backend systems when data is frequently requested but does not frequently change. In the Consumption tier, developers will be able to use an externally provisioned Redis-compatible cache. Vinogradsky describes the benefits in using this new approach:
The key benefits of BYOC include 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.
Another common concept found in API Management platforms is the use of API keys as a way to grant access to an API and to track usage, which is often used to rate limit or monetize APIs. Within the new Consumption tier, Microsoft now allows standalone subscriptions to exist that are not associated with a user. There are also two additional subscription scopes including all APIs and a single API. Vinogradsky explains why this is important:
Now it's possible, for example, to create keys granting access to an API (or all APIs within an API Management instance), without needing to create a product and add the API (or all APIs) to it first! Moreover, each API Management instance, now comes with an immutable, all-APIs subscription, which makes it even more straightforward to test and debug APIs within the Test console.
The Azure API Management Consumption tier is currently in preview in North Central US, West US, West Europe, North Europe, Southeast Asia, and Australia East regions. There are currently no charges associated with this tier until January 31, 2019. After that, public preview pricing will take effect. For more information regarding costs, please visit the Azure pricing page.