The term API is one of the most talked terms in the integration domain with the growth in service based business models and with growing need of an inter-connected Eco-system of software applications and IT systems. Whenever there is anything gaining widespread usage; management becomes a crucial need for it and same is the case with APIs and the result is inception and acceptance of API Management tools and technologies.
What is API Management?
API management is the process of creating and publishing web APIs, enforcing their usage policies, controlling access, nurturing the subscriber community, collecting and analyzing usage statistics, and reporting on performance.
API Management tools help organizations to expose their back-end services in a more formalized and well managed way to the outer world so that developers can discover these services and build applications on top of them for the end-users. API management tools isolate management part from the real business logic implementation in the back-end services which helps in achieving transparency and loose coupling for the back-end services so that back-end services can be tweaked, optimized, upgraded and organized seamlessly while exposing interfaces as a proxy layer in API gateway level.
API Management powers can be fully utilized if API Management best practices are followed for different steps of API Life Cycle. With API Management tools on-boarded, below is the high level flow of communication between an end-user and a back-end service exposed as an API:
The components within Red Circle lie within API Management domain. This is important to mention here that API management product offerings from different vendors available in the market might have some variations for the components bundled in their tools. However, the basic principle remains the same as depicted in the above diagram.
Components of API Management Platforms
With the recent surge in the areas of IoT (Internet of Things) and Micro-services, API management is also heading towards more sophistication and API management products have greatly matured with all the key ingredients rightly combined to offer the solutions that organizations need to expose APIs, on-board developers and improve Time to Market. Any API management solution–be it on-premise or on-Cloud; consists of a number of components which form a unified eco-system to handle the entire API Life-cycle.
At a high level, below are some of the components of an API Management solution:
API Gateway
API Gateway is the heart of entire API management platform and plays the primary role of a mediator between the clients and the back-end services by providing the proxy services. API Gateway is the entry point and it rightly guards against any vulnerabilities as well by enforcing all the configured policies for rate-limiting, flow control, access control, routing etc.
API Management Portal
Some API management products provide separate UI models for API Publishing and administration but we will talk about it as a single portal calling it as a management portal. API Publisher is used to publish the APIs by creating Proxy for any back-end service and doing any needful configurations for the exposed API. Once Proxy has been created and configured, it can be deployed to and it becomes available on the given endpoints with all policies enforced.
API Products also provide additional administrative UI which can be used to perform other administrative tasks including user management, node management, security management etc.
API Developer Portal
For developers, your published APIs need to be cataloged at some place where they can discover your APIs, read about them and subscribe to the APIs with generation of API Keys. This is where API Developer Portal comes into the picture. Developer Portal is also named as API Store by some vendor products.
Developer Portals also provide features for developers to play with the APIs and do the test invocations from the portal itself to get a better understanding and feel of the exposed APIs.
API Analytics Portal
For any organization with a large number of APIs exposed to the clients, analyzing the API usage and having a deep look into the trends is always significant not only to keep serving better but also to foresee any future needs and to take proactive actions. Analytics dashboards are a much sought component of any API management platform and every API management tool has provided rich features for analytical needs.
Using Analytics dashboards, you can analyze API usage trends for different client applications, different geographical regions, different time windows and for a number of other metrics and can drill down or slice into the graphs to find more meaningful information as per your needs.
Recommended Reading: Why API Management is Important?
Pingback: Microservices Vs API: Difference Between API and Microservice