Member-only story
Software Development Principles
When Microservices Meet Unpredictable APIs
Practical Steps to Minimize Downtime and Preserve User Trust
I’ve been working as a software engineer through eras of major framework changes and shifting architectural patterns.
Among many, there’s one constant in all this changes, though: we almost always rely on some form of external service to add functionality or handle tasks that don’t make sense to build ourselves from scratch.
It can be a game-changer when it works smoothly, but also become a huge stressor the moment that external API decides to throw errors, slow down, or outright fail.
I think back to a project from several years ago, when we had a fairly large monolithic application that handled data transformations for clients in different fields.
For our new feature, we integrated with an external service that purported to manage advanced data processing at high speed.
In demos, it looked fantastic: it returned sample data in under 200 milliseconds, offered flexible endpoints, and had documentation that seemed thorough.
Once we pulled the trigger and launched it to our actual user base, problems started cropping up.