Skip to main content

Performance and scalability

Updated over 2 weeks ago

SaaS applications must be scalable to meet varying levels of user demand. The application must be able to handle a growing number of users and data without compromising performance. The performance of a SaaS application is crucial because users expect fast and responsive applications. The application must be optimized to deliver high performance, even under heavy loads.

Zero Friction performance and scalability

Introduction

Zero Friction's application automatically scales computing and database capacity, coupled with the growing number of service locations, without any human interaction. This scaling ensures exceptional performance in business processes, regardless of the volume of such transactions.

Background versus processing batch

The application has a clear architectural boundary between front-end-facing processes (APIs) and background-facing processes (event-driven). The background processes do not directly impact the user interface's performance and are typically computationally intensive. Such processes enable automatic scaling of the architecture, as well as throttling to prevent system overload. The scalable and event-driven nature of this architecture delivers exceptional performance compared to traditional, slow, batch-based billing solutions, such as invoice generation or payment processing.

User load scaling

One of the criteria for a good scalable architecture is ensuring that the user interface doesn't impact responsiveness during heavy background activity. Because of the clear separation between API and event-based (background) processing, Zero Friction remains responsive during peak processing times.

Benchmarks

Introduction

To gain insight into the performance and scalability of the SAAS platform, several benchmarks were performed. Due to the scalable nature of the platform, no specific user response time benchmarks were performed, as the response time remained the same.

Scenario

A benchmark test was performed on a portfolio of:

  • 1,000 service locations

  • 10,000 service locations

  • 100,000 service locations

The two most important and most burdensome business processes were tested in a benchmark.

Handling of meter readings

  • Receive unparsed meter readings

  • Applying content validation (transforming from external to internal codes)

  • Apply context validation (do we know the meter, link to the correct channel)

  • Saving the meter reading in the internal data model

  • Activating the meter consumption calculation

  • Enable calculation/aggregation of service location consumption

This process was performed for both one day of meter readings for the entire portfolio, as well as for processing a backlog of one year of meter readings.

Generate invoice

  • Collecting all rates, contracts and products

  • Collecting and allocating consumption at correct ratesµ

  • Calculate invoice lines

  • Prepare template data objects (for visualization + document generation)

  • Generate invoice documents

  • Convert these documents to PDFs

Results

The performance results for handling meter readings and generating invoices are shown in the following graphs. This demonstrates the scalability of the solution.

image.png
Did this answer your question?