MYOB was one of the first companies to adopt Microsoft's Azure cloud service. It used Azure to provide a way of synchronising data across multiple copies of its AccountRight Windows-based accounting software.
One of the main problems with desktop accounting software was that it meant a business owner couldn't easily work on different computers at home and in the office. Nor could accountants or external bookkeepers work on the same copy of the data as their clients.
But that was overcome by using Azure to keep AccountRight databases synchronised across multiple computers. And unlike SaaS products, AccountRight could be used even when internet access was unavailable – any changes were applied when that particular computer was next online.
As a single tenant solution, AccountRight required each customer to have their own database in the cloud. MYOB explored options including migrating customers to Azure’s S3, or to the then still-emerging Elastic Pools. After much consideration and testing, it went with Elastic Pools because MYOB was confident it could work with Microsoft to overcome any challenges that might arise.
Elastic Pools was designed to reduce the database management effort for Azure customers with a large number of databases, and there are around 120,000 AccountRight databases for MYOB to look after.
At the same time, MYOB wanted to move the AccountRight databases from Singapore to Australia. Latency was one issue, especially for MYOB customers in New Zealand. Another was that as MYOB was using so many Azure resources in Singapore, Microsoft could not guarantee 100% business continuity from the one location, explained MYOB development manager Alex Barreto.
So the software was redesigned to be multi-datacentre-aware, and the data is now split between Melbourne and Sydney, and can be restored to any Azure data centre in the world to ensure business continuity.
The performance improvements provided by Elastic Pools plus the latency reduction from using onshore data centres together yielded a 70% performance improvement in AccountRight's cloud functionality for Australian and New Zealand customers, Ferguson said.
While the entire project took a little over a year (including the preliminary work on S3), the actual migration between data centres took around 21 nights during May and June 2016, during which time MYOB's tech team consumed 472 cups of coffee and established 312 Elastic Pools on the Azure cloud with absolutely no downtime for users. "They would not have known that we made that migration" apart from the performance improvement, he said, and that was "a fantastic outcome for our clients".
"Performance has held up," he added, and MYOB is enjoying the benefits of Microsoft's tooling for Elastic Pools.
Part of the problem with managing a large number of databases, Barreto explained, is that there are limits on how many databases can be assigned to one pool, and costs rise as additional resources are made available to a pool. So an important systems management task is moving databases from one pool to another to optimise performance and keep the total cost down. For example, it is desirable to have a mix of low, medium and high-activity databases in each pool to smooth out the demand on resources. Microsoft provides the tools needed to make these adjustments without service disruptions.
Asked for a tip for his peers, Barreto suggested organisations that expect to scale rapidly should make their software multi-datacentre-aware from the start.