Data Driven Chaos Engineering Based on Service Mesh and Organizational Chart
AssigneeDell Products L.P.
InventorsRoi Gamliel, Avitan Gefen, Joseph LaSalle White
Life of this patent
Estimating the term…
Abstract
An organizational graph and a microservice graph can be generated. For two neighboring microservices, a combined organizational distance can be determined based on a distance for respective workers of each microservice in the organizational graph. The combined organizational distance can be used to determine a priority for a connection between the two microservices, and chaos testing can be performed on that connection based on its priority.
Claims20
A system, comprising:
- a processor;
- and
- a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:
- generating an organizational graph, a node of the organizational graph representing a person of an organization that produces a group of microservices, and an edge of the organizational graph representing an organizational relationship between two people of the organization;
- determining a microservice graph based on the group of microservices, a node of the microservice graph representing a microservice of the group of microservices, and an edge of the microservice graph representing a communication between two microservices of the group of microservices;
- identifying, from the microservice graph, a first node that corresponds to a first microservice and a second node that corresponds to a second microservice, the first node and the second node being connected by a first edge;
- identifying a first identifier associated with a first person who is authorized to manage the first microservice and a second identifier associated with a second person who is authorized to manage the second microservice;
- determining, from the organizational graph, an organizational distance between a third node that corresponds to the first person and a fourth node that corresponds to the second person;
- determining a priority for manifesting a failure condition in a connection between the first microservice and the second microservice based on the organizational distance between the third node that corresponds to the first person and the fourth node that corresponds to the second person;
- selecting a selected edge of a group of edges of the microservice graph based on respective priorities of the group of edges that comprise the priority;
- and
- causing a connection among the group of microservices that corresponds to the selected edge to manifest a failure condition.
A method, comprising:
- determining, by a system comprising a processor, that a first microservice and a second microservice exchange communications;
- identifying, by the system, a first identifier associated with a first person who is authorized to manage the first microservice and a second identifier associated with a second person who is authorized to manage the second microservice;
- determining, by the system and from an organizational graph, an organizational distance between a first node that corresponds to the first person and a second node that corresponds to the second person, wherein a node of the organizational graph represents a person of an organization that produces a group of microservices that comprises the first microservice and the second microservice, and wherein an edge of the organizational graph represents an organizational relationship between two people of the organization;
- determining, by the system, a weight for manifesting a failure condition in a first connection between the first microservice and the second microservice based on the organizational distance between the first node that corresponds to the first person and the second node that corresponds to the second person;
- selecting, by the system, a selected connection of a group of connections for the group of microservices based on respective weights of the group of connections that comprise the weight;
- and
- introducing, by the system, chaos to the selected connection.
A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:
- determining that a first microservice and a second microservice of microservices are associated with a producer-consumer relationship;
- identifying a first identifier associated with a first person who is authorized to manage the first microservice and a second identifier associated with a second person who is authorized to manage the second microservice;
- determining, from an organizational graph that represent people of an organization that produces the microservices that comprises the first microservice and the second microservice, an organizational distance between a first node that corresponds to the first person and a second node that corresponds to the second person;
- determining a weight for manifesting a failure condition in a first connection between the first microservice and the second microservice based on the organizational distance between the first node that corresponds to the first person and the second node that corresponds to the second person;
- and
- introducing chaos to the first connection at a rate based on the weight.
Dependencies are inferred from the claim text.