Azure Chaos Studio - End to end application reliability testing

anil kumar 1,646 Reputation points
2022-12-08T16:12:05.343+00:00

Hello,

Probably this is very basic question.

Just want to ask if my application is using multiple Azure services such as app service, CosmosDB, AKS, etc. -

  1. Can we perform end to end application reliability testing using Azure Chaos Studio ?
  2. Are their any limitations of Azure Chaos Studio which could reduce the scope of testing ?
  3. I think this is more applicable to microservice based architecture than monolithic applications.
  4. Can we perform similar test if my application is running on Azure VMs?

Sorry, couldn't get time to go through the documentation. Could you please answer above questions? Couldn't find suitable tags for this question, apologies for that as well.

Kindly feel free to provide pointers for further readings.

Thank you.

Community Center | Not monitored
{count} votes

Accepted answer
  1. Chris Ashton (CHAOS) 81 Reputation points Microsoft Employee
    2022-12-22T19:37:29.817+00:00

    Hi Anil. It looks like you investigated further and came up with some good answers and insights.

    As you point out, starting with chaos testing in a Production environment is not a great idea and it is best to "shift left" and do this validation earlier in the pipeline and in a place, such as a Test stage, where you can control the impact radius and not impact customers.

    Chaos Studio enables orchestration of sequential and parallel fault actions so that you can craft experiments that represent real-world scenarios and outages. You can author experiments to disrupt each dependency one-by-one or you can create experiments that represent resiliency scenarios such as an availability zone going down, a DNS outage, an AAD outage, region failover, and so on.

    Regarding limitations, as you point out, having faults the fault library is important to be able to impact your dependencies and build the scenarios you are interested in. The good news is that the fault library is expanding and growing each month. At this time, there is no support for customer-added faults there are plans for a BYOF (bring-your-own fault) feature in the future.

    Customers use Chaos Studio to validate resilience of both PaaS and IaaS solutions. Network faults, service direct faults, and agent-based faults running in VMs offer a variety of ways to introduce disruptions to validate different scenarios. The key is that Chaos Studio is Azure focused right now.

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. anil kumar 1,646 Reputation points
    2022-12-10T12:33:59.97+00:00

    Got time to explore a bit so answering my questions myself - please feel free to correct or add to my answers.

    "Can we perform end to end application reliability testing using Azure Chaos Studio ?" - Yes using branches and steps in Azure Chaos Studio. Branches are executed in sequence but all the steps for a branch are executed in parallel. Starting point should be to test individual services first and remember Azure Chaos Studio injects actual fault as defined by you in steps so you should NEVER start from Prod environment. Do it on lower environments first.

    "Are their any limitations of Azure Chaos Studio which could reduce the scope of testing ?" - Not any I am aware of. Faults are already inbuilt in Azure Chaos Studio and may not have faults you are looking for. Not sure if you can customize the inbuilt fault or write your own fault based on your requirements.

    "I think this is more applicable to micro-services based architecture than monolithic applications." - Given there are too many moving parts in micro-services based applications, Azure Chaos Studio might be more useful. Monoliths application can also be tested as long as you can host them in Azure.

    Can we perform similar test if my application is running on Azure VMs? - Same answer as previous one.

    Kindly feel free to correct or add to my answers - Thank you!!

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.