Event-Driven Architecture (EDA) - SAP Event Mesh, Advanced Event Mesh
Event-driven architecture (EDA) represented in SAP by
Event Mesh and
Advanced Event Mesh is rapidly gaining traction as a powerful method for enabling agile and scalable software systems. In an EDA, components communicate via asynchronous events, enabling a highly decoupled and flexible environments similar to the one shown in the figure below.
Figure - Event Mesh and SAP Cloud Integration working within SAP Integration Suite
With the increasing adoption of microservices and serverless computing, the importance of efficient EDA integrations cannot be overstated and let's remember that on of the promises of EDA architectures is the speed of message processing.
Why is Event-Driven Architecture (EDA) performance testing important?
Performance testing plays a crucial role in ensuring that these event-driven systems can handle the desired load and deliver optimal (or at least assumed/anticipated) results. Performance testing allows SAP integration developers to identify potential bottlenecks (latency issues, resource constraints) in the EDA environments. By simulating real-world scenarios and measuring key performance indicators (KPIs), performance testing provides valuable insights into how the system behaves under different conditions. It also helps validate the scalability, reliability, and resiliency of the system, ensuring that it can handle increased workloads and recover from failures.One of the primary challenges in performance testing for EDA is the
asynchronous nature of the systems.Traditional API testing performance testing tools and methodologies may not be adequate for capturing the complexities of event-driven interactions.Therefore, it might be useful to use specialized tools and frameworks that can handle the complexities of EDA performance testing. One of them is to use solutions designed specifically to handle Enterprise Integration Platform Testing like Int4 Shield. One of the main benefits of those is that you can use historical electronic messages fetched from productive (PRD) integration platform and reuse and rerun them for the EDA performance testing as shown in Figure below.
Figure - Fetching historical messages and use them for performance test
Here the EDA/Event Mesh performance testing solution is at first fetching the data from the SAP Cloud Integration which were processed on the production system in order to get as many real examples as possible. This can be done with thousands of messages in minutes with the use of a robotic crawler. Next step is to rerun those messages by rerunning and injecting them into the SAP Event Mesh/Advanced Event Mesh directly using for example
AMQP protocol.
Figure - sending test messages directly to the Event queue
Once this is done the messages/events will get processed by SAP Event Mesh/Advanced Event Mesh and later on with SAP Cloud Integration and later on Int4 Shield can validate processing of those messages on SAP Cloud Integration in order to check the performance
across the whole integration scenario within the SAP Integration Suite.
Figure - performance result screen across the message processing in whole SAP Integration Suite
Conclusion
In EDA performance testing, it is vital to measure metrics such as event processing time, event throughput, and system latency.These metrics help SAP integration developers identify any issues with the system's capacity to handle events, process them efficiently, and respond in a timely manner. Performance testing should also include
stress tests and load tests to ensure the system can withstand high traffic and maintain stability during peak times. Performance testing should be integrated into the development life cycle, enabling a continuous feedback loop and allowing developers to proactively address any issues that arise.Continuous integration approach reduces the risk of performance-related issues going unnoticed and minimizes the cost of fixing them at later stages.
Further reading
for more information about performance testing of SAP integration scenarios please have a look at Week 3:
Unit 2: Service virtualization for performance testing of the openSAP course:
"Avoid SAP S/4HANA Project Delays with Third-Party Systems Service Virtualization"