Optimizing Performance of Applications Driven by Microservices Architecture
Abstract
An approach is provided in which an information handling system collects first service data records, from a first service provider, that correspond to first microservice runtime environments (MREs). Next, the information handling system collects second service data records corresponding to second microservice runtime environments (MREs) from a second service provider that is different from the first service provider. The information handling system then identifies an application that includes a first microservice and a second microservice. The first microservice executes on a selected one of the first MREs and the second microservice executes on a selected one of the second MREs. The information handling system clusters a selected one of the first service data records corresponding to the selected first MRE with a selected one of the second service data records corresponding to the selected second MRE, and optimizes a performance of the application based upon analysis of the clustered set of service data records.
Claims
exact text as granted — not AI-modified1 . A method implemented by an information handling system that includes a memory and a processor, the method comprising:
collecting, from a first service provider, a plurality of first service data records corresponding to a plurality of first microservice runtime environments (MREs); collecting, from a second service provider that is different than the first service provider, a plurality of second service data records corresponding to a plurality of second microservice runtime environments (MREs); identifying an application that comprises a first microservice and a second microservice, wherein the first microservice executes on a selected one of the plurality of first MREs and the second microservice executes on a selected one of the plurality of second MREs; clustering a selected one of the plurality of first service data records corresponding to the selected first MRE with a selected one of the plurality of second service data records corresponding to the selected second MRE, resulting in a clustered set of service data records; and optimizing a performance of the application based upon analysis of the clustered set of service data records.
2 . The method of claim 1 wherein the optimizing of the performance of the application further comprises:
determining an initial performance level of the application based on the selected first service data record and the selected second service data record;
identifying an MRE type of the first MRE;
identifying a different one of the plurality of second MREs that match the identified MRE type;
selecting a different one of the plurality of second service data records that corresponds to the different second MRE; and
computing an adjusted performance level of the application based on the selected different second service data record and the selected second service data record.
3 . The method of claim 2 further comprising:
assigning the different second MRE to the application in response to determining that the adjusted performance level is an improvement over the initial performance level.
4 . The method of claim 3 further comprising:
generating a change report to deploy the first microservice to the different second MRE in response to assigning the different second MRE to the application; and
sending the change report to a cloud orchestration system to execute the deployment of the first microservice.
5 . The method of claim 1 further comprising:
retrieving application configuration information corresponding to the application that comprises a list of microservices and a list of MREs corresponding to the list of microservices;
determining that the application comprises the first microservice and the second microservice based on the list of microservices; and
identifying the selected first MRE and the selected second MRE based on the list of MREs corresponding to the list of microservices.
6 . The method of claim 5 wherein the application configuration information comprises one or more dependencies that indicate the second microservice is dependent on the first microservice.
7 . The method of claim 1 further comprising:
collecting the plurality of first service data records from the first service provider through a first application program interface (API); and
collecting the plurality of second service data records from the second service provider through a second API that is different from the first API.
8 . An information handling system comprising:
one or more processors; a memory coupled to at least one of the processors; and a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of:
collecting, from a first service provider, a plurality of first service data records corresponding to a plurality of first microservice runtime environments (MREs);
collecting, from a second service provider that is different than the first service provider, a plurality of second service data records corresponding to a plurality of second microservice runtime environments (MREs);
identifying an application that comprises a first microservice and a second microservice, wherein the first microservice executes on a selected one of the plurality of first MREs and the second microservice executes on a selected one of the plurality of second MREs;
clustering a selected one of the plurality of first service data records corresponding to the selected first MRE with a selected one of the plurality of second service data records corresponding to the selected second MRE, resulting in a clustered set of service data records; and
optimizing a performance of the application based upon analysis of the clustered set of service data records.
9 . The information handling system of claim 8 wherein at least one of the one or more processors perform additional actions comprising:
determining an initial performance level of the application based on the selected first service data record and the selected second service data record;
identifying an MRE type of the first MRE;
identifying a different one of the plurality of second MREs that match the identified MRE type;
selecting a different one of the plurality of second service data records that corresponds to the different second MRE; and
computing an adjusted performance level of the application based on the selected different second service data record and the selected second service data record.
10 . The information handling system of claim 9 wherein at least one of the one or more processors perform additional actions comprising:
assigning the different second MRE to the application in response to determining that the adjusted performance level is an improvement over the initial performance level.
11 . The information handling system of claim 10 wherein at least one of the one or more processors perform additional actions comprising:
generating a change report to deploy the first microservice to the different second MRE in response to assigning the different second MRE to the application; and
sending the change report to a cloud orchestration system to execute the deployment of the first microservice.
12 . The information handling system of claim 8 wherein at least one of the one or more processors perform additional actions comprising:
retrieving application configuration information corresponding to the application that comprises a list of microservices and a list of MREs corresponding to the list of microservices;
determining that the application comprises the first microservice and the second microservice based on the list of microservices; and
identifying the selected first MRE and the selected second MRE based on the list of MREs corresponding to the list of microservices.
13 . The information handling system of claim 12 wherein the application configuration information comprises one or more dependencies that indicate the second microservice is dependent on the first microservice.
14 . The information handling system of claim 8 wherein at least one of the one or more processors perform additional actions comprising:
collecting the plurality of first service data records from the first service provider through a first application program interface (API); and
collecting the plurality of second service data records from the second service provider through a second API that is different from the first API.
15 . A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:
collecting, from a first service provider, a plurality of first service data records corresponding to a plurality of first microservice runtime environments (MREs); collecting, from a second service provider that is different than the first service provider, a plurality of second service data records corresponding to a plurality of second microservice runtime environments (MREs); identifying an application that comprises a first microservice and a second microservice, wherein the first microservice executes on a selected one of the plurality of first MREs and the second microservice executes on a selected one of the plurality of second MREs; clustering a selected one of the plurality of first service data records corresponding to the selected first MRE with a selected one of the plurality of second service data records corresponding to the selected second MRE, resulting in a clustered set of service data records; and optimizing a performance of the application based upon analysis of the clustered set of service data records.
16 . The computer program product of claim 15 wherein the information handling system performs additional actions comprising:
determining an initial performance level of the application based on the selected first service data record and the selected second service data record;
identifying an MRE type of the first MRE;
identifying a different one of the plurality of second MREs that match the identified MRE type;
selecting a different one of the plurality of second service data records that corresponds to the different second MRE; and
computing an adjusted performance level of the application based on the selected different second service data record and the selected second service data record.
17 . The computer program product of claim 16 wherein the information handling system performs additional actions comprising:
assigning the different second MRE to the application in response to determining that the adjusted performance level is an improvement over the initial performance level.
18 . The computer program product of claim 17 wherein the information handling system performs additional actions comprising:
generating a change report to deploy the first microservice to the different second MRE in response to assigning the different second MRE to the application; and
sending the change report to a cloud orchestration system to execute the deployment of the first microservice.
19 . The computer program product of claim 15 wherein the information handling system performs additional actions comprising:
retrieving application configuration information corresponding to the application that comprises a list of microservices and a list of MREs corresponding to the list of microservices;
determining that the application comprises the first microservice and the second microservice based on the list of microservices; and
identifying the selected first MRE and the selected second MRE based on the list of MREs corresponding to the list of microservices.
20 . The computer program product of claim 15 wherein the information handling system performs additional actions comprising:
collecting the plurality of first service data records from the first service provider through a first application program interface (API); and
collecting the plurality of second service data records from the second service provider through a second API that is different from the first API.Join the waitlist — get patent alerts
Track US2018095730A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.