Massively-scalable Internet advertising applications may have been popularized by the likes of Google and Yahoo but local company Mooter Media has developed its own clustered architecture on top of Ubuntu Linux and open source software.
Based in Sydney, the ASX-listed Mooter Media began life as a Internet search start-up before realizing two years ago ad broking was the best way forward.
Mooter's CIO, Mark Hetherington, was charged with implementing a platform that would scale from 100,000 transactions a day in 2005 to a projected 100 million a day in 2007 and beyond.
Hetherington's design considerations were that the platform had to be massively-scalable and redundant, and had to be able to support the release of new versions of the software quickly and without interruption.
"We had to move from single server to multiple server and multiple data centres," Hetherington said. "Our platform of choice was Linux for development reasons and our distribution of choice, Ubuntu, gave us a much more flexible way of managing software in an automated manner. The Debian packages allow you to deploy far more automatically whereas deploying to Red Hat is a pain in the bum."
With one in-house systems administrator, Mooter contracted Sydney-based consulting firm Solutions First to help achieve its goals.
On top of Ubuntu, Mooter had been using MySQL and Apache Tomcat with Java to facilitate its extreme programming methodology, with a release every two weeks or so.
Mooter's first challenge was database scalability, and to maintain a configuration data over multiple servers. To achieve this a three-tier architecture was implemented where a central application for updating configuration data replicates changes to all the servers. The "grand central" database is replicated to a "site central" database, which is then replicated to the servers, about 30 in total.
"Our peak was 80 million a day and we are capable of doing well over 100 million a day," Hetherington said, adding each dual-core server is capable of doing 4 million transactions a day and all are completely redundant.
"The only local information they keep is the clicks they process. If a disk on a server [was lost] we would lose some clicks and revenue but it was deemed affordable to lose a server and a bit of data. If a server goes down there is no impact on the business at all."
Hetherington is now confident the parallel scalability of the Mooter platform is theoretically "infinitely" scalable.
When Mooter began doing multiple machine deployments it would take two people a whole day to deploy, but by deploying its software with Debian packages it has got the process down to "an hour or two".
"All the system software is configured in Puppet and all [hosters] have to do is put a CD in the machine and the machine will come up and know what type of machine it is and install a Puppet client and get the config from the Puppet server," Hetherington said.
"You could do this with propriety software but it would cost you an arm and a leg and it would be hard to convince pure businesspeople it is worth doing. You can do it much more cheaply with open source software. The investment [for Mooter] was one man year as opposed to five man years."