Using Akka, Spark and Cassandra to scale real-time fan design selection at Reitz
The Problem
Fan design selection is a meticulously performed process and acts as a fundamental step to deliver the right fan. The fan’s efficiency and performance in the customer-defined environment would be the primary criteria for the buyer’s decision. This criticality and the need for reliability made it a bottleneck in terms of time and expert personnel. Empowering the sales team with this capability during the customer’s discussions would be a dream come true for the management. The scenario would avoid high-end engineers’ involvement for most cases and reduce the sales cycle by an estimate of more than 70%.
The Solution
Modernization of the old DOS-based fan selection software was essential. We drew a plan, to incorporate new features and an effective selection than the existing rule based engine. Rivent was conceptualized. In a couple of minutes, this program does what an experienced fan engineer would take several hours to design and cost.
We applied a new fast data approach from TechnoIdentity to reducing a task requiring 3 hours of computing time using legacy technologies. 15 ML models are applied on an extensive data set to select the best fan design in approximately 1.2 seconds. And we made it available 24/7 on the web.
Driving the application was an architecture based on Akka and its actor model at the core with Apache Kafka for the messaging queue. Spark was the ideal choice for processing the ML models.
The salespeople now could discuss various fan design options along with estimates at their fingertips. They would open it on the mobile utterly oblivious to the complexity of figuring out the fan selection. A DOS-based desktop application that had to be run on an older version of windows to a mobile compatible web application is a significant transformation with tremendous impact.