Tuesday, April 12, 2016

Introduction to Azure API Management

APIs been there for many decades and it’s an integral part of many applications including desktop and web and mobile solutions. Recently, the momentum of API has tremendously increased because businesses wants to integrate their applications with their vendors and partners, web companies wants to enable newer business models, governments wants to expose their data to citizen developers to build newer insights and solutions for the betterment of the society. The secondary reason for the enormous adoption of the API Application is due to the technical evolution such as Server less application development, Micro Services, Containerization etc.,.

API applications are just like any other web applications without a user interface, however the requirements an API solution are very similar to web applications. For e.g. Authentication and Authorization, discoverability, ease of access, Logging, monitoring and finally cross platform support. Any typical solution development has two key parts 1. Functional components 2. Non-Functional components. Functional components are basically the core of the problem that you are solving for example if you are a developer at a Pharma company and you’re building an API App that would expose the list of medicines that your company has developed. Example for the nonfunctional components would be building an authentication module for securing your API app against malicious user or a system or enabling analytics for API etc.

Businesses has to make significant investment in building the nonfunctional components required to make a successful API strategy, similarly if an enterprise has built internal APIs way back using legacy technologies and looking for exposing these APIs to the external world, it would be extremely difficult. So Microsoft has come up with a new offering to bridge the gap between API developers and consumers.

Building Blocks of Azure API Management

Azure API Management provides powerful capabilities for businesses to offload the complex management and delivery of APIs. Business can bring in any APIs built on any language and hosted anywhere to Azure and let API management to take care of the complete lifecycle of the API. Below are the key benefits of using Azure API Management.

Benefits of API Getway

  • Accepts API request from the clients and routes it to APIs hosted at azure or anywhere including on-premise 
  • Validates the request for security
  • Apply quotas and limitation per client or customer
  • Convert the API response to desired format, for example if your API outputs XML and the desired format is JSON, Azure API management does the conversion on the fly
  • Cache the responses
  • Logging and Monitoring

 Publisher Portal

  • Define or import API schema.
  • Create package or subscriptions by bundling one or more APIs
  • Set up configuration policies and restricting no of API request from one customer in a given time Get insights from analytics. User management 

 Developer Portal

  • Automatic design and delivery of API documents/websites using Swagger/Swashbuckler
  • Web console for trying APIs on the fly 
  • Customer onboarding and security token issuing
  • creation Access analytics on customer API usage.