API monitoring is the practice of monitoring Applications Programming Interfaces to check if they meet functionality, availability, security, and performance requirements. This is important in the life of an API because it makes sure that applications that depend on the API perform their functions without interruptions. It is also important in making sure that as a developer or API owner, you comply with all the service level agreements involved with the API.
There are different ways of monitoring APIs, and different metrics of the API that need to be monitored. The best way is to use an API monitoring tool to collect and analyze all the metrics that you need to monitor. This helps in making sure that any problems are identified and resolved in good time before they can cause damage or interrupt operations.
In a company, there are different teams involved in the development and maintenance of an API. In such a setup, the teams need to keep a closer eye on different metrics of the API. For instance, the API application managers will be interested in keeping track of different metrics compared to those that will be of interest to the infrastructure team.
However, all these teams need to know how to correctly monitor an API, regardless of the metrics that they are keeping track of. There is a lot of documentation on the web about this, but this RapidAPI tutorial has a step-by-step guide explaining what is needed when it comes to monitoring APIs, as well as how to monitor the APIs.
When monitoring an API, teams choose the metrics to monitor depending on the position of the API in its product life cycle. For example, teams will focus on usage and design metrics for a recently deployed API with little to no focus on reliability. On the other hand, they will focus on feature metrics and adding more features for a well-adopted API that has been in the market for a long time.
Metrics for Teams to Monitor
Infrastructure Teams
Uptime
The infrastructure team is tasked with measuring the reliability of an API, expressed as a percentage of the time that the API has been available or working. Uptime is usually included in the Service Level Agreements and API developers from PLANEKS need to conform to them.
Memory and CPU Usage
Memory and CPU usage can be used to determine the responsiveness of an API. If the usage is high, then it means that there is a performance issue or many users affecting the performance of the API. These usage metrics are used for measuring the API health as well as for resource planning and allocation.
Production Managers
Usage Metrics
Product managers measure the rate at which an API is adopted through the API usage metrics. Since there are other teams that are monitoring metrics to make sure that the API is free of errors, the product managers are supposed to make sure that the usage of an API grows over time.
Time to First Transaction Metrics
The time it takes for developers to initiate a transaction using an API is very important when it comes to tracking developer experience. This gets even more essential for those developing open APIs that attract partners and third-party developers.
Product managers need to keep track of this time to make sure that developers adopting the API can set it up and have everything running within a short period of time. If such time is longer than expected, then it means that there is something wrong with the API, its documentation, or even its tutorials that need to be changed.
Consumer Metrics
Product managers measure the usage of an API by getting the usage metrics as mentioned above. However, there might be increased usage of an API over a period of time but from a single customer. This makes it important for product managers to measure the monthly active users of an API, also referred to as unique API consumers. They also need to track the top consumers of the API.
Calls Needed to Complete a Transaction Metrics
Product managers are tasked with keeping track of the number of calls needed for a transaction to be initiated and completed. Even though API developers might be happy when getting many calls, it is good practice to make sure that the number of calls required to complete a transaction is low.
For example, if your API requires new customers to make more than three calls for a transaction, it would indicate that you have the wrong endpoints. Product managers track this and notify developers who initiate changes to make the API more flexible and efficient.
Application Managers
API Latency Metrics
Application managers are tasked with monitoring the time taken when data is transferred from its original source to its destination. This is important in tracking the experience of the API consumers. Sometimes, increased memory and CPU usage might not show decreased consumer responsiveness, but latency does.
Rate of Errors Per Minute
The rate of errors per minute metric is used to measure the number of calls in a minute that return status code errors. Application managers need to keep track of this metric to measure how prone to errors an API is.
However, before they can measure the rate of errors, they should make sure that they understand all the errors being returned. For instance, you might get many errors that indicate that there is an issue with your API’s code. On the other hand, those errors could also be a result of issues from the user side.
RPM (Requests Per Minute)
Application managers use RPM as a performance metric to compare database and HTTP servers. Dedicated servers are preferred for this to be accurate. The goal of monitoring this metric is to ensure that there is efficiency in the API usage and to drive down requests per minute as much as they can.
Conclusion
APIs are the building blocks of many applications today. They have made it possible for software developers to integrate applications to come up with a single system. If one of the APIs in a system has performance issues, it means that the entire system will be compromised, leading to interruptions in operations. This makes API monitoring very important in the life of an API.