Hey everyone,
I'm currently developing a microservice framework for our teams to tap-into when creating a new microservice in our organization;
One of its goals is to enable our teams to split current workloads to microservices, and build future workloads on top of it - moving away from a current
monolithic infrastructure.
When I've gathered requirements from our teams, one recurring theme was service<->service integrations and communication,
many of which would be ideal for a type safe, contract-honoring RPC framework.
After some digging, and comparing RPC frameworks with HTTP REST APIs, one thing that I had hard time is to come up with a good solution that I could delegate cross-cutting concerts to
easily (mainly, TLS termination, metrics / tracing, OIDC auth, ...).
It seems as though there are quite a few cloud-based, managed API gateway / management solutions available for REST APIs, some of which integrate quite nicely with OpenAPI specs;
I was wondering if anyone here had the chance to incorporate grpc with such a solution, as I'd like the infrastructure to be decoupled from said cross-cutting concerns,
so developers could focus more on business logic than the surroundings.
One solution that came to mind was having a grpc-gateway with json->protobuff transcoding, and attaching the management layer on top of that;
However, I think this loses some grpc semantics that I'd like to have my clients to have, such as streaming and type-safe message descriptors.
Any products, best practices and thoughts would be much appreciated.
Danny