MICROSERVICES APPLICATION SERVICE HUB
Operating a microservices registry hub that automatically discovers and sorts services. A microservice architecture application includes a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function. The microservices registry hub stores an index of the services. The microservices registry hub is configured to enable consumption of services in execution environments. The service hub uses observation agents to monitor particular execution environments and generate a list of unsorted service data associated services available within that environment. That list is automatically pre-sorted based on a predetermined set of heuristic rules based on the index of the plurality of services. An administrator later goes through the pre-sorted service data and confirms whether or not that pre-sorting was correct. Upon receiving confirmation, the service is sorted or indexed into the registry in the manner that it was pre-sorted.
1 . A method of operating a microservices registry hub that automatically discovers and sorts APIs:
establishing a microservice architecture application including a plurality of application program interfaces (APIs) that are each exposing a discrete microservice function callable via one or more network requests,
wherein each API is configured to perform a piecemeal function of an overall application function;
storing, via the microservices registry hub, a searchable index of the plurality of APIs, wherein the microservices registry hub is configured to implement APIs of the plurality of APIs to execution environments;
generating a list of unsorted API data associated with a first API of the plurality of APIs available within a predetermined environment;
automatically pre-sorting the list of unsorted API data based on a predetermined set of heuristic rules based on the searchable index of the plurality of APIs; and
in response to a user confirmation, updating the searchable index of the plurality of APIs based on the pre-sorting.
2 . The method of claim 1 , wherein said generating the list of unsorted API data comprises:
deploying a discovery API that observes the first API available within the predetermined environment.
3 . The method of claim 2 , wherein the predetermined environment is an execution environment wherein the first API available within the predetermined environment is executing, the method further comprising:
reporting, by the discovery API to the microservices registry hub, data plane API traffic generated by the first API available within the predetermined environment, wherein the list of unsorted API data is based on the data plane API traffic.
4 . The method of claim 2 , wherein the predetermined environment is a source code repository wherein source code and documentation associated with the first API available within the predetermined environment is stored, the method further comprising:
scraping, by the discovery API to the microservices registry hub, the source code and the documentation associated with the first API available within the predetermined environment, wherein the list of unsorted API data is based on the source code and the documentation.
5 . The method of claim 1 , wherein the predetermined environment comprises a control plane that is communicatively connected to a plurality of data plane proxies associated with the first API and said generating the list of unsorted API data includes:
receiving, at a microservice control plane, proxied data plane API traffic from the first API; and
reporting, by the control plane to the microservices registry hub, the proxied data plane API traffic generated by the first API available within the predetermined environment, wherein the list of unsorted API data is based on the proxied data plane API traffic.
6 . The method of claim 1 , wherein the searchable index of the plurality of APIs includes, for each API, any of:
a name;
a specification;
a version history;
a list of instances;
configuration data associated with any of versions or instances; or
functional runtime group data.
7 . The method of claim 1 , wherein the user confirmation is configured to auto confirm a first pre-sorted API entry based on the first pre-sorted API entry matching a first rule of the predetermined set of heuristic rules.
8 . A method of operating a microservices registry hub associated with a microservice architecture application including a plurality of application program interfaces (APIs) that are each exposing a discrete microservice function callable via one or more network requests, each API performing a piecemeal function of an overall application function, the method comprising:
storing, via the microservices registry hub, a searchable index of the plurality of APIs, wherein the microservices registry hub is configured to implement APIs of the plurality of APIs to execution environments;
generating a list of unsorted API data associated with each API of the plurality of APIs available within a predetermined environment;
automatically pre-sorting the list of unsorted API data based on a predetermined set of heuristic rules based on the searchable index of the plurality of APIs; and
in response to a user confirmation, updating the searchable index of the plurality of APIs based on the pre-sorting.
9 . The method of claim 8 , wherein said generating the list of unsorted API data comprises:
deploying a discovery API that observes each API available within the predetermined environment.
10 . The method of claim 9 , wherein the predetermined environment is an execution environment wherein each API available within the predetermined environment is executing, the method further comprising:
reporting, by the discovery API to the microservices registry hub, data plane API traffic generated by each API available within the predetermined environment, wherein the list of unsorted API data is based on the data plane API traffic.
11 . The method of claim 9 , wherein the predetermined environment is a source code repository wherein source code and documentation associated with each API available within the predetermined environment is stored, the method further comprising:
scraping, by the discovery API to the microservices registry hub, the source code and the documentation associated with each API available within the predetermined environment, wherein the list of unsorted API data is based on the source code and the documentation.
12 . The method of claim 8 , wherein the predetermined environment comprises a control plane that is communicatively connected to a plurality of data plane proxies associated with a set of executing APIs and said generating the list of unsorted API data includes:
receiving, at a microservice control plane, proxied data plane API traffic from the set of executing APIs; and
reporting, by the control plane to the microservices registry hub, the proxied data plane API traffic generated by the set of executing APIs available within the predetermined environment, wherein the list of unsorted API data is based on the proxied data plane API traffic.
13 . The method of claim 8 , wherein the searchable index of the plurality of APIs includes, for each API, any of:
a name;
a specification;
a version history;
a list of instances;
configuration data associated with any of versions or instances; or
functional runtime group data.
14 . The method of claim 8 , wherein the user confirmation is configured to auto confirm a first pre-sorted API entry based on the first pre-sorted API entry matching a first rule of the predetermined set of heuristic rules.
15 . A system implementing a microservices registry hub associated with a microservice architecture application including a plurality of microservices, the plurality of microservices is each an application program interface (API) exposing a discrete microservice function callable via one or more network requests, each API performing a piecemeal function of an overall application function, the system comprising:
a processor;
a memory that stores, associated with the microservices registry hub, a searchable index of the plurality of microservices, the memory further including instructions that when executed by the processor enable the microservices registry hub to implement microservices of the plurality of microservices to execution environments; and
a network interface that is communicatively coupled with a discovery API that executes in a predetermined environment; and
wherein the memory further includes instructions that when executed, cause the processor to:
generate, based on communication from the discovery API, a list of unsorted microservice data associated with a first microservice of the plurality of microservices available within the predetermined environment;
automatically pre-sort the list of unsorted microservice data based on a predetermined set of heuristic rules based on the searchable index of the plurality of microservices; and
in response to a user confirmation, update the searchable index of the plurality of microservices based on the pre-sorting.
16 . The system of claim 15 , wherein the discovery API is configured to observe the first microservice available within the predetermined environment.
17 . The system of claim 16 , wherein the predetermined environment is an execution environment wherein the first microservice available within the predetermined environment is executing, the instructions further comprising:
reporting, by the discovery API to the microservices registry hub, data plane microservice traffic generated by the first microservice available within the predetermined environment, wherein the list of unsorted microservice data is based on the data plane microservice traffic.
18 . The system of claim 16 , wherein the predetermined environment is a source code repository wherein source code and documentation associated with the first microservice available within the predetermined environment is stored, the instructions further comprising:
scraping, by the discovery API to the microservices registry hub, the source code and the documentation associated with the first microservice available within the predetermined environment, wherein the list of unsorted microservice data is based on the source code and the documentation.
19 . The system of claim 15 , wherein the searchable index of the plurality of microservices includes, for each microservice, any of:
a name;
a specification;
a version history;
a list of instances;
configuration data associated with any of versions or instances; or
functional runtime group data.
20 . The system of claim 15 , wherein the user confirmation is configured to auto confirm a first pre-sorted microservice entry based on the first pre-sorted microservice entry matching a first rule of the predetermined set of heuristic rules.