How Nutrien Accelerated the Development of Their Digital Hub Platform with Hasura
Nutrien is the world's largest crop inputs and services provider, producing and distributing over 25 million tonnes of potash, nitrogen, and phosphate products for agricultural, industrial, and feed customers worldwide. They provide farmers with expertise in various areas, including agricultural services, finance, insurance, merchandise, and real estate. They are on a mission to provide outstanding, state-of-the-art service and, ultimately, make farmers' lives simpler and easier.
Reduction in setup and reliability costs
Faster product development velocity
Excellent query performance
Nutrien needed to accelerate the development of their digital hub platform
With a mission to help farmers sustainably increase food production through technology, Nutrien set out on an ambitious goal — to launch an omnichannel(web, iOS, Android) customer product portal called a digital hub to give customers a complete overview and control of their agronomic and business needs.
As a 150-year-old company, they faced many challenges as they embarked on this digital transformation project. The most complex challenge was the plethora of data and APIs scattered across different business domains. To provide a better customer experience, they needed to integrate all this information from their strategic business functions to a single unified platform. In addition, they needed a powerful solution to describe all their data, serve multiple clients, and be highly reliable and scalable.
Some of the issues they faced when embarking on this project were:
Data hidden in silos in multiple back-end systems
As a merger of several companies and a network of over 2,000 retail locations across multiple business functions and partners, Nutrien had data in numerous back-end sources, which became complex to manage. They needed a way to unify all that data into a single layer for clients to consume.
Cumbersome and inconsistent REST APIs for client applications
Inconsistent REST APIs across Nutrien's existing applications were a common support issue. Every time a new application was onboarded, they had to set up or modify REST API endpoints, which led to many inconsistencies in the API. Additionally, REST APIs created by different teams used inconsistent approaches despite Nutrien’s efforts to discourage them. Ultimately, they needed a unified and consistent API solution that would be easy to consume and flexible enough to onboard different client applications without causing downtime.
Code-heavy development took longer to deliver new features
Nutrien observed that their development teams spent considerable effort building duplicative data-fetching code and aggregation layers to support their product needs, which put a strain on their product delivery time. They needed a solution to abstract the redundant API creation process and allow developers to build faster.
Developer productivity concerns
With their current technological stack, the Nutrien team saw low developer productivity. It became complex for their development teams to handle the increased operational and support burden of maintaining multiple REST APIs. Developers were also unexcited by the outdated integration systems they were currently using. Ultimately, Nutrien needed to eliminate the complexity and maintenance required to maintain multiple API responses across different clients and expose developers to new technology, allowing them to be productive.
“Hasura improved our software delivery times by putting a higher emphasis on data modeling and database design.”
Lead Quality Engineer, Nutrien
Why Nutrien chose Hasura
Hasura Cloud's instant GraphQL APIs streamlined and unified Nutrien's data layer.
Nutrien decided to implement GraphQL as the data access layer for their digital hub solution because it solved many of the data inconsistency and development velocity challenges. In their search for a GraphQL provider, they came across Hasura, ran a test implementation that provided promising results, and decided to use Hasura to power their GraphQL layer for the following reasons.
Nutrien architecture diagram
Easy onboarding process
Hasura's easy-to-use interface and clean documentation made it easy for them to set up and connect their Amazon Aurora PostgreSQL database. The seamless onboarding process also reduced their initial setup time and cost.
Instant auto-generated GraphQL APIs
Nutrien utilized Hasura’s instant GraphQL APIs on all its data sources. By creating a table on their database, they had instant GraphQL APIs with features such as aggregates and permissions. In addition, Hasura took care of Nutriens' API data layer, freeing their developers to focus on architecture and custom business logic, which saved them development and maintenance time.
Data consolidation with remote schemas and joins
Hasura's support for remote schemas enabled Nutrien to integrate previously separated and siloed back-end systems. They could merge data, models, and schema across their different business functions into a unified data access layer for clients to consume.
Simplified access control
Hasura's role-based access control (RBAC) capabilities with multi-tenancy support (which enabled security across shared infrastructure) ensured that sensitive data was only available to the right people. It also saved them significant development time if they had to implement the feature themselves.
REST API integration with Hasura Actions
Hasura Actions provided a quick and easy way to connect existing REST APIs to their unified Graph API. They could write custom business logic, wrap them around REST APIs, and easily integrate them with the unified GraphQL API. Hasura Actions allowed them to abstract the cumbersome and inconsistent REST API layer and provide a single federated GraphQL API for clients to consume.
“Hasura Cloud’s seamless onboarding process reduced our initial setup and reliability costs substantially.”
Lead Quality Engineer, Nutrien
Nutrien accelerated product development velocity with Hasura Cloud
With the help of Hasura, Nutrien has completed it’s digital hub project in less than a year. They have launched their omnichannel one-stop digital hub platform, allowing their customers to manage accounts, services, products, and payments across all online platforms. Some of the other benefits Nutrien attributed to using Hasura include:
Unified data access layer
Nutrien was able to unify its data access layer using Hasura. In addition, by utilizing Hasura-powered GraphQL APIs, they improved the cohesion of their back-end services, abstracting away multiple back-end systems from their client applications.
Simplified GraphQL API for all clients
Utilizing Hasura Cloud, Nutrien provided a simplified GraphQL API for all their clients. As a result, they could move away from inconsistent REST APIs, and all clients could connect to a single unified API. Consumers of their APIs could explore the graph and build new features more quickly. Hasura's GraphQL APIs also offered Nutrien an API standardization level they hadn't been able to embrace in the past.
Faster development time
With Hasura Cloud, Nutrien accelerated its development time from months to days. Hasura-powered GraphQL APIs allowed their teams to iterate on features faster and more independently while improving cross-team communication and collaboration.
Improved developer productivity
Nutrien saw a boost in developer productivity using Hasura Cloud in their tech stack. Developers no longer have to build repetitive CRUD APIs and are excited about upskilling and focusing on new technologies. Hasura Cloud also provided simplified deployment pipelines, and Nutrien developers experienced minimum maintenance and DevOps efforts using Hasura.
At an organizational level, GraphQL and Hasura specifically propelled Nutrien to come to a mutual understanding of the data types, models, and terminology used across their different services. Because of this, they could have more streamlined conversations about data problems and solutions.
“Hasura Cloud provided a faster and low code way of accessing data while adhering to security best practices.”
Lead Quality Engineer, Nutrien
What’s Next for Nutrien
As the world's premier provider of crop inputs, services, and solutions, Nutrien will continue to strive to stay competitive, and find innovative ways to build for its customers. Nutrien is a company driven by a purpose — to use technology to solve significant challenges in the agricultural sector.
The Nutrien Digital Product Development team continues to work with Hasura to build on that mission.
Thank you to our friends at Nutrien, and Jagannath Vaikuntham -Lead Quality Engineer, Nutrien for sharing their story with us!
Visit Nutrien website