One of the current hot topics in the API world is API integration. That’s because more businesses use APIs to glue services together, whether provided by other units in the same organization or by third parties. Then they bolt them onto existing processes as part of mission-critical workflows. It’s a bit Rube Goldberg-esque (Heath Robinson-esque to us Brits). Keeping it all working from minute to minute becomes ever more pressing.
Take one particular business domain: video content provision. The average video content provider probably consumes APIs from 10-15 third-party services (both free and paid) to support functionality such as ad serving, authentication, billing, content delivery network management, multi-platform capability, ratings and recommendations, and posting to and from social media. All of those APIs need to be integrated into the content provider’s core processes.
Getting the workflows to work in the testbed is important. You’ve spent weeks wrestling with recalcitrant APIs and finally managed to get all of the test cases to pass. But the system needs to keep on working once it’s exposed to the real world. As my old boss used to say, “No plan survives first contact with the enemy.”
Some of that might be because of load. It could be difficult to simulate the sheer load of a live system in the testbed. For instance, you hit rate limits live that are not seen in test. It could also be the way that users use a system is different from anticipated in the test cases. Everyone might want to watch a certain video. That’s why it’s important to monitor the loads on your system.
But another reason why your system might fail is because the APIs on which it depends stop working properly. APIs are not static. They might fail altogether, or become too slow or too flaky, or stop returning the expected payload. As we’ve said here many times before, you don’t want to find out there’s something wrong with your system from your customers. Least of all from your customers on Twitter or Facebook complaining to their friends!
So, a vital part of API integration is API management, and a vital part of API management is API monitoring. If it’s just one API that you need to integrate, it might involve a lot less time in the testbed. But that isn’t going to stop an API suddenly returning a blank payload. And that’s precisely the kind of failure that might not be obvious at all from logs. After all, the API is still returning something – even if it is an empty piece of JSON.
That’s why if you want to integrate your APIs, you also need to make sure you have integrated API management. And you’ll want to use APImetrics to see what your APIs are doing right now, in the real world, to understand how their performance and quality is changing.