“ A seamless and fast experience encourages user trust and adoption of digital services.”
Over recent years, Cybernetica has been putting its Unified eXchange Platform (UXP) interoperability technology to the test as the basis for state-wide data exchange in increasingly larger countries. However, when it comes to technology, one-size-fits-all approach does not apply. With every increase in deployment size, we are constantly working on performance improvements to ensure we meet the requirements of larger digital countries.
In this blog post, we share our recent performance and vertical scalability test results and explain the importance of the performance features of interoperability software. In simple terms, vertical scalability means improving system performance by adding computing power to the existing hardware. Improved performance, in turn, allows the system to handle more concurrent requests while maintaining its quality and efficiency.
Supporting countries 30 times the size of Estonia
An e-government data exchange and interoperability platform enables different databases to talk to each other with the end goal of creating digital services. Thereby, the underlying technology plays a critical role in any country, as its availability determines the accessibility of government services for citizens and organisations. At Cybernetica, we have invested significant effort in improving the performance and scalability of UXP data exchange software currently deployed by more than 10 governments across the world. The vertical scalability tests are one way that allows us to understand how these software improvements translate into actual changes in the system behaviour.
UXP, originating from Estonia with a population of 1.3 million, shares similar roots with X-Road*. UXP software was initially optimised for relatively small countries similar to Estonia and Finland. However, over the years, we have substantially improved our interoperability product, UXP, to support the message throughput required in larger countries such as Ukraine and Malaysia. In these countries, the interoperability platform must handle a consistently high volume of service calls, particularly for key registers like the population register and business register.
*Cybernetica was the technical architect of the X-Road and developed and deployed it already in 2001. Cybernetica upgraded and maintained the X-Road solution for the Estonian government until 2018 when the development was handed over to the Nordic Institute of Interoperability Solutions.
Importance of performance in interoperability
There are several reasons why the performance of the interoperability platform matters for governments and other users.
First, an efficiently performing platform can lead to more valuable utilisation of the underlying infrastructure. This means lower operational costs, reduced resource wastage, and the ability to handle more tasks with the same resources.
Secondly, in digital services, user experience is paramount. Slow e-services can lead to delays in accessing information, leading to frustrated users. A seamless and fast experience encourages user trust and adoption of digital services. Moreover, in emergency situations or critical service scenarios, quick access to data can be a matter of life and death. For example, the ability to quickly retrieve patient records from different systems in healthcare emergencies can significantly impact the care provided.
Thirdly, performance and security often go hand-in-hand. Interoperability infrastructure that can't handle high loads might be susceptible to denial-of-service attacks or other security breaches. A performant e-service can better resist and mitigate such attacks, ensuring the integrity of the system.
Focusing on vertical scalability
Vertical scalability, also known as scaling up, refers to the ability to increase the capacity or resources of a single server or machine within a system to handle a higher workload or accommodate growing demands. In the scope of our recent report, vertical scalability was analysed in two dimensions: the number of processed service calls and the size of the service calls.
The COVID-19 pandemic has underscored the need for agility in the interoperability platform. Overnight, citizens required services related to health records and vaccination certificates, highlighting the importance of software elasticity or adaptability. Countries need to scale the processing of certain services' message volumes up or down as required. Hence, the interoperability software should be capable of scaling with the underlying hardware.
Government services utilise different message profiles, with message size being an important characteristic. We have learned the significance of supporting not only small messages but also large ones. Services that exchange CAD files or medical images, for example, require this capability. Therefore, the interoperability software should effectively handle different message sizes.
Test areas
Without going into too much technical detail, the following three sections give a brief overview of the approach and scope of the tests performed. Through the current set of tests, we aimed to demonstrate the performance and vertical scalability of one of the integral components of the UXP software, the Security Server.
The tests were guided by the following three research questions:
- Performance: How many transactions can the Security Server process on particular hardware?
- Software elasticity: How scalable is the Security Server performance when additional hardware resources are added?
- Impact of message size: How does the Security Server scale when the message size is changed?
Test setup
The tests were conducted in the following technical architecture environment:
The tests were conducted for the following technical specifications:
- Two hardware configurations in AWS cloud: c6i.xlarge and c6i.2xlarge machines for the Security Servers.
- Three message sizes to test throughput: 10 KB, 1 MB, 10 MB.
- SOAP and REST web services as alternative options for exchanging messages
- UXP and X-Road Security Servers as the two alternative software components under comparison.
We measured the number of processed messages for all combinations of hardware/message size/message type/interoperability software.
We used X-Road as a reference software since it has comparable architecture and many similar features with Cybernetica's UXP product.
Detailed information about the test methodology can be provided upon request.
The results
The numeric values of the test results are summarised in the following graphs:
The following part gives a high-level answer to each of the research questions set out above.
How many transactions per second (TPS) can the Security Server process on particular hardware?
- The overall best performance 327 TPS, i.e., 327 processes completed in one second, is for 10KB SOAP messages with UXP Security Server.
- REST web service performs better than SOAP for large messages, but worse for small messages in UXP software. Results are mixed for X-Road software.
- The numbers demonstrate that UXP performs significantly better compared to X-Road for all measured test setups.
How scalable is the Security Server performance when additional hardware resources are added?
- UXP Security Servers are elastic in case of 1MB messages, meaning able to process more messages when memory and processing power is scaled up. More hardware means the processing of more messages. In comparison, we found that elasticity is low for X-Road servers.
- Elasticity was not measured for 10KB messages.
- Our test results show that an increase in message size drastically reduces the message throughput of both the UXP and X-Road Security Server.
- For 10MB messages, there was no big difference between Medium and Large hardware profiles. In this case, the elasticity is low for both UXP and X-Road Security Servers.
How does the Security Server scale when the message size is changed?
- Our test results show that an increase in message size drastically reduces the message throughput of both the UXP and X-Road Security Server.
- For 10MB messages, there was no big difference between Medium and Large hardware profiles. In this case, the elasticity is low for both UXP and X-Road Security Servers.
Work continues to support increasingly larger deployments
Over the years, we have seen that different country and service profiles set different performance and scalability requirements for interoperability software. The elasticity of software helps to adapt software for more demanding requirements by scaling up hardware.
Our test suggests that greater performance and scalability make UXP a suitable interoperability software for larger countries. Better absolute performance of UXP also reduces the total cost of ownership for countries compared to X-Road, as smaller investments are required in hardware.
Insights such as these continue to inform and guide our technology development to keep meeting the needs of emerging digital states around the world. Based on these results, we have the confidence to advise our customers that the UXP should be a preferred solution, especially when the scalability of the Security Server is required. This happens when the level of service consumption changes for the service provider and/or consumer.
But, of course, this has just been one exercise among many to assure us that our technology development is on the right track.
Cybernetica continues with scalability and performance tests. The next test in the series is planned to be the horizontal scalability test where servers are added to a cluster.