KPIs, SLOs and Other API TLAs

There's a fascinating article over at Medium by on API Key Performance Indicators (KPIs) by Michael Leppitsch, who works on Digital Strategies for Global Enterprises at Google Cloud. Here at APImetrics, we are very interested in API Service Level Objectives (SLOs). What's the difference between an SLO and a KPI? SLOs are generally part of a Service Level Agreement (SLA), which typically made between two parties, one exposing the API and the other consuming it. KPIs aren't the only measure A KPI could be the same as an SLO, for instance, that the median latency of an API be less [...]

By | 2018-06-07T10:25:12+00:00 June 5th, 2018|Opinion, Programming Tips|0 Comments

Active + Passive Monitoring = Rapid Problem Resolution

We talk a lot about active and passive monitoring. Passive monitoring is how your stack and services are doing. Active is calling services externally like APImetrics does. But what does this mean in practise? Let's take a real example from a customer. One of their users logged a service complaint, and the internal SRE (Service Reliability Engineering) team checked their passive monitoring. Server logs in Splunk, and APM from AppDynamics both showed green. They were happy that everything was working fine. Then the customer support team checked the APImetrics logs and found that there was a mixture of 4XX [...]

By | 2018-04-04T09:16:00+00:00 March 30th, 2018|Case Studies, Enterprise IT, Programming Tips|0 Comments

APImetrics + Your Passive Monitoring Stack

Your passive monitoring stack is vital in understanding how your applications, and the APIs on which the applications depend, are being used over time and how they are behaving. But there are many questions about the performance and quality of your APIs that these passive tools cannot answer. Passive monitoring can only tell you about APIs that are being used and about requests that are reaching the gateway, and cannot tell you whether the response is correct. To do this, you need an active monitoring tool. APimetrics is the perfect complement to the passive monitoring tools such as those [...]

By | 2018-03-30T10:44:13+00:00 March 30th, 2018|Programming Tips, Support|0 Comments

200 OK? Check Again.

Something we've talked a LOT about is when an API returns a HTTP 200 ok code, but the API returns an error. This can be a challenge for a gateway's passive monitoring and backend services to spot because, technically, nothing went wrong. Take a look at one we had just this morning from the APIs for a major IoT provider. HTTP/1.1 200 OK Date: Wed, 21 Mar 2018 09:10:52 GMT Server: Apache Vary: Accept-Encoding { "status": 2XXX, "body": {}, "error": "An unknown error occurred: Maintenance mode, please check http://status.fakename.com/" } It's vital to have active monitoring that not only [...]

By | 2018-03-23T09:47:05+00:00 March 22nd, 2018|Opinion, Programming Tips|0 Comments

Active Monitoring and API Documentation (Or, “Why Doesn’t My Call Work?”)

One of the issues we frequently see is clients having issues with moving to active external monitoring from internal testing or testing through their API documentation system (like Apiary, Postman or others). The challenge is simple – if you've been making calls to your APIs from within your firewall you may not have experience in the issues that impact those calls. This post explores some of the common issues we see. Custom Endpoint Name When using our import service to pull in from a documentation system, the root URL of the API call might be specific to the documentation [...]

By | 2018-03-20T14:04:02+00:00 March 20th, 2018|Cloud, Programming Tips, Support|0 Comments

API Update Failure: Or, Beware Of The Leopard

One of the ongoing potential API update failures is handling situations that commonly happen whenever you have to update them. Updating an API is a perfectly natural thing to do. In fact, often you have to update an API for essential reasons – security changes, new features and more. But if you’re coming from an enterprise background, where APIs are generally only for internal use it's very easy to forget that there are others dependent on them. So when considering potential API update failure modes, you’re looking at processes and strategies that you need in place for the following: Updating [...]

By | 2018-03-16T13:27:31+00:00 January 30th, 2018|Opinion, Programming Tips|0 Comments

Going SLO: Service Level Agreements and Service Level Objectives

APImetrics is a tool for monitoring the performance and quality of APIs. There are lots of good reasons why you should do that, but one particularly important one is to see if an API meets its Service Level Agreement (SLA). But as a team of Google engineers point out in their O'Reilly book Reliability Engineering: How Google Runs Production Systems, an SLA is actually a legal document (or, in the case of an internal API, a formal agreement between business units). So, the whole SLA places a legal wrapper around one of more Service Level Objectives (SLOs). For an API, [...]

By | 2018-03-27T18:25:09+00:00 December 6th, 2017|Opinion, Programming Tips|0 Comments

Party Like it’s 1999! PHP and XML-RPC Under the Hood

While REST and JSON are in vogue for APIs, there are still plenty of APIs out there using the (not-so) venerable XML-RPC specification, which dates all the way back to 1999. Yes, this is a technology that may be older than your youngest co-workers in the very near future! If you’re calling an XML-RPC API, you’ll probably using a library to wrap the actual interface, and given the age of the technology, you might be using PHP. For example, Wordpress exposes an XML-RPC API, and contains a XML-RPC library, but there are many options available, across many different languages. [...]

By | 2017-07-14T05:07:03+00:00 July 12th, 2017|Programming Tips, Support|0 Comments