Enterprises need to realise there are no quick fixes when it comes to tapping into the DevOps software development trend, warns Etsy staff operations engineer Jon Cowie.
With the hype surrounding DevOps increasing, many enterprises may be thinking about adopting a similar approach to software delivery. This typically sees firms move from a model whereby they deploy large app updates every few weeks, to one that allows them to roll out new code in small batches far more frequently.
This is made possible by members of the IT operations and development teams working in small groups together, so that new updates can be written, tested and pushed out to production much more quickly.
Etsy, an online peer-to-peer marketplace, has been using a DevOps approach to push out new app and website features for around five years, and – according to reports – this allows it to carry out code updates every 20 minutes with little impact on its operations.
The company was founded in 2005, and features listings from 1.4 million sellers – who typically specialise in creating arts and craft items that are perused by its 21 million-strong buying community.
Back in 2009, the act of rolling out new site updates was a “very disruptive and painful process”, according to Cowie, which usually resulted in the site falling over for prolonged periods.
With millions of users around the world relying on the site to sell their wares, every second of downtime could potentially lead to a lost sale and – in turn – prompt its members to market their goods somewhere else online.
Read more about DevOps
- DevOps will shift from being a niche approach to application development and deployment and move into the mainstream over the next 12 months or so, according to Gartner
- Tools like Puppet and Chef have helped enable DevOps in the cloud, but hurdles remain when it comes to managing and analysing cloud-based apps
To protect against this, a new technical management team was brought in to help the firm adopt a more agile approach to software development that would eventually speed up its code-update deployment rates.
This saw former Yahoo director Chad Dickerson brought in as chief technology officer, along with several others. Dickerson, incidentally, went on to become the company’s CEO in July 2011.
“Bringing that group in is what first planted the seed of DevOps and the move to a continuous rate of delivery, and it’s all really grown from there,” says Cowie, who joined Etsy in 2011.
“As the company has grown, this idea that the closer developers and operations work together and understand each other’s problems, the more the company can achieve, has really taken hold.”
Changing business culture
Fostering a business culture that is conducive to this more collaborative way of working is half the battle for most enterprises going down the DevOps route.
Etsy has managed to side-step some of these issues, particularly when it comes to getting senior management types to buy into the DevOps way of working, because it’s a change that has been led from the top since the beginning.
“The hardest part is getting the business culture right, particularly when trying to transplant these DevOps ideas into a larger company,” says Cowie.
“You may have to deal with stakeholders at different levels who may not like this idea of relinquishing some power or giving people access to systems they previously haven’t had.”
"The hardest part is getting the business culture right, particularly when trying to transplant these DevOps ideas into a larger company. You may have to deal with stakeholders at different levels who may not like this idea of relinquishing some power or giving people access to systems they previously haven’t had"
Jon Cowie, Etsy
But for enterprise IT departments looking to win the board’s approval for introducing a more DevOps-friendly way of working, Cowie advises them to focus on the business benefits it can provide, rather than getting too bogged down in tech talk.
“You have to be able to demonstrate to the larger business why it’s not just a buzzword and can add value to the business, and the only way to do that is to give them a concrete project and show them how it has positively affected the business,” he says.
“The people who make the decisions at the top of the pile may be more business-minded than technically so, and you need to speak their language and demonstrate the impact it has had on key performance indicators or revenue that quarter.
“You need to sell the idea to them in business terms because IT and development are service organisations that exist to fulfil the priorities of the business,” Cowie adds.
In Etsy’s case, as previously mentioned, the move has enabled it to roll out website and app updates with greater ease and fewer disruptions, which – in turn – has made it easier for the firm to act on user feedback.
“If there is a new feature we’re thinking of introducing on the site, rather than do it as a single deployment, we can turn on said feature for a certain percentage of the user traffic and see what the response is,” says Cowie.
“Also, if we push code out that causes an issue, because we deploy the site so rapidly, we can very quickly tell which deploy it was that caused the problem, which we couldn’t do so easily if we pushed out two weeks of changes in one go.”
Change the business from within
Etsy’s operations are underpinned by on-premise infrastructure housed in a datacentre, which may surprise some given how intrinsically linked DevOps seems to be with the use of cloud technologies.
The on-premise versus cloud debate is a bit of a non-starter, says Cowie, as the company is able to accurately predict how demand for its site’s services are likely to change throughout the year. As such, sticking with its on-premise infrastructure makes commercial sense.
The firm does, however, make use of Chef’s automation software at various stages of the software development cycle, right up until the point the next update is ready to deploy.
Cowie is keen to stress, though, that automation is used to augment the activities of the company’s DevOps team, rather than as a replacement for it.
“The things we use Chef for are the things that computers are designed to do well. For example, ensuring that on 1,000 servers you have the same configuration file,” he says.
“Computers can do that more accurately than humans, which frees up our team to do the things they do well, like designing a complex architecture.”
Some enterprises might be tempted to hire an IT consultancy or independent services supplier to advise them on DevOps best practice or sell them a “drop-in” system that will help them get up and running quickly, says Cowie, but this is an approach he advises against.
“They can give you automation and measurement tooling, and they can certainly help you with the technical side of DevOps, but the cultural part of making it work well is so particular to each company,” he says.
“An independent service company can’t come in and know your business better than you do, so I would caution people against doing that.”