
Ask HN: How to deal with a bottleneck like a shared public API project - softawre
We have microservices that our team owns end to end but for those to be used from our UIs we have to build public API routes&#x2F;contracts in a separate shared project.  Those pull requests are merged by a specific set of people in the company and it&#x27;s always a bottleneck for us.<p>I assume this is fairly common.  Here are some ideas I&#x27;ve had:<p>- hire more people on the shared project team<p>- redesign the public API in a way where the microservice team itself owns&#x2F;deploys the routes that they &quot;own&quot; (hard to get API consistency this way)<p>What are some ways your organization has solved this?
======
starptech
I think you have to explain the purpose of the "shared" team. From my
understanding, they should ensure quality and stability. In that case, you
have to hire more people to speed up this process or when possible try to
automate such tests.

In the other case, you could remove the "public API routes/contracts shared
project" and replace it with a proxy like [https://konghq.com/kong-community-
edition/](https://konghq.com/kong-community-edition/) which provides better
integration options. Imagine each team could deploy multiple microservices
without to integrate all endpoints on a shared repository because at deploy
time you only have to send the service configuration to Kong and it will route
every incoming request with the specified public DNS to the associated target
URL.

You could maintain a config file per service (like travis.yml) and use it to
configure Kong once when your project is deployed.
[https://github.com/mybuilder/kongfig](https://github.com/mybuilder/kongfig)

Kong is very interesting because you can centralize Authentication, Logging,
Metrics, Traffic for all your services.

~~~
softawre
Yes, they ensure quality/stability and also consistency of our public API for
our customers.

~~~
starptech
Then it takes its necessary time. Why it's a bottleneck? They don't work
fulltime on it?

