The IT team at the Domain Group has dramatically reduced the time it takes to deploy production changes to its real estate listings site, after splitting its IT operations out of the broader Fairfax Media Group and embracing DevOps.
DevOps is an agile model that groups IT development and operations staff according to task, breaking down the walls that might otherwise have sat between these functions in large organisations. It aims to automate repetitive processes, particularly in testing and deployment.
The agile model tends to be in favour for the maintenance of online, customer-facing applications that demand constant change - which makes the likes of REA Group and Domain Group prime candidates. It doesn’t tend to be as warmly welcomed for development and deployment of more static systems of record or in those organisations burdened with legacy IT.
This week Domain Group technology director Paul McManus revealed the company has embraced DevOps to such a degree that it was able to push 150 small changes into production in a single month, up from eight to ten under its former model.
What’s more remarkable is that the Domain team has managed to move at this speed while developing on Microsoft’s .NET platform, which has been used in large enterprise for the better part of 12 years. Most organisations embracing DevOps have chosen to take the Linux path, thanks largely to the breadth of orchestration tools made available by the open source community.
Domain isn’t using Microsoft’s source code management tooling (Team Foundation Server), which is geared towards deploying an application to the Microsoft Azure cloud, and is yet to be made available to the general public in Australia.
Instead, the team has strung together an automated application development, deployment and monitoring pipeline that pushes changes to its .NET apps onto the cloud services of Microsoft rival Amazon Web Services, using a suite of tools largely developed by startups.
McManus sold the DevOps model into the business by clearly identifying the goal: “to be able to deploy new features multiple times a day,” he told iTnews.
That required making a conscious choice to untether Domain Group from its reliance on Fairfax’s broader technology operations as part of a broader corporate reshuffle 18 months ago. More crucially, it required the hire of operations staff that understood software development and software developers in the context of DevOps. Both are rare commodities.
McManus found Jason Brown, an infrastructure engineer who had worked in web development earlier in his career, and paired him with development manager Fabien Ruffin, to build a continuous deployment pipeline.
The operations function - beginning with Brown and now expanded to a team of three - were very deliberately placed inside the development team.
In traditional approaches to IT, Brown told iTnews, code was “thrown over the walls” between isolated teams responsible for development, testing and infrastructure. DevOps, by contrast, demands that the entire team “takes ownership of the application from development right through to hosting”.
“DevOps only works if it is embedded into the development team,” McManus said.
McManus made a case to the business that Domain Group would reap the rewards of DevOps if it first gave Brown and Ruffin some leeway to finesse a continuous deployment pipeline that could be proven to deliver changes to production systems safely.
"I explained that to ship features at speed, we needed to invest in people like Jason and Fabien and provide them the time required to implement this,” he said.
Read on for Domain's step-by-step deployment pipeline...