API Management Service is a Microsoft Azure PaaS service to manage, publish, secure and monitor APIs hosted in Azure API App Service, Azure Kubernetes Service or in any other third party public and private platform. This service is capable to handle all the API related task such as call of API, authentication, authorization, versioning, and quota limit. It is most suited for serverless technology.
There are multiple SKU for APIM and Microsoft has recently announced one more SKU ‘Consumption. As per Microsoft official documentation, APIM Consumption tier suits with below scenario.
- API gateway for microservices implemented using serverless technologies such as Functions and Logic Apps.
- API gateway providing a simplified and secure façade for serverless Azure resources such as Service Bus queues and topics, Azure storage, and others.
- API gateway for traditional backends where API traffic has large spikes but stays low most of the time.
As per the Microsoft Azure portal, below are the primary difference between all the SKU and choose it based on your requirements. The more features and resources then more you have to pay.
There are many use case where APIM can be used, I am going to explain one of them here. Suppose we have multiple API developed in ASP.net Core and all are hosted in Azure API App service. Those API will be accessed/used by other Web App service in the same directory. Some of API should be used by the external customer (externally exposed), and some API should be accessed by a certain internal developer (internally exposed) as per their role. We also want the versioning of all the APIs. In this scenario, the API Management service is the best candidate. It will fulfill all the requirements.