EDMI has used Microsoft’s Azure cloud services to provide scalability to its key software platform as the company helps its customers roll out increasingly large fleets of smart meters.
The Queensland-based company’s head-end system, which collects data from smart meters four times a day and delivers it to energy companies (or in Australia to meter data providers — MDPs), is the product of a significant investment in software development.
EDMI was founded in Australia in 1978 as Electronic Design and Manufacturing Queensland, becoming Electronic Design and Manufacturing International in the early ’80s. In 2012 it was acquired by Japan’s Osaki Electric Co.
These days the company’s “bread and butter” is electricity smart meters, says Chris Hurt, but it also produces smart gas meters and is branching into smart water meters.
Hurt is the Queensland-based vice-president software for EDMI. He joined the company five years ago to pull together a team to write from scratch the company’s current head-end system.
The head-end system allows data from the meters — which can include basic consumption data as well as a range of alarms, such as tamper or heat alarms — to be fed to EDMI’s clients, which can use it to drive their billing and analytics systems as well as forecast demand.
The nature of the smart meter business has changed significantly over the last decade and a half, Hurt explained. Meters have gone from relatively expensive devices sold in low volumes to cheaper devices sold in ever-increasing volumes.
The previous software platform, which was built in Delphi, relied on a significant amount of on-premise infrastructure to drive it, but “as your fleet of metres expanded out to the hundreds of thousands, you would need a lot of servers to facilitate that, which is obviously quite problematic,” Hurt said.
“When we started doing the greenfield development on what we have now today, we were looking to address some of those challenges, such as horizontal scalability.”
Moving to a cloud service has provided the ability to scale as the company prepares to bring up to 10,000 meters online every week, and it has also helped EDMI build its platform as a software as a service offering.
EDMI’s meters support over-the-air upgrades — but in the past the company found that customers were tardy when it came to deploying updates.
“When we started looking at replacing Delphi, we stated thinking long and hard about putting it in the cloud, offering it as a SaaS product,” Hurt explained. The shift to a SaaS model has allowed the company to ensure that device updates are being rolled out.
The change has reduced the overhead that can come from managing fleets running a mixture of firmware versions and has security and maintenance benefits.
Convincing customers of the move to SaaS was not without challenges, Hurt said, but overall it has had a positive impact and allowed customers take on board additional features without needing to procure additional hardware first.
The use of cloud has also sped up the ability of EDMI’s team to develop, test and roll out platform updates.
“Having it all in the cloud, if we've needed to we've been able to spin up another environment to have a couple of people work on a particular problem,” Hurt said.
“We can make a change in a branch and have a thousand or so tests run automatically,” he said. “We’ll see what's broken and be able to go and make the required changes based on that.”
“We regression test essentially four or five times a day, just because of the way the automated tests work and the we way we do our branching,” he added.
“Doing that kind of regression test every day without any need of human intervention has allowed us to develop at a much faster rate, and it has allowed us to be more flexible too.”
The new platform was primarily written in C# and uses Microsoft’s .NET framework, making Azure a natural fit. The system is based on a discrete decoupled components joined together with Azure Service Bus, Hurt said.
In July 2014 work on building out the platform on Azure began, and in less than 12 months later in May 2015 the transition to the cloud was completed.
Initially the EDMI software team had been hedging its bets, going with an approach that would also allow for on-premise deployments. However Hurt said they felt that they would never achieve the full cost benefits available from using Azure as well as the scale they wanted.
“We, probably about six months into it, decided to just dive all the way in and completely adopt platform as a service in Azure,” he explained.
“I’m absolutely happy that we did that, and I don't think there is anyone in our development team that regrets it, even a little bit.”