US2018095730A1PendingUtilityA1

Optimizing Performance of Applications Driven by Microservices Architecture

Assignee: IBMPriority: Sep 29, 2016Filed: Dec 6, 2017Published: Apr 5, 2018
Est. expirySep 29, 2036(~10.2 yrs left)· nominal 20-yr term from priority
G06F 8/60G06F 11/3409G06F 11/302G06F 2201/865G06F 11/3006G06F 8/20G06F 8/77G06F 11/34
50
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.