Introduction
SaaS applications need to be scalable to handle varying levels of user demand. The application should be able to handle an increasing number of users and data without compromising on performance. The performance of a SaaS application is critical as users expect fast and responsive applications. The application should be optimized to deliver high performance even under heavy load.
Zero Friction Performance and Scaling
Introduction
The Zero Friction's application scales compute and database capacity automatically, linked to the growing numbers of service locations, without any human interaction. This scaling allows for exceptional performance in performing business processes, independant of the volume of such transactions.
Background vs Batch processing scaling
The application has a clear architectural boundary between front-end facing processes (APIs) and background-oriented processes (event-driven). The processes that are running in the background have no direct impact on user interface performance, and are typically compute-heavy. Such processes take care of automatic scaling of the architecture, as well as throtling to prevent a system overload. The scalabe and event-driven nature of this architecture allows for exceptional performance compared to traditional, slow, batch-type billing solutions when taking a look at e.g. invoice generation or payment processing processes.
User load scaling
One of the criteria of a good scalable architecture is making sure the user interface sees no impact on responsiveness when there's a lot of background activity. Because of the clear seggregation between API and event(background)-based processing, Zero Friction stays responsive during peak processing moments.
Benchmarks
Introduction
To give an insight in the SAAS platform performance and scalability, a number of 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 has been performed for a portfolio of:
1 000 service locations
10 000 service locations
100 000 service locations
The two most importand and load-intensive business processes have been tested in a benchmark.
Meter Reading Handling
Receiving unparsed meterreads
Applying content validation (transforming external to internal codes)
Applying context validation (do we know the meter, linking to the right channel)
Storing the meter read in the internal data model
Triggering meter consumption calculation
Triggering service location consumption calculation/aggregation
This process was executed both for one day of meter readings for the complete portfolio, as well as processing a backlog of one year of meter readings.
Invoice generation
Collecting all the tariffs, contracts and products
Collecting and assigning consumption to correct tariffs
Calculating invoice lines
Preparing template data objects (for visualisation + document generation)
Generating invoice documents
Converting these documents to PDFs
Results
The performance results for the meter reading handling and invoice generation process are shown in the following graphs. This demonstrates the scalability of the solution.

