17 August 2018

Hedgebook Migration to MS Azure (a Microsoft case study)

Since its inception, Hedgebook had successfully delivered TMS via hosted infrastructure - until its migration to Microsoft SQL Azure in March 2018. So, what precipitated this significant transition?

Founded in 2011, in New Zealand, Hedgebook is a dynamic, international financial software company delivering innovative treasury management solutions to SMEs and their treasury providers – such as banks and foreign exchange brokers.  Its mission is ‘simple’. To provide analytical tools which make life easier for financial professionals. People who otherwise would still be grappling with spreadsheets to shed light on complex financial instruments. It’s a huge market. One that Hedgebook was first to identify, and quick to own…as Microsoft tells the story.

The new breed of Treasury Management System

Duncan Shaw, APAC Client Relationship Director, explains. “Yes, there are other Treasury Management solutions on the market, catering for the top end of town. With big-business price tags to match. But there was no TMS in the SME space, just good, old spreadsheets…. this is the void that we are filling.”

“We’re not competitors to larger, traditional TM systems. Our competition is the old-fashioned, unwieldy spreadsheet. Finance professionals have struggled to find a viable alternative to spreadsheets, until Hedgebook.”

Ian Ross, Chief Technology Officer (CTO), sums up the Hedgebook approach. “The big thing we have achieved is simplifying the complex. We take technology out of the equation, whilst putting big-business functionality in SMEs’ hands –at a fraction of the cost.”

Since its inception, Hedgebook had been successfully delivering TMS via hosted infrastructure, until its migration to Microsoft SQL Azure in March 2018. So, what precipitated this significant transition?

The relentless quest for performance gains and cost savings

Inherently, Hedgebook is thirsty for innovation, always looking for new ways to improve the functionality enjoyed by its customers. But as Ian Ross describes, it was the specific need to better service its larger clients that led to the company’s move to the cloud.

“For the level of functionality we were planning to introduce for our larger clients and distribution partners – Hedgebook needed to be super responsive and super scalable, without investing a whole lot of money upfront. Microsoft Azure quickly rose to the top of our list of cloud providers because the barriers to entry were so low.”

“We needed a safe environment, ticking the boxes of security, reliability, certification and accreditation. Microsoft gave us the feeling that we could ‘lift n shift’ from hosted infrastructure to the cloud – and quickly start to optimise our presence in that environment.”

“Previously, if I wanted to improve database performance, my biggest pain point was having to migrate from one virtual machine to another – with all the testing and heartache. With SQL Azure I drag a slider to the right, and suddenly I’m dealing with a much bigger database.”

“We migrated to Microsoft SQL Azure – and our customers didn’t notice”

Ahead of any significant shift in infrastructure, common sense dictates consideration to the possible knock-on effect on the end-user experience. Bryn Lewis, a Microsoft Most Valuable Professional (MVP) who has worked with Hedgebook since the early days, describes an initial migration without ‘any disturbance of the force’.

“Migration to cloud required minimal code or database changes, so we didn’t run up costs retesting code modifications. We simply dropped straight into the cloud and were up and running. Now we’re identifying performance improvements, cost reductions and reliability improvements at our leisure – rather than having to do it all up front.”

“We certainly achieved an ultra-responsive system, with far greater visibility and intelligence over the application. Which has allowed us to identify functionality with sub-optimal performance and fix them. Essentially saving money as we go.”

“And the clients scarcely noticed. Yet if they were to look at performance, the average user would notice the software running much faster than before.”

The technical journey behind ‘lift n shift’

Whilst Hedgebook describe the ease of migrating from hosted infrastructure to the cloud, the phrase ‘lift n shift’ perhaps trivialises the complexities behind the scenes. CTO Ian Ross picks up the narrative on the technical journey:
After several weeks’ preparation, we moved the Hedgebook Pro Software as a Service (SaaS) application from four dedicated servers hosted by SingleHop to Microsoft Azure.

