Every few months a team decides to rebuild its internal APIs on gRPC. Ask why, and the answer is usually a benchmark graph from a blog post. Ask what problem it solves for them, and the room goes quiet.
gRPC is a good tool. REST is a good tool. They solve different problems, and the expensive mistake is picking one as an identity instead of picking per API, per consumer. Here is the honest comparison, based on the parts that actually bite in production.
The real difference: the contract
REST, as most teams practice it, is JSON over HTTP with conventions you hold in your head. The contract lives in documentation if you maintain an OpenAPI spec, and in shared memory if you do not.…