The company is a global provider of technologies, infrastructure, as well as vehicles for rail transportation. Its portfolio includes railway signaling, control, electrification, and automation systems. The customer also produces commuter, regional, high-speed, and intercity trains / locomotives.
The company had a legacy system for monitoring railway crossings—tracking accidents and equipment malfunctions. However, the solution was designed as a monolithic app, which failed to scale and made it difficult to introduce new modules and functionality. So, the customer partnered with Altoros to achieve flexibility in maintenance and to sustain petabytes of data from multiple devices installed at the railway stations. Having achieved this, critical notifications about potential or happening accidents needed to be delivered in real time.
Under the project, the team at Altoros had to address the following issues:
- The app deployment required a lot of time-consuming manual steps, which slowed down the delivery of critical functionality into production.
- The IoT system needed to support a range of old devices installed at the stations—until they got replaced with the new ones.
By splitting the legacy monolith into microservices, our developers made it possible to easily introduce new functionality without the need to update the whole system. To automate manual deployment, engineers at Altoros containerized the system with Docker and employed Kubernetes as an orchestrator. Thus, the team simplified container management and accelerated the delivery into production, cutting operational efforts by 10–15 times. On the way to improving scalability, experts at Altoros integrated the HiveMQ message broker. This allowed for achieving the throughput of megabytes per second—by queuing petabytes of incoming data. (HiveMQ also was used for sending critical notifications in real time.) With HDFS, our developers made it possible to store immense amounts of historical data for analysis. In addition, the engineers utilized Apache Kafka to transfer data between multiple isolated security zones of the solution, which was previously impossible.To support and standardize legacy devices installed at railway crossings, the Altoros team bound old sensors with the MQTT protocol. It became responsible for transferring the emitted information to the data center.
Using TensorFlow, our engineers built a prototype responsible for analyzing data from video cameras—to detect dangerous situations at railway stations and prevent accidents through notifying responsible parties.
Collaborating with Altoros, the customer delivered a scalable solution for monitoring railway crossings and notifying about accidents or malfunctions in real time. With a microservices architecture, the company can now easily extend functionality without affecting the whole system. The solution can also sustain petabytes of data daily, processing megabytes per second. The system already gathers IoT data from nearly 5,000 edge devices installed at 2,500 railway crossings in the USA and Canada.
Node.js, Cloudera, Apache Kafka, HiveMQ, MQTT, Docker, TensorFlow
Couchbase Server, MongoDB, PostgeSQL, HDFS