Fault set selection
Embodiments receive a plurality of faults for at least one microservice in a cloud native based application within a fault set selection server; inject the faults into at least one microservice in the cloud native based application within the fault set selection server; obtain a system state representation for each of the injected faults in the at least one microservice in the cloud native based application using an unsupervised clustering algorithm; derive a fault subset based on the system state representation for each the faults in the at least one microservice in the cloud native based application; and inject the derived fault subset into the at least one microservice in the cloud native based application and logging behavior of the at least one microservice in the cloud native based application with the injected derived fault subset.
1 . A computer-implemented method, comprising:
receiving, by a processor set, a plurality of faults for at least one cloud microservice in a cloud native based application within a fault set selection server;
injecting, by the processor set, the faults into at least one microservice in the cloud native based application within the fault set selection server;
obtaining, by the processor set, a system state representation for each of the injected faults in the at least one microservice in the cloud native based application using an unsupervised clustering algorithm;
deriving, by the processor set, a fault subset based on the system state representation for each the faults in the at least one microservice in the cloud native based application; and
injecting, by the processor set, the derived fault subset into the at least one microservice in the cloud native based application and logging behavior of the at least one microservice in the cloud native based application with the injected derived fault subset.
2 . The computer-implemented method of claim 1 , further comprising generating a report of the logged behavior of the at least one microservice in the cloud native based application with the injected derived fault subset.
3 . The computer-implemented method of claim 1 , wherein the deriving the fault subset based on the system state representation comprises obtaining at least one fingerprint which corresponds with the system state representation.
4 . The computer-implemented method of claim 3 , wherein the deriving the fault subset based on the system state representation further comprises selecting the fault subset using cosine similarity between at least two fingerprints of the at least one fingerprint to optimize the fault subset.
5 . The computer-implemented method of claim 3 , wherein the deriving the fault subset based on the system state representation comprises selecting a policy driven representative fault which corresponds with the system state representation based on at least one policy.
6 . The computer-implemented method of claim 5 , wherein the selecting the policy driven representative fault comprises selecting at least one selected from a group consisting of: a least amount of resource injection cost, a randomly chosen policy driven representative fault, the policy driven representative fault with a least amount of disruption, and the policy driven representative fault which has been previously injected.
7 . The computer-implemented method of claim 5 , further comprising computing a score for the policy driven representative fault.
8 . The computer-implemented method of claim 7 , wherein the selection of the policy driven representative fault is further based on the score.
9 . The computer-implemented method of claim 6 , further comprising prioritizing each of the at least one policy.
10 . The computer-implemented method of claim 9 , wherein the selection of the policy driven representative fault is further based on priorities of the at least one policy.
11 . The computer-implemented method of claim 1 , wherein the deriving the fault subset is based on similar state representations for each fault within the fault subset.
12 . A system comprising:
a processor set, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to:
receive a plurality of faults for at least one microservice in a cloud native based application within a fault set selection server;
inject the faults into at least one microservice in the cloud native based application within the fault set selection server;
obtain a system state representation for each of the injected faults in the at least one microservice in the cloud native based application using an unsupervised clustering algorithm;
derive a fault subset based on the system state representation for each the faults in the at least one cloud microservice in the cloud native based application;
inject the derived fault subset into the at least one microservice in the cloud native based application and log behavior of the at least one microservice in the cloud native based application with the injected derived fault subset; and
generate a report of the logged behavior of the at least one microservice in the cloud native based application with the injected derived fault subset.
13 . The system of claim 12 , wherein the deriving the fault subset based on the system state representation comprises obtaining at least one fingerprint which corresponds with the system state representation.
14 . The system of claim 13 , wherein the deriving the fault subset based on the system state representation further comprises selecting the fault subset using cosine similarity between at least two fingerprints of the at least one fingerprint to optimize the fault subset.
15 . The system of claim 12 , wherein the deriving the fault subset based on the system state representation comprises selecting a policy driven representative fault which corresponds with the system state representation based on at least one policy.