Not every assessment software is designed to handle concurrency issues correctly. When a sudden spike of traffic meets with a poorly designed assessment system, the system can easily become out of service or congested, and unable to deliver the requests. In such cases, thousands of people suffer, and all sides lose together.
For an assessment system to be able to deal with high concurrency, it should be designed as a set of services where each service scales up and down in response to the changes of volume during simultaneous requests. Otherwise, each part of an assessment process, whether it is the administration, delivery, monitoring or proctoring, can quickly become a bottleneck, causing the entire process to fail.
The default concurrency model which minimizes the cost
TestInvite has been designed and built to deal with high concurrency from day one. The assessment system is a cooperation of multiple services where each service addresses one particular aspect of the assessment process. The back-end services for assessment compilation, delivery, administration, real-time monitoring, and proctoring are all independent services that scale up and down. When a spike of requests hits a particular service, more computing resources are made available automatically so that the latency resides within reasonable limits.
Building systems that scale up and down automatically optimizes the resources that are occupied. Thanks to this approach, not only our system is always readily capable of delivering tens of thousands of simultaneous assessments but also it is affordable because it does not consume resources unnecessarily and hence keeps the costs at minimum.
Maximizing the service level by using the reserved computing resources
Like everything in life, nothing comes without a trade-off. While auto-scaling infrastructure is great at delivering any amount of concurrent requests in return for the minimum associated cost, the latency that the participants will experience is not optimized. Scaling up and down takes 10 to 120 seconds. This results in participants experiencing different latencies while interacting with the system. Some are responded instantly by the system, whereas some others can be responded a few seconds later. Most of the time, this is not an issue because a couple of seconds in an online service may not be a big deal. Most of our customers are not even aware of the latencies that differ. However, for some of the high-stake assessments, the latency differences can cause problems and the only solution to prevent latencies is to keep more of the backend resources up, ready and active. This is why we also provide a “turbo assessment delivery” option, where the requests are handled by services that are always up and running. Enabling this option will cost you more credits however the latencies will be kept at minimum and the end users will have the fastest response time possible.
How to choose between the concurrency options
We know that introducing such an option can cause some confusion for a few of our customers, and we understand that. First of all, enabling this option is only favored if you are going to conduct an assessment on more than a thousand participants, at the same time. Secondly, even if you do not enable it, the system will still handle the simultaneous assessments with reasonable latency. However, if you would like to make it more comfortable for all parties in return of paying extra by using some reserved computing resources, you have this option as well.
Administration, Monitoring, and Proctoring of Simultaneous Assessments
Test Invite assessment system is not only highly concurrent for the end users but also for the assessment administrators. The system can gather real-time information from each and every participant and put them together so that the administrator or proctor can have total control over the assessment process. The administrator can start a live stream of information where the progress on each assessment session will flow to the screen of the administrator. Even though our back-end services will not suffer from high concurrency and continue to deliver information no matter what the number of participants is, the administrator’s computer can be short on memory or bandwidth to sustain the flow of information. For example if there are thousands of people who stream their webcam and screencasts, our back-end services can serve this huge amount of media materials to the computer of the administrator, but the administrator’s computer may not be able to handle that much data. That is why our assessment software introduces the concepts of groups and labels to divide the participants into smaller groups. By doing so, each administrator or proctor can connect to a smaller group of participants and have control over the assessment process of that group.
TestInvite is a highly concurrent assessment software that allows our customers to deliver tens of thousands of assessments simultaneously. Providing alternative services through both an auto-scaling infrastructure as well as a reserved always-up-and-running computing resource, it allows you to pick the comfort level your use case demands.
Looking back to the years since our product took off in January 2019, we see that we have put great effort into building a flexible and concurrent assessment system that suits our customers’ use case and budget. But when we see that our customers rely on our services and they get positive results, we see that it paid off.