Autonomously healing microservice-based applications
First Claim
Patent Images
1. A method for autonomous healing of an application comprising a plurality of microservices, comprising the steps of:
- detecting a performance degradation of at least a portion of the application, wherein the application is deployed in a production environment, and wherein the application deployed in the production environment comprises respective current versions of the plurality of microservices;
responsive to detecting the performance degradation in the production environment, autonomically downgrading at least one of the plurality of microservices within the application, the downgrading comprising;
deploying a prior version of the at least one of the plurality of microservices in the production environment; and
routing at least a portion of traffic to the prior version instead of a current version of the at least one of the plurality of microservices in the production environment;
determining whether the prior version remedies the performance degradation;
if the prior version does not remedy the performance degradation;
deploying a different version of the at least one of the plurality of microservices, the different version being neither the prior version nor the current version of the at least one of the plurality of microservices; and
routing at least a portion of traffic to the different version instead of the prior version of the at least one of the plurality of microservices, wherein the prior version and the different version are determined by performing a binary search within a region bounded by the current version and a global restore point.
1 Assignment
0 Petitions
Accused Products
Abstract
An embodiment includes a method for autonomous healing of an application comprising a plurality of microservices. The method comprises the steps of detecting a performance degradation of at least a portion of the application; and responsive to detecting the performance degradation, downgrading at least one of the plurality of microservices within the application. The downgrading comprises deploying a prior version of the at least one of the plurality of microservices; and routing at least a portion of traffic to the prior version instead of a current version of the at least one of the plurality of microservices.
30 Citations
19 Claims
-
1. A method for autonomous healing of an application comprising a plurality of microservices, comprising the steps of:
-
detecting a performance degradation of at least a portion of the application, wherein the application is deployed in a production environment, and wherein the application deployed in the production environment comprises respective current versions of the plurality of microservices; responsive to detecting the performance degradation in the production environment, autonomically downgrading at least one of the plurality of microservices within the application, the downgrading comprising; deploying a prior version of the at least one of the plurality of microservices in the production environment; and routing at least a portion of traffic to the prior version instead of a current version of the at least one of the plurality of microservices in the production environment; determining whether the prior version remedies the performance degradation; if the prior version does not remedy the performance degradation; deploying a different version of the at least one of the plurality of microservices, the different version being neither the prior version nor the current version of the at least one of the plurality of microservices; and routing at least a portion of traffic to the different version instead of the prior version of the at least one of the plurality of microservices, wherein the prior version and the different version are determined by performing a binary search within a region bounded by the current version and a global restore point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
a memory; and at least one processor coupled with the memory and operative; to detect a performance degradation of at least a portion of an application, wherein the application is deployed in a production environment, and wherein the application deployed in the production environment comprises respective current versions of a plurality of microservices; responsive to detecting the performance degradation, to autonomically downgrade at least one of the plurality of microservices within the application, the downgrading comprising; deploying a prior version of the at least one of the plurality of microservices in the production environment; and routing at least a portion of traffic to the prior version instead of a current version of the at least one of the plurality of microservices in the production environment; to determine whether the prior version remedies the performance degradation; if the prior version does not remedy the performance degradation; to deploy a different version of the at least one of the plurality of microservices, the different version being neither the prior version nor the current version of the at least one of the plurality of microservices; and to route at least a portion of traffic to the different version instead of the prior version of the at least one of the plurality of microservices, wherein the prior version and the different version are determined by performing a binary search within the region bounded by the current version and a global restore point.
-
-
19. A computer program product comprising a non-transitory machine-readable storage medium having machine-readable program code embodied therewith, said machine-readable program code comprising:
-
machine-readable program code configured; to detect a performance degradation of at least a portion of an application, wherein the application is deployed in a production environment, and wherein the application deployed in the production environment comprises respective current versions of a plurality of microservices; responsive to detecting the performance degradation, to autonomically downgrade at least one of the plurality of microservices within the application, the downgrading comprising; deploying a prior version of the at least one of the plurality of microservices in the production environment; and routing at least a portion of traffic to the prior version instead of a current version of the at least one of the plurality of microservices in the production environment; determining whether the prior version remedies the performance degradation; if the prior version does not remedy the performance degradation; deploying a different version of the at least one of the plurality of microservices, the different version being neither the prior version nor the current version of the at least one of the plurality of microservices; and routing at least a portion of traffic to the different version instead of the prior version of the at least one of the plurality of microservices, wherein the prior version and the different version are determined by performing a binary search within the region bounded by the current version and a global restore point.
-
Specification