David O’Neill, CEO of APImetrics, shares with us his insights on the importance of monitoring your API’s health.
APImetrics is a set of web-based tools that make it easy to create, manage, and schedule complex API tests, even those requiring authentication.
Q: What are some examples of crucial data points that developers should track when they want to monitor the performance of their APIs?
Uptime – obviously. A lot of people have a telecommunications ‘mindset’ of “5 nines” or 99.999% uptime… whereas the reality of most web APIs is 99% or worse. Or to put that in another perspective – almost 2 hours a week of downtime!
Second, latency. All of these APIs are slower to respond than developers think and for mobile developers especially, this is critical. A Facebook Graph API search takes over 2 seconds. That’s not including any network issues or how long it takes your app to process the response. 2 seconds is a lot of deadtime to build into your UI.
Q: What are the challenges today in getting developers to understand the importance of monitoring API health, and how does APImetrics address that?
Historically, people haven’t really had to think too much about their interactions with third party services. So the real challenge is getting the message out that while APIs change everything when it comes to creating interesting and better apps – you need to think carefully about the API you pick, its general performance and the impact it will have on other services. We spoke to a client today who are looking to decide on a POI data provider and are using trial calls from APImetrics to build up an outline of the reliability and performance of the leading options (Facebook, Yahoo, Google, and Foursquare) to see which one is best for their needs. Before our service that was almost impossible without huge amounts of work.
Q: Is there any interesting insight on the performance data you’ve gathered so far with APImetrics?
Lots of interesting insight – OAuth is much harder than people think. We strongly recommend looking at OAuth services rather than try and do it yourself. Also there’s a lot of day-to-day variation in the performance of APIs and they all have performance issues through a week that can slow them down to taking as long as 20 seconds to complete a call. It’s important to keep an eye on those numbers so you can be ready for them.
Also, Pingdom doesn’t tell you if an API is down. A lot of our clients have discovered that the hard way!
Q: How are people using APImetrics at the moment?
We’re not seeing any one particular use. Some clients who provide APIs are using it to alert them when there are outages or performance problems. Others are interested in comparing the performance of different sets of APIs in order to make a decision about what to use. Finally, we’re seeing a lot of developers using it to prototype API calls and understand how an API works better so they save development time.