Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

centralized API documentation for microservices [closed]

My team and I are currently building multiple services in parallel. We have the benefit of building all the services from scratch. I would like the ability to automatically display all API endpoints, from all services, in one page/site. This would be helpful because (among other things):

  1. I don't have to go to multiple documentation sites to see what are the available endpoints in my entire "system".

  2. It'll be a good first step to determine if any of the services should be split, combined or simply refactored.

Some of our services are in Django and the rest-swagger module is a great help. But I don't see how I can combine rest-swagger documentation from multiple services into a single documentation page/site.

I'm currently looking through this site and anything related to the Netflix experience but could not find a solution to my problem. Maybe centralized documentation isn't a big deal with 600+ services at Netflix, but that's hard to believe.

Can anyone suggest a tool or method to have a combined API documentation for all services in a microservice architecture?

My ideal scenario of what happens when a service is changed:

  1. I click on the link to see the list of endpoints in my system.
  2. A teammate updates a service and also it's documentation.
  3. I refresh the page I am currently and I see that change made from step #2.
like image 335
rexposadas Avatar asked Jun 04 '15 15:06

rexposadas


People also ask

Is API gateway mandatory for microservices?

If you don't have API Gateways, the client apps must send requests directly to the microservices and that raises problems, such as the following issues: Coupling: Without the API Gateway pattern, the client apps are coupled to the internal microservices.

How does swagger work in microservices?

The OpenAPI (Swagger) Specification has an important role in the move to microservices. Organizations that make the shift from monolithic applications to microservice architecture, usually rely on APIs to expose services to communicate with each other.


1 Answers

With my exp, you have some paths.

  1. http://readme.io/
  2. Make a wiki with JIRA, Redmine.
  3. In Github create a repo for exclusive docs.
  4. Google Docs.
like image 146
yograterol Avatar answered Oct 06 '22 11:10

yograterol