2 ms·
> Online processes and APIs are great but we have to have backups and failsafes. At my company everyone has gone API-crazy. There's one activity in a team I us
by steelframe 6y ago
> Online processes and APIs are great but we have to have backups and failsafes.
At my company everyone has gone API-crazy. There's one activity in a team I used to be on that used to require a human review of a configuration change. It's something that developers on the team do just a few times a year. Someone got the idea that this should be fully automated, because I guess it would look good on their performance review if they built a new service?
What we had at the start was a description of what you were trying to do and how you could do it, but it included a manual review of a change request. It was simple, understandable, and required very little human attention.
What we ended up with was an API for a microservice with its methods half-documented and no "big picture" description of what API calls you were supposed to make in which sequence to get the job done. API calls would fail with obscure misspelled error messages, and you'd have to guess what you did wrong in the JSON file you were submitting. And then of course it ended up not working half the time, and you'd have to open support tickets or ping the entire dev team in chat to ask why you weren't getting the results you expected when using the API. Of course the initial response tended to be, "Did you read the documentation?" And the user would have to respond, "Yes. Here is what I did after trying to decipher the so-called documentation, and here's why. Here are the results I need. I'm not getting them. How can I figure out why?" At which point two or three very annoyed developers would ask for details on exactly which API calls were made with which parameters, and they'd poke into logs and whatever, before they figured out yet another untested corner case and manually fix the database entries while saying, "Well don't do that next time."
Sure, if you've got to scale to thousands of requests a week or something, building an API with a microservice might make sense. But there's a point of diminishing returns in trying to automate absolutely everything behind APIs. Some very low QPS things really should have a human in the loop by default.