No Assumptions on Architecture Without Load Testing

No Assumptions on Architecture Without Load Testing

Recently, a client asked how effective the proposed conceptual solution architecture was.

We approached this question primarily from the perspective of load endurance. A reasonably confident answer can only be given after conducting load testing. For this, the following prerequisites are needed:

  • Representative data population in databases and data buses to simulate a real system.
  • Load indicators that the system should be able to withstand.
  • System usage scenarios to develop a load profile that closely mirrors real-world conditions.
  • Minimal infrastructure setup for testing, including computing power, key services, and load testing tools.

Additionally, a qualified specialist is required to:

  • Define pass/fail criteria.
  • Configure tools like Gatling, Yandex Tank, or JMeter.
  • Analyze the results.

It’s crucial for the client to provide both:

  • Functional requirements, such as data access scenarios.
  • Non-functional requirements, such as target load indicators.

Only after successful load testing can we conclude that the solution architecture is capable of handling the required load.

However, evaluating architecture doesn't stop there. The quality of the solution also depends on other critical factors, including:

  • Scalability
  • Maintainability
  • Graceful degradation
  • Other characteristics that require thorough analysis.

#ArchitectureQuality #LoadTesting #SoftwareArchitecture