Modernizing API architecture: ISOS’s journey with Hasura

  • Achieved a 40% reduction in API development effort
  • Decreased long-term maintenance costs by 30-35%
  • Enhanced user experience for over 3 million people

Founded in 1985, International SOS (ISOS) is a leader in travel risk management and security services, serving 85% of Fortune 500 companies. In recent years, ISOS has expanded its digital offerings to provide real-time assistance and monitoring to corporate travelers worldwide, even offering on-the-ground support in high-risk situations.

International travel can involve various risks, from visiting hazardous regions to dealing with unexpected health crises, political instability, or natural disasters. ISOS helps businesses prepare for, prevent, and manage risks throughout their employees' journeys – from when they book their trip until they return home safely.

ISOS processes millions of traveler records and itineraries daily, but their previous API architecture was limited and could not fetch data from different databases in the same API call. For this, multiple process- and experience-driven APIs had to be written, which only added to the applications’ performance bottlenecks, growing technical debt, and slow feature velocity. Recognizing these challenges, ISOS started exploring new approaches to building APIs.

Challenge: The need for a modern API approach

Nitendra Raghuwanshi, Director of Engineering at ISOS, leads the team developing and maintaining two digital products, translating to 60-70% of digital products in their business unit.

The first is an app for travelers that provides features like advice about high-risk destinations, real-time emergency alerts, and round-the-clock assistance for various situations. The second product is a platform for organizations to keep track of employees traveling abroad.

ISOS’s original architecture was a complex sprawl of .NET REST APIs, serving domain data to their frontend. Data was organized by business domains (traveler, trips, etc). Since most frontend consumers needed data from multiple domains, their API architecture was layered with domain APIs, process APIs, and experience APIs.

This approach wasn’t scaling effectively for them on multiple fronts.

First, since all the APIs were manually coded in .NET, setting up or evolving an API was slow and lacked consistency. They used a legacy API integration solution to aggregate domain APIs into process APIs, a tedious and duplicative process, resulting in significant technical debt. And, this API gateway product was hitting performance roadblocks at their scale, requiring frequent interventions and fixes.

Raghuwanshi and the team initiated a re-platforming project to solve these challenges and unfavorable consequences.

Solution: Accelerating development and enhancing performance with Hasura

ISOS chose to move to GraphQL to fulfill their need for flexible cross-domain composition. Given their aggressive launch timeline of delivering 200+ APIs in three months, they swiftly dismissed conventional resolver-based GraphQL solutions like Apollo and AWS AppSync.

Hasura quickly bubbled up as a top choice because it met all their functional requirements, and the low-code resolver-free approach aligned with their focus on developer efficiency.

“Only one or two people out of 70 knew about GraphQL, and they had not worked on it. So it would have been challenging to learn conventional GraphQL development," said Bharadwaj Kunapuli, Head of Engineering. "One of the reasons I was interested in Hasura is it reduces the burden of writing the resolver.”

Hasura is a SaaS product that really simplifies your backend API development. It abstracts backend complexity and lets us focus on business logic, taking care of technical complexities in a very intuitive way. – Nitendra Raghuwanshi, Director of Engineering at ISOS

Hasura was first assessed via a rigorous month-long vendor risk assessment (VRA) process involving an external InfoSec team. Raghuwanshi emphasized, “We process a lot of sensitive client data, and we are very cognizant of our responsibility to make sure that it’s used in the most appropriate and secure way.”

He also added, “Data security and information security is paramount, and our VRA process follows strict industry guidelines. So when Hasura was given a green light from a vendor risk assessment point of view, that was a significant vote of confidence in the vendor.”

Once Hasura cleared ISOS’s rigorous VRA process, a detailed technical evaluation followed, which progressed smoothly. Hasura was chosen to accelerate time-to-market, increase development velocity, and enhance overall performance.

Overcoming API complexity and seeking efficient data processing

