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 services:
establishing a microservice architecture application including a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function;
storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;
generating a list of unsorted service data associated with a first service of the plurality of services available within a predetermined environment,
wherein said generating the list of unsorted service data comprises deploying a discovery API that observes the first service available within the predetermined environment, and
wherein the predetermined environment is an execution environment wherein the first service available within the predetermined environment is executing;
automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services;
in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting; and
reporting, by the discovery API to the microservices registry hub, data plane service traffic generated by the first service available within the predetermined environment, wherein the list of unsorted service data is based on the data plane service traffic.
2 . 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 service and said generating the list of unsorted service data includes:
receiving, at a microservice control plane, proxied data plane service traffic from the first service; and
reporting, by the control plane to the microservices registry hub, the proxied data plane service traffic generated by the first service available within the predetermined environment, wherein the list of unsorted service data is based on the proxied data plane service traffic.
3 . The method of claim 1 , wherein the index of the plurality of services includes, for each service, 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.
4 . The method of claim 1 , wherein the user confirmation is configured to auto confirm a first pre-sorted service entry based on the first pre-sorted service entry matching a first rule of the predetermined set of heuristic rules.
5 . A method of operating a microservices registry hub that automatically discovers and sorts services:
establishing a microservice architecture application including a plurality of services, the plurality of services are each an application program interface (API) performing a piecemeal function of an overall application function;
storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;
scraping, by a discovery API to the microservices registry hub, source code and documentation associated with a first service of the plurality of services available within a predetermined environment,
wherein the predetermined environment is a source code repository wherein the source code and the documentation associated with the first service available within the predetermined environment is stored, and
wherein the:
generating a list of unsorted service data associated with the first service of the plurality of services available within the predetermined environment,
wherein the list of unsorted service data is based on the source code and the documentation, and
wherein said generating the list of unsorted service data comprises deploying the discovery API;
automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and
in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting.
6 . A method of operating a microservices registry hub associated with a microservice architecture application including 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 method comprising:
storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;
generating a list of unsorted service data associated with each service of the plurality of services available within a predetermined environment,
wherein the predetermined environment is an execution environment wherein each service available within the predetermined environment is executing, and
wherein said generating the list of unsorted service data comprises deploying a discovery API that observes;
automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services;
in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting; and
reporting, by the discovery API to the microservices registry hub, data plane service traffic generated by each service available within the predetermined environment, wherein the list of unsorted service data is based on the data plane service traffic.
7 . A method of operating a microservices registry hub associated with a microservice architecture application including 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 method comprising:
storing, via the microservices registry hub, an index of the plurality of services, wherein the microservices registry hub is configured to implement services of the plurality of services to execution environments;
scraping, by a discovery API to the microservices registry hub, source code and documentation associated with each service available within a predetermined environment,
wherein the predetermined environment is a source code repository wherein the source code and the documentation associated with each service available within the predetermined environment is stored, and
wherein the discovery API;
generating a list of unsorted service data associated with each service of the plurality of services available within the predetermined environment,
wherein the list of unsorted service data is based on the source code and the documentation, and
wherein said generating the list of unsorted service data comprises deploying the discovery API;
automatically pre-sorting the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and
in response to a user confirmation, updating the index of the plurality of services based on the pre-sorting.
8 . The method of claim 7 , 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 services and said generating the list of unsorted service data includes:
receiving, at a microservice control plane, proxied data plane service traffic from the set of executing services; and
reporting, by the control plane to the microservices registry hub, the proxied data plane service traffic generated by the set of executing services available within the predetermined environment, wherein the list of unsorted service data is based on the proxied data plane service traffic.
9 . The method of claim 7 , wherein the index of the plurality of services includes, for each service, 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.
10 . The method of claim 7 , wherein the user confirmation is configured to auto confirm a first pre-sorted service entry based on the first pre-sorted service entry matching a first rule of the predetermined set of heuristic rules.
11 . A system implementing a microservices registry hub associated with a microservice architecture application including a plurality of services, the plurality of services is each an application program interface (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, an index of the plurality of services, the memory further including instructions that when executed by the processor enable the microservices registry hub to implement services of the plurality of services to execution environments; and
a network interface that is communicatively coupled with a discovery API that executes in a predetermined environment,
wherein the predetermined environment is an execution environment wherein a first service of the plurality of services available within the predetermined environment is executing, and
wherein the discovery API is configured to observe the first service available within the 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 service data associated with the first service available within the predetermined environment;
automatically pre-sort the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and
in response to a user confirmation, update the index of the plurality of services based on the pre-sorting; and
reporting, by the discovery API to the microservices registry hub, data plane service traffic generated by the first service available within the predetermined environment, wherein the list of unsorted service data is based on the data plane service traffic.
12 . The system of claim 11 , wherein the index of the plurality of services includes, for each service, 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.
13 . The system of claim 11 , wherein the user confirmation is configured to auto confirm a first pre-sorted service entry based on the first pre-sorted service entry matching a first rule of the predetermined set of heuristic rules.
14 . A system implementing a microservices registry hub associated with a microservice architecture application including a plurality of services, the plurality of services is each an application program interface (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, an index of the plurality of services, the memory further including instructions that when executed by the processor enable the microservices registry hub to implement services of the plurality of services to execution environments; and
a network interface that is communicatively coupled with a discovery API that executes in a predetermined environment, wherein the predetermined environment is a source code repository wherein source code and documentation associated with a first service of the plurality of services available within the predetermined environment is stored
wherein the memory further includes instructions that when executed, cause the processor to:
scrape, by the discovery API to the microservices registry hub, the source code and the documentation associated with the first service available within the predetermined environment;
generate, based on communication from the discovery API, a list of unsorted service data associated with the first service available within the predetermined environment, wherein the list of unsorted service data is based on the source code and the documentation;
automatically pre-sort the list of unsorted service data based on a predetermined set of heuristic rules based on the index of the plurality of services; and
in response to a user confirmation, update the index of the plurality of services based on the pre-sorting.