The application is built using Visual Studio and consists of C/C++/C#/VB.Net code with a rich JavaScript web client. Data was stored in SQL Server 20012 and the core modules interacting via Microsoft Message Queue (MSMQ). (The Hedgebook application was originally developed on Windows Server 2008R2 and SQL Server 2000, but had been migrated to Windows Server 2012R2 and SQL Server 2012 R2.)
The initial focus was migrating the database from a dedicated SQL Server to SQL Azure. We repeatedly migrated the database using the Microsoft Migration Data Migration Assistant. Each migration focused on fixing a class of issues including: SQL ANSI-89 to ANSI 92 Syntax updates and moving off unsupported features.

The fixes were applied to the production database as part of the normal release cycle. Once the database could be migrated without any issues we moved to the application code & plumbing. In the hosted environment, the application was over provisioned to cope with EoM, EoQ, and EoY processing spikes which has significant cost implications.

Concurrently, we constructed a proof of concept (PoC) using an Azure Virtual Machine Scale Set (VMSS) to allow us to scale up & down the number of financial instrument pricing nodes in response to customer demand.

The VMSS nodes are provisioned using scripts based on the Azure VMSS Automation DSC sample. The scripts copy the necessary files from Windows Storage and install our pricing agent (a Windows Service) and dependencies (MSMQ etc.) on the standard Microsoft Windows Server 2012 R2 VM image.

Some of the VMSS provisioning configuration files were stored in Github and this caused us some issues in our trial live deployments. Between our PoC project (Jan 2018) and trial deployments to live Github disabled TLS V1.0 & V1.1 and required V1.2. In a standard Windows Server 2012R2 image V1.2 is not enabled so we had issues with connectivity. Migrating to Windows 2016 or moving configuration to Azure storage fixed were identified and confirmed as viable solutions.

With VMSS and the increased number of pricing nodes, we discovered a previously unknown threading issue in a cache implementation which required remediation. A .Net hash table had been used in a non-thread safe way and was causing application hangs and data corruption (in test), when a number of pricing nodes were running concurrently. Replacing the Hash table with a thread safe implementation and disabling the cache until it could be replaced with Redis were identified and confirmed as viable solutions.

The application has now been running for 18 weeks, during which there have been a couple of minor issues, unrelated to Azure, which we are in the process of investigating. The customer experience has improved with the initial performance testing indicating the pricing of a larger portfolio going from 35 to just under 20 seconds (depending on portfolio).

What’s the bottom line?

With the technical, performance and customer experience aspects of Hedgebook’s migration to Azure duly acknowledged, the company is also enjoying substantial, ongoing cost savings. Matching performance-to-performance on a standard month, Hedgebook reports saving an eye-opening 50-60% of their pre-migration costs for a like-for-like solution. Yet, as Ian Ross keenly observes, cost savings are not the bottom line – because Azure brings a wealth of inbuilt Microsoft benefits.

Microsoft – supporting companies in the post-GDPR world

“One of the first things we did when we got into the cloud was to turn on automated Transparent Data Encryption (TDE) – to take care of GDPR heartaches. Large customers ask all sorts of questions about hosting, and where data is stored (OLTP). These questions just disappear as soon as you say ‘we’re on SQL Azure’ because the platform has all the required compliance in place and is so well thought of by larger clients.”

“And that puts us in a tremendous position,” adds Ian Ross. “We now have the confidence to go after larger chunks of the market, globally, knowing that infrastructure won’t hold us back. With Azure, I’ve got the ability to scale the hardware almost instantaneously.”

A major step change –and the future’s bright

“Microsoft Azure has allowed us to build a product that we can put in front of some of the biggest distributors around, such as banks, FX brokers and accounting firms. The functionality we’re showing them is something they haven’t seen before, so it takes us to the next level. From a selling point of view, it’s really powerful – and I can’t say enough nice things about the amount of support Microsoft continue to give us.”

“Microsoft people are always happy to listen, and nudge us in the right direction. So we look forward to continuing to tie into emerging technology and adopt what we need to innovate as Hedgebook grows.”

Want to know the latest? Sign up to our newsletter.

Get irregular, sometimes irreverent, updates from the Hedgebook team.