I have backend services some exposing REST APIs, some exposing a bunch of gRPC APIs, and then I need to be able to rapidly define new higher-level API, where one external inbound API call is first gated, then routed to one or more backend service APIs (REST or gRPC), while potentially performing some transformations to the parameters/data passed between multiple backend APIs, and to compute the response based on some business-logic, which is then replied back to the invoker of the external API as reponse.
Is this (requirement described above) something that Tyk suite of offerings could help with ?
What all from the Tyk suite might be useful and how ?
You might want to explore a few different features within Tyk depending on your exact needs for orchestration and transformation:
Universal Data Graph (UDG): If you want to stitch together multiple backends (REST, GraphQL, etc.) into a unified GraphQL endpoint, UDG handles the orchestration and transforms the backend data into your defined schema.
Virtual Endpoints: For complex orchestration that requires custom business logic (like sequential calls where the output of one determines the next), you can use JavaScript-based Virtual Endpoints. This gives you programmatic control to make multiple calls and transform the payloads before returning a response.
Custom Plugins: If you need high-performance or very complex bespoke logic, you can write custom middleware plugins in Go, Python, Lua, or as gRPC plugins to intercept requests, trigger sub-requests to various backends, and perform transformations.
Batch Requests: If you simply want clients to send a single request that Tyk splits into multiple backend calls and aggregates the results, the Batch Request middleware might be helpful.