Co-Authors
Anbu Govindasamy, Jay Witt Rosen Yanev and Ross Sponholtz
Azure Chaos Studio is an Azure service that allows you to inject faults into your service to see how it responds to disruptions. In this blog, we will discuss how to introduce Azure Chaos Studio for SAP use cases by introducing additional resource pressure or failure scenarios.
SAP Testing Requirement and Challenges
- Qualifying Azure Environment: Customers often need to finalize the sizes of Azure VMs, storage, and network for specific SAP systems. Simulating production peak workloads to test and finalize the Azure environment and SKU is an important step in this process.
- Application Test Plans: Developing and executing end-to-end application testing for one-time migrations, additional country onboarding, or business transformation projects can be complex. While some customers have established test plans, others are still looking for ways to achieve.
- Time-Consuming Process: Testing is time-intensive and requires significant effort from various SAP teams. It involves preparing test cases, developing test data, and conducting the tests. Repeated testing for fine-tuning further increases the required man-hours.
SAP Traditional Testing Approaches
- Custom Test Scripts and Partner Solutions: Customers often rely on custom-written test scripts or partner solutions to generate volume and perform stress tests. This helps in developing solutions and mitigation plans.
- Oracle and HANA Testing: For Oracle, Oracle RAT testing can be leveraged, and for HANA, HANA capture and replay can be used. However, both approaches require substantial investment in preparing the environment.
SAP customers are constantly looking for solutions to address peak workload situation and failure scenarios.
Introducing Azure Chaos Studio for SAP Use Case
Azure Chaos Studio offers a comprehensive list of fault and action library, and we have selected specific set of faults and actions to test with SAP, recognizing that Azure Chaos Studio has a broader potential. We have divided our test scenarios into two main categories: Stress Testing and Failure Testing with HA/DR use case. These tests aim to measure, understand, and enhance application resilience. Azure Chaos Studio compliments SAP testing but Chaos Studio is not meant to replace end to end SAP business process testing.
Stress Testing: In the following scenarios, we introduce additional pressure to CPU, Network and Memory while performing SAP end to end load testing. We continue the test with different pressure points to learn and address configuration and resilience related findings.
- CPU Pressure
- Network Packet Loss
- Physical Memory Pressure
CPU Pressure Example: In below screenshot, showing Azure Chaos Studio Configuration for setting up 50% CPU Pressure:
In the screenshot below showing CPU Spike after triggering CPU Pressure activity:
Failure Testing: For testing failure scenarios, we used the following faults with SAP process High Availability solution to validate the proper function of the cluster and failovers:
- Kill Process
- Network Disconnect
"Kill Process" Example: In below screenshot, showing Azure Chaos Studio Configuration for killing HANA Index process:
Next Steps
- QuickStart guide: Leverage QuickStart guide to get started on Azure Chaos Studio https://learn.microsoft.com/en-us/azure/chaos-studio/chaos-studio-quickstart-azure-portal
- Scenario Building: With Azure Chaos Studio’s steps and branches, you can build complex repeatable scenarios that can then be used on whole landscapes. Each step would include a fault that would be tested, and branches describe which steps can be run in parallel and which one are run serially. Creating scenarios doesn’t require a lot of technical knowledge and making changes to specific settings is easy given the intuitive interface.
- Azure Chaos Studio region availability can be found in this link Regional availability of Azure Chaos Studio | Microsoft Learn
Benefits of Azure Chaos Studio
In our testing, Azure Chaos Studio enabled us to explore test and resilience use cases that were not achievable with SAP application test suites alone. By introducing additional resource pressure, we were able to push the boundaries more effectively and uncover failure scenarios that were previously undetectable.
Summary
Azure Chaos Studio can be used to introduce additional resource pressure or simulate failure scenarios. We recommend that customers enhance their existing SAP test cases with Azure Chaos Studio techniques to add scenarios that are currently not possible, thereby improving resilience and failure handling.
Useful Links: