Chaos Engineering in Microservices via Service Mesh

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservices-based SaaS systems, traditional approaches to increasing availability focus on extending mean time to failure, which can lead to risk aversion and hinder system changes, while mean time to diagnose and repair remains high due to complexity and manual processes, necessitating a more efficient method to reduce downtime and improve resilience.

Innovation Solution

Implementing chaos testing with a service mesh to prioritize and automate failure injection based on API dependency analysis, using probabilistic chaos components to generate graphs and assign weights to microservices, allowing for targeted and efficient failure testing to reduce mean time to repair and improve system resilience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional approaches focus on extending mean time to failure to increase availability, then system reliability is improved, but risk aversion increases and system changes are hindered

Engineering Contradiction:
ImproveavailabilityVSAvoidsystem changes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by performing chaos testing and failure injection before deploying system changes to production. The system automatically identifies critical microservices through API dependency analysis and pre-tests failure scenarios, allowing teams to validate resilience before making changes, thus enabling adaptability without compromising availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms by continuously monitoring system behavior during chaos testing and using this information to improve system resilience. The automatic failure injection and monitoring provide real-time feedback on system weaknesses, enabling continuous improvement of reliability while maintaining adaptability through data-driven decisions.

Inventive Principle:
Principle #23Feedback

2Productivity

If microservices system complexity increases to enable independent development and deployment, then productivity is improved, but mean time to diagnose and repair increases

Engineering Contradiction:
Improveindependent development and deploymentVSAvoidmean time to diagnose and repair
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary layer (service mesh with automated chaos testing) that mediates between microservices and failure conditions. This intermediary automatically performs failure injection and monitoring, reducing the time to diagnose issues by providing centralized visibility into service dependencies and failure propagation across the distributed system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual diagnosis and repair processes with automated chaos testing and failure injection mechanisms. The system automatically identifies failed microservices, traces dependency chains through API graphs, and triggers remediation actions, substituting manual mechanical processes with automated computational systems that reduce diagnostic time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If chaos testing is applied to all microservices to improve system resilience, then reliability is improved, but testing time and resources increase significantly

Engineering Contradiction:
Improvesystem resilienceVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by performing chaos testing selectively on critical microservices identified through API dependency analysis rather than uniformly across all services. The system calculates centrality scores and identifies high-impact services that require resilience testing, concentrating testing resources where they provide maximum value to system reliability while minimizing overall testing time.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by performing chaos testing on a prioritized subset of microservices based on their criticality to system functionality. Rather than testing all services equally, the system applies excessive testing focus to high-impact services while using automated dependency analysis to infer resilience characteristics of less critical services, reducing total testing time while maintaining adequate system-wide resilience.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11356324B2Chaos engineering in microservices using a service mesh
Publication Date: 2022.06.07 DELL PROD LP
  • US11356324B2 patent drawing
  • US11356324B2 patent drawing
  • US11356324B2 patent drawing

AI summary

Techniques are provided for chaos engineering in microservices using a service mesh. In an example, a plurality of microservices can operate together as part of a software as a service product. A graph of the service mesh of the plurality of microservices can be determined. From that graph, weight can be assigned to the respective nodes. Those weights can be used to determine a probability of where chaos is introduced in the corresponding microservice architecture as part of chaos testing.