This is a repost of an internal presentation I had given while working at Adobe.
Background
I used to work in the cloud division of Adobe. My team was called the Access Platform back in 2019-20. We were responsible for figuring out available permissions for users depending on their licenses, roles, and many other conditions to finally allow (or deny) them to access applications/features.
Sometime in 2020, we were breaking one of our monoliths into microservices to tackle its shortcomings. The shortcomings were typical of monoliths: it became a dumping yard because of undefined scope, deployments used to fail regularly, it was a single point of failure, etc. In the earlier stages of this initiative, when the new proposed architecture was only on paper, a then colleague of mine noticed the increase in network calls and questioned its possible impact. He noted that sub-routines that were a single API call now needed stitching data from multiple services. Although breaking down the monolith was imperative, this question stuck with me, and I sought an alternative.
Presentation
My research led me to gRPC
, and I advocated its support to the team. The presentation can be found here. Please note that the gRPC
and protobuf
ecosystem has made significant strides since this was created, and some information may be outdated.