Azure Api Management in a nutshell

Micro Service Architecture is still charming and is widely adopted by the software industry to develop the software application in small individual domain based self exuecutables that can be independentally deployed as a single unit.

Trend shows software industry are making Micro Services architecture as there mainstream.

Micro Service Architecture result in need of Api Management to be part of the Micro Service Architecture.
Question comes Why it’s need to have an Api Management with Micro Services Architecture and what problem it solves.
In this blog we will try to explore thos features of Azure Api Management.

Why API Management?

Api Management is an integration service provided by Microsoft Azure. It is used to publish internal and external APIs or consume your own APi that communicate with the back end API to cater to the need of our various clients.
APM sits between your client and APIs and provide many features on top to your back-end APIs.

Features of API management

  1. Security Door for all the back end APIs
  2. APIs Governing
  3. Help in building APIs strategies/ Analysis
  4. Design, Document, Publish and Analyze

Security

Organizations are exposing their APIs to the end customers which brings us challenge of security threat and hacks which might lead to end of bussiness in some cases.
It is also important to ensure the usage of the APIs is throttled and controlled that supports the load on the back end APIs. APIs need to governed and compliant with regulatory guidelines following authentication and autorization and auditing support.
Api Management supports rate call limits, response caching, Ip filtering, mock responses, set custom headers, usage quota, validate JWT and other custom policies required for business need.

APIs Governing (Exposing the APIs and versioning to external or internal clients)

With rapidly changing demands of customers and market needs. It is really vital for API publishers to ensure that any change that they make do not violate the applications/ clients that consume those APIs.
If the API publishers cannot avoid the breaking change in the API they have to provide the new version of the API to the customer and support the previous verision of the API for the existing customers.
Organization needs to keep track of the usage and performance of the APIs, API management exposes the analytics to ensure the usage, health and performance of APIs.

Api strategy Design and Develop

Api first development is mainstream when working with Distributed Application Architecture that have high degree of complex problems. Api management allows the team to have API first approach which creates the agility to develop team.
Team is focused towards best practises like open api specification, api urls, error handlings, api monitoring and versioning of APIs.

Components of Azure Api Management

  • API Gateway
  • Azure Portal
  • Developer Portal

API Gateway: It is main component of Azure API Management and act as a endpoint of APIM. It provides following benefits.

  • Policy based routing: Routing the client request to the requested back end service.
  • CORS : Set Cross Origin polices request to allow client to call the back end service.
  • Security: Verify Jwt token, certificate, Azure Active Directory based authentication.
  • Rate call limit and usage quota: Restricting call limit for the client based on their subscription.
  • Transformation: Api request of client can be transformed to another format like json to soap vice versa.
  • Response caching: Cache the response of the API to reduce the number of calls going to back end service

Azure Portal

  • Import or Add new back-end API using Open Api specification, web service definition language, WADL, Logic apps, Web Apps and Function App.
  • Api Products: Products are set of APIs that are packaged together with usage quota and the terms of use. Once the Product is published developers can subscribe to it and begin to use it.
  • Set policies for the Apis (Inbound and OutBound policies) which can act globally for all APIs or for single API.
  • Monitoring Insights: Allows insights of API via Azure Application Insight and Azure Monitor.
  • Manage API access for the users.

Developer Portal:


Once the team is ready to expose their API to end customers. The end customer developer can sign up and login to the portal and understand the API with documentation with input and output format based on the contract.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: