MST Helix Backend for Frontend

Standardization of microservices development — Success story

About the Company

MST Global (MST) is an Australian company specializing in the development of safety, communication, and production management systems for the mining and tunneling industries. Founded in 1990, MST has grown to serve over 300 customers worldwide. Initially focused on hardware sales, MST made a strategic shift in 2017 towards offering complete hardware and software solutions for its clients. Its product line includes a range of IoT sensors and safety and communication equipment, all controlled by complex real-time software systems.

Challenges

In 2018, MST Global started implementing a new product line called Helix. The development began with the system core, which enabled the collection, processing, and storage of sensor data across various mining equipment.

The Helix core was designed following a microservices architecture and implemented in Golang. A distinct feature was the symmetric implementation of microservices across the central backend and equipment edge devices. 

A few months later, the team was ready to start implementing client applications. This required developing facades to expose APIs to client applications and extend the backend with application-specific functions.

However, at that point, the team needed more developers with Golang skills. In addition, the implementation of core microservices was quite complex, and the team set out to find a more practical solution for the application-facing logic.

To accelerate this process, they invited Enterprise Innovation Consulting experts.

The Solution We Proposed

Enterprise Innovation Consulting proposed that MST Global implement a Backend for Frontends and application-specific functionality using a different development model than the Helix Core. Node.js was chosen for this implementation to provide access to a larger pool of developers and to enable full-stack development for frontend teams, if necessary.

What We Did

EIC designed a new layered reference architecture for application-facing microservices and created microservices templates with the required design patterns using Node.js and Docker.

After approximately one month, the new microservices development platform was ready. Following the training of the internal development team, EIC assisted in implementing the Helix backend and client applications.

In less than three months, the first client applications were ready for release.

The Result

The Node.js application-facing portion of the Helix backend demonstrated strong stability and runtime performance. The simpler development model enabled both external consultants and the internal team to develop new features with excellent productivity, surpassing the development productivity of the mission-critical Helix core.

Performance Improvements:

2x+ increase in microservices development productivity (compared to the Helix core)

30%+ reduction in development costs (compared to implementing the entire backend in Golang using a uniform architecture)

Testimonial

Vadim Parfenov

Chief Technology Officer

MST Global

When we faced a shortage of Golang developers, we decided to change our approach for application-facing microservices with the help of Enterprise Innovation Consulting (EIC). In just three months, EIC standardized this part of our development using Node.js and Docker by:

● Introducing a new layered reference architecture

● Creating microservices templates that incorporated the required design patterns and best practices

● Training our developers

As a result, we:

● Developed microservices with strong stability and runtime performance

● Achieved impressive microservices development productivity — surpassing the productivity of another part of Helix

● Overcame the shortage of backend developers thanks to Node.js and the significantly simplified development model.