Computerworld

Inside Domain’s technology transformation

Domain invests in DevOps, product innovation

It’s fair to say that rise of digital has taken a toll on many Australian publishers, Fairfax Media among them. But although Fairfax has battled falling revenues as print fades, its multi-platform property business, the Domain Group, has delivered a string of outstanding results for the publisher, particularly in the digital sphere.

During his half year results presentation in February, Fairfax CEO Greg Hywood described Domain as a “remarkable business”. In November, Domain recorded its highest average daily unique browsers on record, Hywood noted.

“For the six months, average daily UBs have doubled. Each month Domain reaches 3.3 million people across all digital platforms,” the Fairfax CEO said. “Product innovation, marketing investment, high quality journalism and content, and our leading social media presence are powering growth in the number of visitors to Domain,” he added.

The growth of digital revenue at Domain as well as growing audiences for its websites and apps are no accident, according to Domain’s chief product officer, Damon Pezaro. Underpinning the group’s performance has been its investment in a multi-year technology transformation program, Pezaro argues.

“Domain is a very trusted brand, and it's got an amazing platform in terms of the legacy and the heritage of Fairfax,” Pezaro says.

“What Domain has been very successful at doing is transforming itself from a print business into a digital business. That’s not an easy thing to do but it has been enormously successful.”

Pezaro describes Domain today as a “technology-driven business”.

“[Technology] enables that digital growth. Without it, without our investment in our engineers, our technology, it could never ever, ever have materialised,” he says

The transformation program at Domain kicked off after the appointment of Antony Catalano as Domain CEO in November 2013 and has involved significant investment in both the product and technology teams.

"If you look at traditional business metrics — revenue growth, audience growth — it is truly stellar, it's just staggering,” Pezaro says. “Digitally, [growth has been] 30, 40, 50, up to 90 per cent in some areas of revenue. Audience numbers have literally grown, in areas, at the 100 per cent mark.”

Part of the transformation has been cultural — a focus on Agile and autonomous, empowered teams — and part has been technology-driven — ditching on-premise hardware in favour of the cloud. And part has been somewhere in between, such as the emphasis on DevOps, which has included investing in infrastructure automation.

Pezaro won’t put a figure on the total investment in the program by Domain, but he notes that over the last three years the combined headcount of the product and engineering teams has increased by around 100.

The end results of the process have been a culture, underlying infrastructure and software architecture geared to delivering products and value to the business as fast as possible, according to Pezaro and Domain’s director of technology, Paul McManus.

“Back at the start of this process, Damon and I ensured that our structures and our teams were closely aligned, so that whatever we delivered from the tech perspective was to enhance the product,” McManus says.

“Ultimately we are about building things that are providing value, and doing it in the leanest way possible.”

From McManus’ perspectives the key pillars of the program have been: Investing in DevOps, particularly in infrastructure automation; shifting to the cloud, implementing Agile for software development; and an increased emphasis on mobile-first development, enabled in part by a re-architecture focused on microservices and APIs.

“When we started, we were based out of a physical data centre on a fixed number of servers and had limited capacity for growth,” McManus says. “We undertook a huge migration to the cloud, so we're 100 per cent hosted on Amazon now.”

Although Domain has been using Amazon Web Services in some capacity for a number of years, it was about 12 months ago that the business did a final “lift and shift”, moving Domain.com.au and Domain’s backend services to Amazon’s cloud, he says.

“Moving to the cloud has given us the confidence that we can scale. It also means that as we come up with new ideas, new websites, new features, we have the capability to spin up infrastructure and have them running almost instantly.”

In aid of McManus’ mission to get new products deployed as quick as possible, there has been a significant emphasis on infrastructure automation.

“We’ve automated everything from our infrastructure down to the processes to allow us to shift changes out into production, to our customers,” McManus says.

Historically, Domain has been a Windows shop with .NET the software platform of choice. “In the Windows space, automation and DevOps was never a very big thing,” McManus says. “DevOps was born more out of the startup world where Linux and different open source technologies are really popular.”

McManus says that Domain ended up pioneering a lot of Windows-based automation tools.

“One of the cornerstone technologies we use is Windows DSC [Desired State Configuration],” he says. “Our guys were sending pull requests to Microsoft to support new features as we were building out our AWS infrastructure.” In addition to Windows DSC, Domain uses Octopus Deploy and Amazon’s CloudFormation service.

In the last 12 months, the technology team has started having more exposure to Linux and a range of other platforms and tools as it broadens the technologies it uses. “We now have the ability to really take a step back and choose the best tool for any particular job, and for many jobs that could be Node.js, it could be JavaScript, it could be Python,” McManus says.

When it comes to software architecture, the emphasis is on microservices, McManus says. That focus has been driven by the overall priority Domain has put on mobile (in the last 12 months, Domain’s mobile sessions have grown from 17.1 million to 38.6 million.)

“[Mobile has] been huge for Domain,” McManus says. “The way that we tackled it was by re-architecting to what we call a microservice architecture,” he says.

“What that means is that we're very API-first; all of our logic sits behind APIs which can then be used on our desktop website but also on our native Android and iOS apps and on our mobile website.”

McManus cites Domain’s Home Price Guide as an example of the advantages of the approach.

Home Price Guide launched in April 2015 and offers free access to data about a particular address that has previously been expensive or difficult to obtain for the general public, including historical sales information, estimated current value and rental return.

“We were able to use the microservice model to quickly build up the backend for the Home Price Guide,” McManus says.

“We actually took the microservice model a step further and we've moved to what we call microsites. What this allows us to do is break up a large website like Domain into lots of small independently deployable and scalable websites. That's the approach we took with Home Price Guide.”

“We were able to spin up a small, agile team that was very autonomous and had a single goal of getting this product to market,” he adds “They weren't held back by any of our legacy, or what any of our other teams were doing, and were able to very quickly iterate on that product and get something really awesome out there very quickly.”

The approach to building products underwent a shift three years ago when Pezaro brought an Agile coach into the business, McManus says.

“We moved away from this concept of long-running projects and writing upfront business cases and really moved to a model where we are going in fortnightly cycles, and optimising the way that we build software week in week out,” he says.

“When I started we were doing probably one to two product releases a week; in 2016 so far we're averaging over 70, which is amazing,” McManus adds.

“What that shows us is that that investment we made two years ago in automating how we deliver updates to the desktop website or to the mobile site, now allows us to deliver value for our customers as soon as possible.”

“Part of our philosophy here is really driving decision-making and driving empowered teams,” Pezaro says.

“It's quite simplistic why we do it: It's a lot about value creation, and all about creating an atmosphere and a culture where teams feel self-empowered and they can make decisions, and not wait for a sequence of events before they can act or move.

“Naturally it inspires people to bring their thoughts and ideas into the workplace, and it's proved incredibly successful in terms of enabling what's been quite a phenomenal story and transformation into what we'd like to think is a highly lean and agile organisation.”