Standardization of microservices development — Success story
About the Company
National Oilwell Varco Inc. (NOV) is an American multinational corporation based in Houston, Texas. It is a leading worldwide provider of equipment and components used in oil and gas drilling and production operations, oilfield services, and supply chain integration services for the upstream oil and gas industry.
The company conducts operations in more than 600 locations across six continents, operating through three reporting segments: Rig Technologies, Wellbore Technologies, and Completion & Production Solutions.
Challenges
In 2018, NOV's corporate team decided to implement an IIoT platform (Max) to enable data and feature sharing across the company's multiple business units and leverage economies of scale to speed up implementation of equipment and operations monitoring systems as well as value-added services.
A few years down the road, NOV started version 2.0 of Max based on a microservices architecture to facilitate scalability, incremental delivery and faster time to market. The selected development stack was Golang and Docker. However, as microservices are a particularly complex field, the resulting implementation became quite complicated and inconsistent, leading to lower-than-desired development productivity.
The Solution We Proposed
Enterprise Innovation Consulting was invited to improve the Max Platform microservices implementation and assist with the adoption of design patterns and best practices to increase code quality and raise development productivity.
Upon further investigation it was found that the development teams — users of the Max Platform — experienced a shortage of Golang developers and utilized different development stacks to build their applications.
It was proposed to create a microservices development platform in 3 programming languages adopted by NOV teams: Golang, .NET and Node.js with a symmetric development model.
What We Did
EIC designed a new layered, multi-tenant microservices architecture optimized for sensor data processing and NOV-specific use cases. In less than 3 months, templates for typical microservices with symmetric implementation in Golang, .NET and Node.js were completed.
Several NOV teams received training and started development on the new platform. After the introduction of the microservices development platform, the EIC team assisted with the migration of existing Max Platform 2.0 microservices.
Microservices development was standardized through:
● Adoption of a reference architecture based on standardized components
● Development of component templates to accelerate development
● Implementation of design patterns to address common technical challenges
● Introduction of best practices into the development process
The Result
The new microservices reference architecture and templated microservices implementation greatly decreased complexity and boosted development productivity.
The polyglot implementation in 3 programming languages reduced pressure on other development teams and allowed them to use the development stack they are comfortable with.
Performance Improvements:
● 2x+ improvement in microservices development productivity (compared to the initial implementation of Max Platform 2.0)
● 25% increase in speed and productivity for the entire platform team
● 30%+ reduction in development costs (for the entire project)
● 20% shorter onboarding time for new application development teams, as they could continue using familiar technologies (.NET/Node.js)
● 25% faster onboarding for the platform development team members, thanks to the availability of reference microservices architecture and sample code
Testimonial
Suhas Rao
Development Director
NOV
Working with Enterprise Innovation Consulting (EIC) was a game-changer for us. In 2018, we set out to create Max, an IIoT platform designed to streamline equipment and operations monitoring across our business units. However, as we transitioned to version 2.0, utilizing a microservices architecture with Golang and Docker, we quickly faced issues with inconsistent implementations and a dip in productivity. Each of our teams used different technology stacks, making collaboration and scalability difficult. That’s when we brought in EIC. Their team immediately understood our pain points and recommended a tailored microservices development platform supporting Golang, .NET, and Node.js, aligning with the skills of our developers. The result was astounding— within months, the complexity was reduced, onboarding time for new developers dropped by 20%, and we saw increase in productivity on our platform team.
Their solution allowed our teams to work in their preferred technology stacks, increasing efficiency and accelerating our time to market. EIC delivered exactly what we needed to future-proof our platform.
EIC saved us from a frustrating development deadlock, turning our complex microservices into a streamlined, efficient system. We’re now faster, more productive, and finally seeing the results we’ve been striving for. Thanks to EIC, our teams can finally work in harmony. Their solution not only increased our efficiency but reignited our passion for innovation, making the impossible seem possible again.
Subscribe to Our Newsletter