Technical Audit approach

The audit is split into two parallel streams: Architectural analysis and Performance testing.

At the initial stage, Architectural analysis is used to design 2-3 infrastructure configuration options, which will subsequently be tested under load and for which cost estimation will be calculated. Differences in configuration may suggest:

  • Use of a separate infrastructure for the various functions of the application.
  • Use of several servers with balanced load.
  • Use of components in different cloud availability zones.
  • Use of different instances types.

After the configuration options are compiled, the application is deployed to each option in turn and Performance testing is carried out. During testing, not only performance metrics are taken, but also cost estimation in near-real-time using public cloud utilities (for example, AWS Price List API for AWS). One of the tasks of performance testing, in this case, is to scale the system at peak loads to estimate the cost.

Finally, the Technical Audit team provides a comparative analysis of the cost and performance of the infrastructure options.

Who will perform the Technical Audit

Cloud architect performs infrastructure setup review and analysis, scalability analysis and performance model development, attending the Performance test plan preparation, performance test results analysis.

Performance testing engineer performs Test plan preparation, scenarios preparation, test environment configuration, test data generation, test results analysis, test scenarios source code packaging, testing report 

Cost optimization analysis Goals

  1. I want an elastic infrastructure that scales out automatically based on resource consumption. I need this system to double its capacity so it can handle [1,000] visitors within one hour. The more resources users consume, the more infrastructure I’ll have to provision. On the other hand, if resources are not being consumed, I don’t want to pay for unused infrastructure.
  2. I want resource utilisation to be at no more than [50%] of its full capacity, so my components can handle spikes in traffic or situations where capacity is temporarily reduced (i.e. an unhealthy server being replaced or a server being temporarily unavailable during deployments).
  3. Servers are distributed in at least 2 AWS Availability Zones. Therefore, if one Availability Zone is experiencing problems, I want the application to remain unaffected.
  4. I want to select an infrastructure configuration from multiple options, each of which must meet the conditions listed above with the best performance-to-cost ratio.

Benefits of cloud performance and cost estimation analysis

The moment you first plan the infrastructure for a future application, you have limited options. However, over time, new technologies and approaches become available that can enhance the performance of your system while reducing its costs.

By designing your project architecture to experiment with load for multiple infrastructure configurations, you can optimise the cost of your cloud infrastructure at any time.

When trying new ideas or services, run performance tests to measure their impact on the efficiency and performance of the workload, as well as the cost of your infrastructure.

Technical audit deliverables

The following test deliverables are expected as part of this performance testing effort.

  • Test Plan – a document detailing the Infrastructure configuration models for experiments, objectives, resources, and processes for Performance testing
  • Test Results Data – The data resulting from the performance tests run
  • Test Report – The final report that documents and analyses the results of the performance tests and that were conducted according to this test plan.
  • Technical Audit Final Report – The final report documents a comparative analysis of the cost and performance of the infrastructure options, highlighting issues revealed by performance tests, improvements, and recommendations.

TECHNICAL DUE DILIGENCE

This white paper examines the importance of Technical Due Diligence for digital native products in investment or M&A decision-making. It outlines the various stages and features of product assessment and explains how Technical Due Diligence assesses a service or product’s assets, liabilities, and commercial potential.