The term “API” often evokes mixed feelings. Some hear it and smile, because they know that API is a modern way of integrating systems, while others frown upon it based on some bad API management experience.
"API" itself cannot be either bad or good - it is a software solution that facilitates the integration (combination) of various systems, programs, and databases, allowing organizations to exchange data in real-time. And the question is, how do we use this technology to create business solutions?
Based on our observations, it goes something like this (in the context of one company or product):
- When you've built 1-3 APIs [*1], everything is fine and you feel like you will dominate the internet.
- When you've built 5+ APIs, you start thinking about how to manage them, to have shared security methods, to avoid overlapping functions, how to monitor them together, and other features that I will list below.
- When you've built 10+ APIs, you realize that maintaining the API farm in order takes up significant time and is no longer fun. Often at this stage, we observe engineers working for the API, rather than the API working for the engineers (and ultimately for the company or product).
- When you've built 20+ APIs, you understand that without proper API management, the integration mechanism is already a barrier to development and requires more investment than it gives back. In short - headaches.
Given today's technology trends (read as - API First Approach, API Economy, APIs for All), it is reasonable to talk about how to properly manage a company's API farm.
A good way to manage the API farm is to introduce a standardized "API management" tool [*2].
As a company that develops software "from scratch", we have always had a higher barrier to accepting "universal" tools that solve problems. Very subjective and egotistic, but a fact. However, as we increasingly encounter API management challenges for our clients, we decided to conduct research and look for solutions focused on specific challenges that are available in the market. A good starting point is the Gartner Magic Quadrant [*3] market research report. Without going into the nuances of the research methodology (which you can read about in [*3] resource), market research in 2021/2022 identified leaders in API management solutions:
- Axway Amplify,
- Mulesoft (Salesforce),
- Software AG, Google (ApiGee),
We had the opportunity to "play" with some of the platforms to gain practical experience.
Although each platform has its pros and cons, they all have a common base functionality that provides good API management.
A summary of the basic functionality for a complete API Platform:
- API portal - intended for API developers and owners to publish their APIs, including access control, testing possibilities, documentation.
- API lifecycle management - allows an organization to manage the state of an API at each stage of development. A typical API lifecycle progresses from design to development and then to testing, publishing, use, and finally, decommissioning.
- API policy management - controls the lifecycle of policies used for defining and managing APIs. API policies have the same process as APIs - from development to decommissioning. Many API management platforms provide users with ready-made policies that control API traffic, improve security, enhance performance, and increase API value. These policies can be implemented without writing code or modifying business system interfaces.
- API analytics - accumulates and reflects various aspects of API operation and business indicators. This data can be used to gain insight into API error and performance limitations, as well as API usage patterns and trends.
- API Gateway - processes API requests. API gateway can also be used as a management tool of microservice architecture and to rationalize integrations among systems of different companies (B2B) as an alternative to other approaches, like EDI (electronic data interchange) services.
The main benefits of using API platforms
API is a significant concept in linking data sources necessary for automation of processes or creating a digital business. However, diverse standards, guidelines and tech environments for API coding are often used by independent developer teams (companies, departments etc.). As a result:
- APIs are duplicated - new APIs are developed without realizing there are APIs like that developed before.
- Safety measures and access control mechanisms are duplicated or worse - not used at all.
- Operations monitoring mechanisms are duplicated or worse - not used at all.
- API standards differ significantly within one organization.
Therefore, the benefits of a unified API management platform are:
- Unified access for all the API services and thus simplifying the use of API for the developers.
- Increased development efficiency by API services being easier to find, the documentation - simpler to browse, and the tests - more easy to perform before using the services in other softwares.
- Unified security, usage control and transparency within the organization.
- Quicker implementation of new business solutions, since no more time is wasted on the aspects described above.
So, yes, following the research results, we have decided to use Axway Amplify Platform from now on in the projects requiring API management standardization.
If you want to find out more about API management, please do not hesitate to get in touch.
- [*1] For our engineer friends, a clarification of what we mean by API - it is an interface that can implement one or more interface resources (endpoints)
- [*2] Definition: https://en.wikipedia.org/wiki/API_management
- [*3] https://en.wikipedia.org/wiki/Magic_Quadrant