API Monitoring: Up Is Not Enough
This is a guest blog post from John Sheehan is the CEO of Runscope which provides web service API debugging and testing tools for app developers.
It’s rare to build an application these days that doesn’t use a web service API. Whether it’s a backend service powering your mobile app, a 3rd-party infrastructure or SaaS provider, or just your own internal services, modern applications are becoming increasingly distributed and APIs are gluing it all together.
With these mission-critical services being the lifeblood of your applications, keeping a close eye on them is increasingly important. If a backend service is down it’s likely that your app is down too. If you’re getting back unexpected data, user experience suffers. Just checking for uptime isn’t enough. API monitoring needs to answer the following questions at all times:
Availability: Is the service responding at all?
Performance: How fast is the service responding?
Correctness: When I request data or take an action, do I get back the data I expect?
Most existing HTTP monitoring tools do a great job of answering the first two questions. You can configure them to repeatedly hit your endpoints (typically with simple GET requests) and you’ll get a pretty good idea of availability and response time metrics. As a baseline, every endpoint should be watched this way.
Monitoring for correctness requires a deeper understanding of an API. Most APIs are not read-only and write operations need equal attention. Workflows involving multiple API calls in sequence must also be taken into consideration.
When building Runscope Radar, we knew that proper API monitoring would need to address these areas in depth. We have a flexible assertion framework so that no matter what your API returns, you can verify your app’s expectations are met. Radar can also extract data from responses and pass it to subsequent requests to handle workflows. Integrations with GitHub, Zapier, CircleCI and more mean you can build API testing and monitoring into your existing deployment process.
When a test fails, you need to know about it. By connecting PagerDuty to your Runscope account, you can use your existing on-call alert and notification preferences to find out about API service issues as soon as possible.
PagerDuty customers interested in trying Runscope can sign up here to receive a free Standard account, a $29/month value.