Microservices application network control plane
Disclosed embodiments are directed at systems, methods, and architecture for operating a control plan of a microservices application. The control plane corresponds with data plane proxies associated with each of a plurality of APIs that make up the microservices application. The communication between the data plane proxies and the control plane enables automatic detection of service groups of APIs and automatic repair of application performance in real-time in response to degrading service node conditions.
1. A method of service group discovery that groups microservices together that perform a logically identifiable application flow comprising:
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; and
identifying a first service group of the plurality of services by:
providing a first input into a first service of the plurality of services;
generating a traversal record via data plane outputs, the first input as data connected to the first input traverses a subset of services of the plurality of services until the subset of services generate a terminal output; and
based on the traversal record, logging the first service group including each of the subset of services traversed by data connected to the first input.
2. The method of claim 1 , wherein the data plane outputs are data plane proxies linked to corresponding services, the data plane proxies communicate proxied data to a control plane.
3. The method of claim 1 , further comprising:
generating a dependency graph of the first service group based on said identifying.
4. The method of claim 1 , further comprising:
generating microservice architecture application analytics on a service group level.
5. The method of claim 1 , wherein said generating further includes:
recording timestamps of the data connected to the first input as each microservice of the subset of services generates data plane outputs; and
measuring latency of the first service group based on the timestamps.
6. The method of claim 5 , further comprising:
reporting that one or more services of the first service group has latency greater than a predetermined threshold.
7. The method of claim 1 , wherein said identifying is performed automatically for each service of the plurality of services of the microservice architecture application.
8. A system of service group discovery that groups microservices together that perform a logically identifiable application flow comprising:
a memory storing 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 plurality of services operating in a data plane; and
a service discovery platform executed by a processor via instructions stored in the memory, the service discovery platform configured to identify a first service group of the plurality of services by:
providing a first input into a first service of the plurality of services;
generating a traversal record via data plane outputs, the first input as data connected to the first input traverses a subset of services of the plurality of services until the subset of services generate a terminal output; and
based on the traversal record, logging the first service group including each of the subset of services traversed by data connected to the first input.
9. The system of claim 8 , wherein the data plane outputs are data plane proxies linked to corresponding services, the data plane proxies communicate proxied data to a control plane.
10. The system of claim 8 , wherein the service discovery platform is further configured to generate a dependency graph of the first service group based on said identifying.
11. The system of claim 8 , wherein the service discovery platform is further configured to generate microservice architecture application analytics on a service group level.
12. The system of claim 8 , wherein said generating further includes:
recording timestamps of the data connected to the first input as each microservice of the subset of services generates data plane outputs; and
measuring latency of the first service group based on the timestamps.
13. The system of claim 12 , wherein the service discovery platform is further configured to report that one or more services of the first service group has latency greater than a predetermined threshold.
14. The system of claim 8 , wherein said identifying is performed automatically for each service of the plurality of services of the microservice architecture application.
15. A method of service group discovery that groups microservices together that perform a logically identifiable application flow comprising:
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, the plurality of services operating in a data plane; and
automatically identifying a set of service groups of the plurality of services by:
providing a tracking input into each of a predetermined set of services of the plurality of services;
generating a traversal record via data plane outputs of the tracking inputs as data connected to the tracking inputs traverse corresponding subsets of services of the plurality of services until the corresponding subsets of services generate corresponding terminal outputs; and
based on the traversal record, logging a set of service groups including each of the corresponding subsets of services traversed by data connected to the tracking inputs.
16. The method of claim 15 , wherein the data plane outputs are data plane proxies linked to corresponding services, the data plane proxies communicate proxied data to a control plane.
17. The method of claim 15 , further comprising:
generating a corresponding dependency graph of each of the corresponding service groups of the set of service groups based on said identifying.
18. The method of claim 15 , further comprising:
generating microservice architecture application analytics on a service group level.
19. The method of claim 15 , wherein said tracking further includes:
recording timestamps of the data connected to the tracking inputs as each microservice of the corresponding subsets of services generate data plane outputs; and
measuring latency of each of the corresponding service groups of the set of service groups based on the timestamps.
20. The method of claim 19 , further comprising:
Reporting that one or more services of a given service group has latency greater than a predetermined threshold.