Whats the difference between API Facade and API Gateway?

4,616 views
Skip to first unread message

Amit Chauhan

unread,
Jul 22, 2015, 1:35:46 PM7/22/15
to API Craft
Are they mostly used interchangeably? Facade is usually a simplified layer hiding complexities of the system. So an Aggregator API Or an Orchestrating API qualifies as API Facade Or for that matter any Rest API qualifies as API facade which hides the complex system with a simple interface.

 Is a API Gateway just a special kind of Facade handling other Cross-Cutting concerns like rate limit, authN, authZ, monitoring etc?

Jack Repenning

unread,
Jul 22, 2015, 2:13:52 PM7/22/15
to api-...@googlegroups.com
On Jul 22, 2015, at 10:35 AM, Amit Chauhan <mail.cha...@gmail.com> wrote:

 Is a API Gateway just a special kind of Facade handling other Cross-Cutting concerns like rate limit, authN, authZ, monitoring etc?''

I guess I'd say "façade" is an abstraction (a design pattern, indeed a classic GoF Design Pattern), while "API Gateway" is a concrete realization that *uses* the Façade Pattern (and doubtless other patterns as well).



-- 
Jack Repenning
Repenni...@gmail.com

signature.asc

Chris Mullins

unread,
Jul 22, 2015, 4:37:56 PM7/22/15
to API Craft, repenni...@gmail.com
I might personally go a bit further than that:
  • I would expect an API Gateway to mostly do routing and pass-through. Perhaps some logging, metrics, and the like, but mostly routing and pass-through. 
  • I would expect an API Facade to do much more. The facade would be cracking packets, perhaps doing scatter/gather requests, and even doing content-rewriting. 
I suspect there is significant overlap between the two. 

Cheers,
Chris

G. Hussain Chinoy

unread,
Jul 22, 2015, 6:17:35 PM7/22/15
to api-...@googlegroups.com

I'd flip the two, the api facade/proxy responsibility being more lightweight and closer to pass-through, (more like the GoF usage); and a gateway having more functionality/responsibility, including content mediation and transformation, rate-limiting, caching, etc. To wit, a gateway would be a more specialized proxy, as per the original question's context.

ref. rfc7230 section 2.3 definitions https://tools.ietf.org/html/rfc7230#section-2.3

H

--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+...@googlegroups.com.
Visit this group at http://groups.google.com/group/api-craft.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages