Microservice on-boarding on API Gateway

Not applicable

HI All,

My current API assignment requires to expose the backend which are around 100 microservices through API gateway.

I have come with around a list of 20 API proxies which includes experience APIs as well to expose the backend through gateway.

During one of my review, a comment was raised that I also need to on-board all the microservices on gateway (create pass-through wrapper proxies which will not be exposed to outside world). And my client facing APIs will call these wrapper proxies to interact with microservices rather than directly calling them.

I am not aware of this pattern and do not see any potential benefits. Though I was also told that many customers are using this pattern.

Any comments/ thoughts and reasoning behind this approach?

0 3 740
3 REPLIES 3

If I understood it correctly then you are after creating wrapper APIs to call actual core MS. If you have wrapper interface to call core APIs then one of the benefit I can see

Portable Micro Service interface: You can easily migrate from one API Gateway to other which increase portability. All API Gateway specific logic can be built into proxies or in these wrapper APIs.

I hope general benefits of creating wrapper interface is already known to you. Above is just in context with API Gateway & Micro services.

Note: Make sure that internal call to another wrapper proxy doesn't count as new hop & cost you. There is a way in latest version to mark it local proxy call.

Not applicable

Hi @vivek yadav,

So approx 20 APIs proxies (@ API gateway) will invoke 100 wrappers proxies (@ API gateway) which will have 1 to 1 mapping with 100 microservices.

Pros:

  • Analytics for each microservice based on wrapper service
  • Localised changes at one place as part of the wrapper service in case of change to microservice interface
  • Place holder to add discrete low-level functionality e.g. any enhancement to microservice.

Cons:

  • Performance though minor (see below note)
  • Effort for wrapper proxy deployment, configuration, etc. would be required. However, through automation this can be negligible.

Note: As mentioned by @Ashwani Jain, Use LocalTargetConnection when invoking from API proxy to wrapper proxy.