Wednesday, 29 October 2014 17:15

MYOB moving ahead with microservices


MYOB CTO Simon Raik-Allen tells iTWire how his company's adoption of microservices means higher-quality software is being built more quickly and allowing the most appropriate technologies to be applied to each function.

The microservice concept has something in common with services oriented architecture (SOA), but that was often about about presenting a particular functionality of a larger program so that it could be readily consumed by other pieces of software. For example, a 'get customer address' service might be implemented to extract an address from the CRM. If the CRM is subsequently replaced with another vendor's product, the service can be updated to access the new system and (in theory) all the software that calls the service will continue to function correctly without modification.

In contrast, microservices are built from scratch to deliver the required functionality and nothing else. So each microservice is independent, with its own data storage and API.

Among the benefits of this approach are that it allows work to proceed in smaller chunks, the largely self-contained nature means easier testing and therefore better quality, isolation of functions means more people can simultaneously work on different aspects of a system, microservices are readily reusable (though that's just the icing on the cake, according to Raik-Allen, even though it can result in "massive savings"), each microservice can be scaled independently, and the most appropriate technologies can be selected for each.

This particularly applies to data storage. The relational database model has become ingrained, said Raik-Allen, but it might not suit a particular purpose. In fact, "SQL is not the right choice of database in most instances," he told iTWire. "A database adds so much overhead" and may be completely unnecessary if all the data can fit into memory, which is often the case with today's hardware.

Even if it's necessary to access another computer's memory via a network connection, that's still faster than accessing a disk drive, he said.

He conceded that having a query language can be useful, but pointed out that "there's this thing called a For loop."

The point is that different microservices can use whichever database is most suitable, or none at all.

The architecture isn't without drawbacks.

"You've got a discovery problem," said Raik-Allen, but this can be addressed with service catalogues as well as informal tools used by developers such as wikis or simply conversations among peers.

The code does need to be resilient, as individual services operate in a relatively dynamic environment, and it is somewhat harder to achieve transactional integrity when that is required.

There are also some maintenance issues. While the API may remain constant, it is possible that implementation changes may adversely affect software calling the service, especially if it makes unwarranted assumptions. So it is necessary to keep track of what software uses the service and how, and to test accordingly.

And there's the question of whether to allow multiple versions of a service's API. Some organisations do while others don't, he said, but either way it is important to ensure that everything keeps working.

Microservices and DevOps go together well, he suggested. Microservices fit into a DevOps environment, and they need DevOps to work well as developers need to understand the operational impacts.

"We're about 20% in," Raik-Allen said. Some microservices have already been built, but he's still working on awareness issues. "It is a big shift in the way you build applications," but the people that are using microservices wouldn't do it any other way.

MYOB has built a microservice called Glass (general ledger as a service) that is already used by MYOB Essentials Cashbook, and Raik-Allen expects the general ledgers in all of the company's products will be migrated to it over the next five years.

Similarly, a logging microservice has been developed and will be widely used by MYOB software. This saves application developers having to worry about the details of logging or managing the required disk space. It also provides a central repository for log data, making it easier to analyse with BI tools.

Work is underway on an invoicing service which will identify new invoices in AccountRight, ask the client if they should be paid, and if so perform the transaction and otherwise generate a reminder a few days before the due date. This is being built from scratch from six microservices, including one for sending emails that has already been reused elsewhere.

Subscribe to ITWIRE UPDATE Newsletter here


The much awaited iTWire Shop is now open to our readers.

Visit the iTWire Shop, a leading destination for stylish accessories, gear & gadgets, lifestyle products and everyday portable office essentials, drones, zoom lenses for smartphones, software and online training.

PLUS Big Brands include: Apple, Lenovo, LG, Samsung, Sennheiser and many more.

Products available for any country.

We hope you enjoy and find value in the much anticipated iTWire Shop.



iTWire TV offers a unique value to the Tech Sector by providing a range of video interviews, news, views and reviews, and also provides the opportunity for vendors to promote your company and your marketing messages.

We work with you to develop the message and conduct the interview or product review in a safe and collaborative way. Unlike other Tech YouTube channels, we create a story around your message and post that on the homepage of ITWire, linking to your message.

In addition, your interview post message can be displayed in up to 7 different post displays on our the site to drive traffic and readers to your video content and downloads. This can be a significant Lead Generation opportunity for your business.

We also provide 3 videos in one recording/sitting if you require so that you have a series of videos to promote to your customers. Your sales team can add your emails to sales collateral and to the footer of their sales and marketing emails.

See the latest in Tech News, Views, Interviews, Reviews, Product Promos and Events. Plus funny videos from our readers and customers.


Stephen Withers

Stephen Withers is one of Australia¹s most experienced IT journalists, having begun his career in the days of 8-bit 'microcomputers'. He covers the gamut from gadgets to enterprise systems. In previous lives he has been an academic, a systems programmer, an IT support manager, and an online services manager. Stephen holds an honours degree in Management Sciences and a PhD in Industrial and Business Studies.

Share News tips for the iTWire Journalists? Your tip will be anonymous




Guest Opinion

Guest Interviews

Guest Reviews

Guest Research

Guest Research & Case Studies

Channel News