One API feeding all services best practice

I currently work at a company with about 50 microservices spread across the infrastructure. These range from NodeJS apps, Elixir/Phoenix apps, Ruby/Rails apps, and a handful of Go services. We have a single API Gateway that all of these services talk to. No one app knows anything about the other. I’m wondering how practical this is if this is a common practice in larger companies that span hundreds if not thousands of services?

For example, does Google or Uber have a single API that feeds all their systems at the top level?

If this approach I’m speaking of isn’t practical, what is the standard approach for having a multi-service architecture?

Go to Source
Author: Trenton Tyler