Ask HN: How to deal with a bottleneck like a shared public API project

1 points by softawre ↗ HN
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/contracts in a separate shared project. Those pull requests are merged by a specific set of people in the company and it's always a bottleneck for us.

I assume this is fairly common. Here are some ideas I've had:

- hire more people on the shared project team

- redesign the public API in a way where the microservice team itself owns/deploys the routes that they "own" (hard to get API consistency this way)

What are some ways your organization has solved this?

3 comments

[ 2.8 ms ] story [ 20.0 ms ] thread
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/ 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

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

Yes, they ensure quality/stability and also consistency of our public API for our customers.
Then it takes its necessary time. Why it's a bottleneck? They don't work fulltime on it?