[Hawkular-dev] Extra back-end for our front-end

Stefan Negrea snegrea at redhat.com
Mon Aug 17 13:53:04 EDT 2015


Hello,

Just going off the title and original email since I am a bit late to the discussion. The pattern is called API Gateway; here are two good resources about it: https://www.nginx.com/blog/building-microservices-using-an-api-gateway/ and http://microservices.io/patterns/apigateway.html . 

There are advantages and disadvantages to using such pattern but based on the replies to the thread and project history, I think this proposal is a big mistake if implemented. There are so many points to be made about why it should not be done. The UI will go from backend agnostic to something that requires a container to run. We go from being forced to think in terms of microservice architecture to the more comfortable frontend + backend architecture. And I see references to combining calls and calling Java API directly. Then why not support transactions too (via EJB)? And we will be slowly reverting into the architecture that most of us are very comfortable with. Add the maintenance of this backend frontend service, and we are money!

Here are my positive arguments for staying away from the API Gateway pattern:
1) The curent microservices are not very granular and the number is small; there are only 3 major microservices to interact with and the functionality for each is broad.
2) Each microservice can quickly add supporting methods for the UI. This will polish the API of each microservices because it has to be easily consumable.
3) We are forced to stay into microservice mode (it's a mindset!) and we will continue to develop decoupled services.
4) Increased potential of each service to be consumed independently of the whole because: 
  a) the API will be more polished
  b) each service is always used in the mode that will be integrated outside
5) There is no additional place to address service quirks; each service has to solve interface quirks right away to be consumable. I see the API Gateway component as the fastest and first place to accumulate technical debt.


Thank you,
Stefan 


----- Original Message -----
> From: "Heiko W.Rupp" <hrupp at redhat.com>
> To: "Discussions around Hawkular development" <hawkular-dev at lists.jboss.org>
> Sent: Monday, August 17, 2015 6:18:55 AM
> Subject: Re: [Hawkular-dev] Extra back-end for our front-end
> 
> On 17 Aug 2015, at 12:35, Viliam Rockai wrote:
> > It's not only about APIs of separate modules, it's about bringing those
> > APIs together in one place other than the frontend. This way you still
> > get the feedback from the UI team, but the app itself would be more
> > stable, since we'd get rid of multi-step operations being handled by the
> > UI.
> 
> And on top other clients can (re-)use that functionality instead
> of implementing it over and over again.
> 
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
> 


More information about the hawkular-dev mailing list