Scalable, Preventive, Real-Time Monitoring of Railway Crossings
A provider of transportation technologies turned to Altoros to develop a high-load monitoring system for railway stations.
Description
Brief results of the cooperation:
- The delivered solution allows for monitoring and aggregating petabytes of data per day, while notifying about critical accidents in real time.
- The IoT system is already in use at 2,500 railway crossings in the USA and Canada, gathering data from almost 5,000 edge devices.
- With a microservices architecture, the customer can easily extend thesolution’s functionality without affecting the whole system.
The customer
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 need
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.
The challenges
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.
The solution
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.
The outcome
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.
Platform
Kubernetes
Programming languages
Java, Python
Technologies
Node.js, Cloudera, Apache Kafka, HiveMQ, MQTT, Docker, TensorFlow
Databases
Couchbase Server, MongoDB, PostgreSQL, HDFS