How LinkedIn switched to Continuous Deployment
To adopt the new methodology, the social networks engineers had to halt site development for two months. Was it worth it?
Just over two years ago, LinkedIn, the “professional” social network, made the leap from a waterfall-like development process to continuous deployment. In the latest issue of Wired, VP of engineering Kevin Scott dished the inside story on the company’s painful transition to a modern development methodology
Despite being one of the largest social networks, until Scott moved from Google to LinkedIn in early 2011, new features were developed in isolation for long periods, before being merged into the trunk.
As you might expect, this approach is risky: these new features could clash and cause site-breaking errors, and LinkedIn’s chosen solution – to limit the number of features merged each month – slowed the site’s development.
When Scott joined the company, he decided to import Google’s practice of continuous deployment – a strategy quickly becoming the norm as applications move online. But for an organisation with around 1,000 employees at the time, this couldn’t be done overnight. In fact, to train up staff and build the necessary automated tools, Scott halted site development for a whole two months.
“It was a pretty big risk the business took, to look at its engineering team and say, ‘we’re going to completely change the way we do software… and somewhere in the middle of this two-month process you’re going to run across a bridge and burn it behind you,” he told Wired.
Scott’s new regimen should be familiar to those schooled in continuous integration: new code is submitted via a version control system and – if it passes automated tests – quickly merged into the trunk.
“We wanted to be at the point where… as soon as they were checking in their code… it was qualified and releasable… that anything sitting in trunk must be releasable at any point in time, and if it’s not releasable it’s just as significant as a site emergency.”
Wired list the range of new features rolled out at LinkedIn since the switch to CD as proof of its success, but without any solid data to hand, it’s difficult for outsiders to gauge its true importance.
However, if there’s a lesson to be learned from LinkedIn’s story, it’s that it’s never too late to adopt more modern software development methodologies – even after nine years of something else.
Photo by Sheila Scarborough.