ra2 studio - Fotolia
In the era of cloud and microservice architectures, APIs are the lingua franca of digital business. In the U.S. alone, spending on API management tools will total nearly $3 billion over the next five years, according to analyst firm Forrester Research. Microsoft grabs a piece of that rapidly growing pie with its Azure API Management service.
Microsoft's service allows organizations to publish, manage, secure and monitor APIs, their consumers and usage. The service has three primary components:
- Developer portal is a self-service front end for application developers that provides API key management, an API catalog, documentation and code samples. It also offers OAuth support and API usage analytics.
- API gateway routes API requests to back-end services using a secure proxy gateway that publishes APIs behind a single virtual address. It logs API calls and metadata, and shows usage, performance and system health. It also enforces usage policies like rate limiting, quotas and token validation. The gateway exposes REST APIs that allow external users to integrate with popular code repositories like GitHub.
- Publisher portal allows system administrators to define or import API schema, and configure API usage and security policies using either a GUI or scripts. Administrators can integrate the gateway with an existing enterprise directory to manage users and define role-based access and usage controls. The portal also has dashboards and reports that show API usage and performance metrics.
APIs and the Azure Resource Manager
The Azure API Management service is relatively new and, during its initial rollout, was only available via the Azure classic management portal. However, the classic portal is being replaced by the Azure Resource Manager (ARM), and while ARM can't yet control all services or Azure features, API Management is one that it can.
Microsoft previewed API capabilities on ARM in November 2016, and made it generally available in December. After April 3, 2017, the Azure API Management service will only be available via ARM.
Like all ARM models, API Management is accessed via a blade that integrates API design and policy definition. Admins can perform this with a form-based GUI or coding directly to the OpenAPI specification using a Swagger Editor. Admins can also create policies using either a form-based editor or XML code. The ARM blade also simplifies connecting APIs to other Azure back-end services, starting with the Logic App service. Microsoft said it will gradually add support for other resources.
New API Management users should start with the new ARM portal. For those with existing resources, such as VMs, platform as a service application back ends or APIs created and managed via the classic portal, Microsoft provides detailed migration steps. However, these steps won't be necessary for API instances, since the old portal notifies users of its impending obsolescence with a link to the new portal.
Other features in the Azure API Management service
The first step to use the Azure API Management service is to create a new instance from the portal's dashboard. Once deployed, which can take several minutes, define and add operations to APIs using a tabbed, form interface, or import an API from a JSON description from an existing application. Admins can then bundle one or more APIs into a product, including terms of service and usage quotas, that developers can subscribe to.
The API Management roadmap
As one of the newer Azure services, API Management has a feature set that is somewhat limited, but evolving. The development team has published a roadmap that details the features that are next up in the development queue. Microsoft encourages users to vote and comment on proposed features and suggest new features via a separate feedback forum.
One of the newest additions to the service is role-based access control to define API usage policies. API Management currently provides three built-in roles: contributor, reader and operator. Two more roles -- editor and manager -- are due shortly. Users can also define custom roles for particular APIs.
Although the Azure API Management service doesn't yet offer the same feature set as purpose-built API management tools like Apigee, CA API Management or MuleSoft Anypoint, it makes sense to deploy API gateways in the cloud as managed services, especially as organizations build next-generation applications that assemble microservices and data from various sources outside their data centers.
Use an API management tool to simplify processes
Ask these questions before developing an API
Avoid these API performance issues