A top-down reorganisation of Sky's gambling wing, Sky Bet, completely transformed the way it operated – moving from a kind of gaming-centric hosting service into a devops-friendly developer house intent on releasing as fast as possible and open to experimentation.
"We ripped Spotify off," says Gavin Harris, engineer manager for platform services at Sky Betting & Gaming. "We copied them, and that's kind of the model we're still using now – small, autonomous teams that have ownership of services and do what they will without outside interference."
It was quite a drastic change. The company had roughly 100 employees and did "everything" manually – and its model was to take software releases from third parties, deploy these, and run them.
"We wanted to move to a more devops and agile approach because we wanted to be first to market with features, more quickly than our partners," Harris says. "So we started creating internal development teams. The first one that we wanted to do was bringing the betting website in-house – the bet website was where the first in-house code was written, and it allowed us to start iterating our site much faster."
Sky Bet began emulating that approach across all the other divisions in the business, including bringing the application front-ends in house, and has started to fold the middleware and APIs in too. "Really these teams create services and have other teams using them," Harris says.
The configuration management suite from Chef is "central to everything" the company does.
"We use Chef for our infrastructure automation, for building applications, for driving APIs – what we want to do is give a developer a toolkit that has everything that they need to get started," Harris explains.
"It really starts with code generation – we supply Chef's cookbook generator to our developers and they can get started on an application very quickly, with all the compliance and everything built in from the get go.
"They can just start with their application, they don't need to start with: ‘How do I get a server?' or: ‘How do I apply this shared configuration that everybody needs to run on and add service to it?' It's just there by default because of the toolset we use, and because of Chef."
Selecting devops tools
When the business began thinking about practising devops, it looked at all the configuration management suites available at the time, including Puppet, Ansible, Chef, Saltstack, and CFEngine.
"We had a look to see what capabilities they gave us, and which was the most appropriate for our fit," Harris explains. "We went with Chef because it's very extensible, and very powerful – you can basically get it to do whatever you want, and extend it to do whatever you want. That extensibility is very important to us, so that's why we went for Chef."
He adds that the community was a factor, too – at the time Chef's contained the largest active community and contributor network, and it probably still does. "There's a lot of sharing and collaboration that goes on," Harris says.
"Previously you wouldn't really get events like this, where you get different companies telling their stories, and even horror stories. That's a bit different to how it was 10 years ago – you were inside big enterprise and you did things the way enterprise told you.
"I think things have changed a lot," he continues. "And practising devops has been absolutely critical for keeping people invested in services and passionate about them. It gives people ownership of the things they're working on, and it lets people be more passionate about it. Certainly for us, because they've got ownership of those products or whatever, naturally people feel more close to it – it's their thing they're looking after, they care about it."
It can be easy when you're elbow-deep in the devops community to assume this relatively new way of working is more widespread than it is. Harris offers a few morsels of advice for businesses like SMBs which have seen the noise surrounding devops and wish to explore it further.
"Look at what other companies are doing and rip them off," he says. "It's what we did five years ago, and it's not exactly the same as it was five years ago, we've tweaked the model to suit how we want to do things. But look at how other people are doing things and use their experience to drive your own devops revolution internally."
But just how would a business find out which of their competitors to rip off? Unusually, the devops community is incredibly open, and it's easy to get involved, Harris says.
"Come to things like Chef Summit, Chef Conf in Texas, go to conferences, go to your local devops meetups, there's usually one in each major city in each country," he says. "Go to those things and talk to people, see what works and doesn't work, and which ideas you should or shouldn't copy. There are people out there who have tried to do these things, so take advantage of that."
"Don't be ashamed to do it," he insists. "Follow the example other people set."