Hasura significantly simplified their multi-layer API architecture. Their domain data resides in a mix of legacy and cloud databases, across SQL Server, PostgreSQL, and Amazon Redshift. With Hasura, they now have a single composable GraphQL API on all their domain data, completely eliminating the need for multiple experience and process APIs that previously needed to be built.

Raghuwanshi elaborates on the pros of Hasura: “We’ve gone from using three APIs to just one in many cases.” With fewer backend calls, performance is better, improving query efficiency by more than 40% in many cases.

Raghuwanshi added, “Our products rarely display data from only one domain. So any time we have to reference cross-domain data in one call, that is an exclusive case for Hasura, and that is where we see a lot of value out of it.”

Hasura’s intuitive interface and powerful actions and permissions features also empowered development teams to create APIs independently, reducing bottlenecks and slow time-to-API.

Improving development and cost efficiency with Hasura

Developer productivity and the resulting boost in feature velocity was a major reason that the ISOS team chose Hasura. According to Raghuwanshi, Hasura has led to a 40% reduction in an individual engineer’s development effort and a 30-35% decrease in long-term maintenance costs.

Millions of people are viewing the results of Hasura queries,” Raghuwanshi explained.  “The performance of Hasura queries has been good, and the ability to cache out-of-the-box static data has been very helpful. – Nitendra Raghuwanshi, Director of Engineering at ISOS

In addition to accelerating  development, Hasura's security features enabled ISOS to manage permissions and optimize data security in line with their stringent standards. Raghuwanshi also noted that the ability to configure permissions with Hasura was a favorite feature.

Features like actions, which allow HTTP REST endpoint calls through Hasura queries, and the ability to use data as a view with native queries added significant value to their API development process.

A valued partnership

Beyond ISOS’s technical success with Hasura, Raghuwanshi praised the partnership, highlighting the Hasura team’s responsiveness to their feedback and requests. He said, “When we started, we wanted to use Redshift, which wasn’t supported in Hasura at the time, but was on their roadmap. We were given clear visibility on when it would be delivered, and it was delivered on time.”

Raghuwanshi also came across a filtering-related issue, which the Hasura team resolved in quick order. He adds, “The team has taken our feedback and resolved some of these critical items for us. So another good thing about the engagement is that it has a constant feedback loop."

Overall, Raghuwanshi and the ISOS team has been very impressed with the transparency of feature availability and the follow-through of Hasura’s customer success teams to work with technical experts and implement changes.

Scaling for millions of users, and beyond

Hasura APIs now power ISOS’s subscriber and manager products, which manage an impressive millions of passenger name records (PNRs) per month across 32,000 data feeds. Combined with the comprehensive out-of-the-box feature set, the high performance with minimal manual tuning has been a key advantage of Hasura.

Our products rarely display data from only one domain. So any time we have to reference cross-domain data in one call, that is an exclusive case for Hasura, and that is where we see a lot of value out of it. – Nitendra Raghuwanshi, Director of Engineering at ISOS

With 13 million iOS downloads and hundreds of thousands – if not millions – of active users, the platform’s performance is critical, particularly given the often urgent nature of the requests it handles.

“Millions of people are viewing the results of Hasura queries,” Raghuwanshi explained.  “The performance of Hasura queries has been good, and the ability to cache out-of-the-box static data has been very helpful.”

Looking ahead, ISOS plans to integrate Hasura into all new products, including a new admin console for enhanced administrative control over employee travel experiences.

By adopting Hasura, ISOS has elevated the quality and performance of its digital services. This positions ISOS to better serve clients and uphold their mission of saving lives.

“Hasura is a SaaS product that really simplifies your backend API development,” Raghuwanshi summarized. “It abstracts backend complexity and lets us focus on business logic, taking care of technical complexities in a very intuitive way.”

Blog
05 Oct, 2024
Email
Subscribe to stay up-to-date on all things Hasura. One newsletter, once a month.
Loading...
v3-pattern
Accelerate development and data access with radically reduced complexity.