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."
Sign up for CIO Asia eNewsletters.