Financial services firm Jack Henry finds a reliable, fast database in Azure Cosmos DB
Executive summary: Jack Henry & Associates offers financial services and products to some 8,500 banks and other financial institutions. Its old database was prone to crashes and could not scale to meet growing demand. Now, Jack Henry has a scalable, reliable database in Azure Cosmos DB.
Founded in 1976, Jack Henry & Associates offers a wide range of financial services to approximately 8,500 financial institutions. The company offers more than 300 products and services that help its customers process financial transactions, automate their businesses, and succeed in an increasingly competitive marketplace.
Recent, rapid growth has put pressure on Jack Henry’s IT services. Rising volumes of transaction data—now 18 terabytes, up from 13 less than a year ago—were taxing its existing HBase database solution. Peak demand spikes based on paychecks and other predictable events were becoming more difficult to manage with a database that lacked the ability to scale rapidly.
Old technology holds the company back
Chris Davenport, Senior Staff Engineer for Jack Henry, characterizes the situation: “We have a small IT infrastructure team, and supporting our previous database was difficult,” he says. “It was out of date, and we couldn’t update libraries easily. We had to hold back on building new library versions to avoid overwhelming our older technologies.”
Jack Henry also found that its region servers often crashed. “We had to tell people we were down, and that caused a lot of friction,” says Davenport. “That made us look for a more sustainable solution—one that was more dependable and would not put the same demands on our IT team.”
Jack Henry’s IT team considered creating an in-house solution before comparing cloud providers and choosing Microsoft Azure as the backbone of their infrastructure. The team deployed Azure Cosmos DB, a fully managed NoSQL database that offers fast response times, 99.999 percent availability, and instant scalability to respond to changing market conditions.
“The main allure of Azure Cosmos DB was that our infrastructure team wouldn’t need to be involved in the day-to-day operations of this massive store of data that is the foundation for our business,” says Davenport.
“We have a small IT infrastructure team, and supporting our previous database was difficult. It was out of date, and we couldn’t update libraries easily. We had to hold back on building new library versions to avoid overwhelming our older technologies.”
– Chris Davenport, Senior Staff Engineer
Jonathan Quist, Engineering Manager for Jack Henry, says the IT team took a multi-step approach to deploying Azure Cosmos DB. It began with what he calls “exploration”—introducing his team to Azure Cosmos DB and walking through its capabilities with Microsoft engineers. From there, the Jack Henry team consolidated the locations it updated or created transactions into a single place.
Then, the team dual-wrote transactions to both Azure Cosmos DB and the previous database, ensuring that each transaction was recorded with 100 percent accuracy. “We literally measured every error,” says Davenport. “If there was an error anywhere in writing, we had to go back to the start—otherwise we couldn’t guarantee the migration would work correctly.”
When it came time to migrate, the Jack Henry team spent three weeks on the process, culminating in a complete transfer of data to Azure Cosmos DB and designating that database as the single source of truth for the company.
Challenges to the switch were few but required work. One was the task of moving all of Jack Henry’s custom applications to Azure. The second was that Azure Cosmos DB was the first piece of software in which the team worked with Kubernetes clusters, an open-source tool that creates a set of node machines for running containerized applications.
Not long after the migration, Jack Henry had a hiccup that would have been serious a few months before. The team was still writing to the new solution when, as Quist describes, “We lost the connection to our previous database—and we didn’t even notice. That’s when we decided this is great.”
“The main allure of Azure Cosmos DB was that our infrastructure team wouldn’t need to be involved in the day-to-day operations of this massive store of data that is the foundation for our business.”
– Chris Davenport, Senior Staff Engineer
Better stability, scalability, and performance
Since then, Azure Cosmos DB has continued to impress. “We haven’t been paged once for a transaction this year, a page being an after-hours escalation. We were getting quite a few previously, and they’re very stressful. So that was a big impact,” Quist says. “Moreover, I do my own banking on the app, and the performance improvement is noticeable.”
Jack Henry’s customers also have noticed the upgrade. Transaction-related issues have plunged by 60 percent, improving customer satisfaction while reducing pressure on IT to respond. The company also has seen a dramatic improvement in system availability. Formerly, the database system was down anywhere from 30 minutes to two hours every few weeks. Now, says Quist: “That doesn’t happen anymore. We’ve had no downtime.”
From a business standpoint, consolidating services has given Jack Henry’s IT team a system that is easier and more efficient to manage. Soon, Jack Henry plans to deploy Azure Cosmos DB’s pagination solution, which streamlines how queries are processed. And it will begin moving older transaction data to tiered storage, meaning Jack Henry will pay less for storage while giving up some speed if data needs to be recalled.
Moreover, the company’s great experience with Azure Cosmos DB—a PaaS, or “platform as a service”—is leading them to look at other Microsoft PaaS tools.