The Azure API Management service doesn't have a free tier you can use to try and test it. Even the Developer tier has a monthly cost (you can use the Consumption tier, which allows you to have a number of free calls each month, but, with that tier, you don't have the developer portal).
So, the question may be: Why should you use it and pay?
One of the answers may be that it depends: it depends on what your business is, what kind of API you have to expose, how much chance you have of modifying your APIs, and so on.
Of course, API Management is not the answer to every scenario, so you should evaluate carefully whether you should use it.
In this section, we'll try to list all the advantages you can leverage if you use API Management, while the bigger disadvantage is, of course, the cost.
The main advantages of using API Management are summarized in the following bullet points:
- It abstracts APIs from their implementation: Using API Management, you can put a layer between your users (developers, applications, and so on) and your actual API, and this layer allows you, in the future, to change backend services with minimal impact on your clients.
- It secures APIs without exposing them directly: You can add authentication and authorization features to your APIs simply by adding rules to your API Management instance. The same API can have different kinds of authorization and authentication without modifying the API code.
- It executes rules on API: As with security, you can add rules to your APIs at the API Management layer without changing your code. Caching, throttling, and quota limits are hard to implement in API code, while it is so simple to add using an API Management rule. On the other hand, you can have different products with the same APIs but with different rules (for example, a free product for a particular API with a call quota limit, and the same API in a paid product without a call quota limit). Another useful scenario for using the API Management rules is to expose old-style APIs (for example, SOAP or the XML web service) in a modern way (REST).
- It simplifies API development: Your developers can develop APIs thinking just from the perspective of application features without having to implement infrastructure features (monitors, security, and so on). This simplifies development, maintenance, and, ultimately, minimizes the cost of development.
- It simplifies API versioning: Thanks to the versioning features provided by API Management, you can have multiple versions of the same API exposed simultaneously.
- It affords developer, product, and subscription management out of the box: API Management provides you with an infrastructure to manage developers, products, and subscriptions, both with a portal as well as with the REST API. You can integrate these features with OAuth2, Azure Active Directory, and so on. If you don't use API Management, you should consider the cost of implementing the management functions (API, portal, and suchlike) and maintenance.
- It offers API monitoring: If your business entails selling services, it is very important to be able to monitor the consumption of the same API by individual customers. API Management provides out-of-the-box monitoring without having to implement anything in your APIs.
- API documentation: The API Management developer portal allows you to give your customers the documentation, test consoles, and everything else they need to use your APIs in the right way, and you can do so without writing any lines of code.
To conclude, there are scenarios in which it makes sense to have a fixed monthly cost of managing API Management, such as, for example, companies that sell services, or companies that need to modernize old-style APIs but cannot do so on account of the fact that the cost of the modification is high.