Cloud services

Student testing software case study

Data Recognition Services

01. The challenge

Data Recognition Corporation (DRC) needed to modernize its computer-based student testing platform to meet the changing needs of K-12 school districts, providing a more modern, engaging testing experience for students. This modernization included transitioning to open-source technologies and migrating from on-premise VMware vBlock hardware to AWS IaaS and PaaS technologies.

02. The solution

We spearheaded cloud adoption at DRC by first exposing them to cloud-ready architecture styles to leverage immediately, eventually transitioning to AWS. Using an agile methodology, we built the web-based test system using a variety of modern technologies.

The student-facing application is a single-page web application delivered through a highly customized version of Chrome serving as a secure browser. The student application is deployed to AWS S3 and served through the CloudFront CDN. Student assessments are served via a Groovy/Grails web-service hosted on virtualized Linux servers in an on-premise VMware environment. Student voice responses can be recorded in real-time and streamed to AWS S3 where asynchronous, event-driven serverless Lambda functions transcode the audio to MP3 files for scoring. The system is provisioned end-to-end with Pallet/Puppet and CloudFormation/Terraform, and load-balanced through an F5 BigIP. Additional platform components were also developed with Angular, Node.JS, Consul, and Nginx.

03. The results

DRC has been able to exponentially increase their client base and revenue thanks to the new platform, which is now scalable, cost-effective, secure, and reliable. Our efforts also resulted in a shift to a cloud-first strategy across the company. 

As a result of this cloud adoption effort, DRC has grown from delivering two million online tests across two states, annually, to 40 million online tests across 38 states, annually. They can now deliver up to 1.3 million tests per day (to over 330,000 students at once) with an average response time of less than 50 milliseconds.