SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
@mmaibaum
DevOps - Nothing Stays The Same
Michael Maibaum
@mmaibaum
Precis
Sky Betting & Gaming has become one of the largest online operators in the UK, undergoing a period of sustained high growth in customer
numbers, transaction rate, staff size, and number of systems. Five years ago, the company established its first DevOps team, and since then,
DevOps has become a major part of the way Sky Betting & Gaming does things. However, what that means keeps changing. Michael Maibaum
describes how the DevOps function has changed repeatedly over the last few years to help the company continue to move fast and keep systems
operating through organizational and technical challenges.

Originally, the DevOps team was established as a group of like-minded engineers keen to smooth the delivery of software into operations and make
it run better. As the business grew, the engineering teams were split and the accumulated DevOps knowledge distributed into those new groups,
but the team soon found out that things didn’t fit into a distributed function and features of the platform that need ownership. As a result, platform
teams were formed to produce products that other teams use. Sky Betting & Gaming’s DevOps experts now come in two categories: those that
directly work in or with individual (product) engineering teams and those that deliver a platform that makes life easier for the rest of the engineering
function.

It is easy to see a narrow definition of DevOps as part of the function of a specific engineering team. However, in the experience of Sky Betting &
Gaming, to achieve a truly effective delivery and operational culture (and indeed, DevOps) once you have hundreds of engineers requires
investment in the platform as a product in and of itself.

Michael outlines the history of DevOps at Sky Betting & Gaming and explains how the company has taken its DevOps philosophy into its vendors
as it takes its first steps into the cloud.
@mmaibaum
Introducing Sky Betting & Gaming
• One of the top 3 online gambling
operators in the UK
• 3 Categories of product
• Sportsbook
• Free Sports related content
• Gaming
@mmaibaum
A Diverse Technology Stack
@mmaibaum
In the Beginning
@mmaibaum
A Story of Change & Growth
2010 2015
£50M
£350M
• Business grew slowly for the first 8
years post-acquisition
• Interactive tv was seen as the next big
thing
• Major growth period starts in ~2008
@mmaibaum
2008
@mmaibaum
Infrastructure & Ops Only
• Tech Team
• No in-house development
• Hosting and operating third party vendors applications
• Waterfall project management and delivery
@mmaibaum
Focus on the Web
• Increased focus on the web, but still delivered by third party vendor software teams
• Starting to deliver real customer & revenue growth at this point, company profits
start to grow.
@mmaibaum
The End of the Beginning
• Business wanted to increase velocity
• More frequent change
• Cheaper to deliver new features
• More control
• Time to bring the user experience in-house
@mmaibaum
The First Problem
How to improve delivery & reliability from the in-house software teams?
Vendor
Ops
Dev
Backlog Wip Done Test Live
Delivery Team 1
Infrastructure
Service Desk
1st Line On Call
The First Answer - 2011
DevOps Team
2nd Line On Call
@mmaibaum
DevOps
• Build tooling focussed on developer productivity and system reliability
• First CI pipelines with Jenkins
• Load testing, capacity and scaling (large, peaky events)
@mmaibaum
Typical Saturday (Bets & Logins)
@mmaibaum
Centralised DevOps?
• Probably not want what you want to aspire to
• But… Can be a good way to start
• Start the cultural shift
• Solve the problem of not enough ‘DevOps’ to go around
@mmaibaum
DevOps Starting to Work
• Fit in well with increasing emphasis of agile delivery (Scrum, then Kanban)
• Central team provided a concentration of capability and culture
• Demonstrable wins important for adoption
• In-House Dev going well enough that we start work on Sky Vegas ‘in-house’
front end
@mmaibaum
Commits/MonthCommits/Release
@mmaibaum
March 2012
We go from 'does anyone think we
will be using the in-house site for
Grand National?' to 'does anyone
think we *won't* be using the in-
house site?'
@mmaibaum
Soon we had another problem…
How do we manage configuration for Disaster Recovery?
@mmaibaum
Config Management
ConfigureServer - Many custom perl scripts
Revision control via
something.pl.freds-test
something.pl.bak, something.pl.bak2, something.pl.old,
something.pl.not-sure-what-this-is-but-scared-to-delete-it
@mmaibaum
Platform Evolution
• Another Centralised Team
• This time born out of infrastructure and the DevOps team
• Created with a specific purpose (fix config management for DR, aka Chef
All the Things)
• This turned out to be hard - At least 1.5 years effort
• Lots of concurrent change, with little effective standardisation
Publish
Applications
Infrastructure
Code
(Chef, Ruby,
ServerSpec)
Publish
Application
Code
(PHP, NodeJS, React,
Java)
Release
Configuration
Orchestration
@mmaibaum
The Beginning of the Middle
The birth of tribes
@mmaibaum
DevOps was in danger of becoming Ops
• With teams growing and changing the ways they work, a centralised
devops team increasingly mis-aligned.
• DevOps engineers were spread out around different teams
@mmaibaum
Tribes
• Inspired by the Spotify white
paper
• Overall team getting too big
• Sub-divide into autonomous
teams first at main product level
(tribes, e.g. bet/gaming) then
squads within those.
Core Tribe
Gaming Tribe
Infra Tribe
Bet Tribe
Growing Pains - 2013
Backlog Wip Done Test Live Backlog Wip Done Test Live
Web Experience Place & Track Squad
Platform Ops
Service Desk
1st Line On Call
Backlog Wip Done Test Live Backlog Wip Done Test Live
Casino Squad Vegas Squad
Backlog Wip Done Test Live Backlog Wip Done Test Live
Platform Evo Account Squad
Backlog Wip Done Test Live
Infra Squad
SLM
Security
@mmaibaum
Better…
• Alignment with development
• Ownership of Ops issues in squads
• Knowledge of services each ‘DevOp’ was working with
@mmaibaum
But…
• The ‘DevOps’ were still the first on-call, cross tribe
• Increasingly limited knowledge of other teams services
• Team size awkward,
• too many services for individuals to know all services,
• not big enough to populate on-call with the right Ops skills
@mmaibaum
And…
Publish
Applications
Infrastructure
Code
(Chef, Ruby,
ServerSpec)
Publish
Application
Code
(PHP, NodeJS, React,
Java)
Release
Configuration
Orchestration
Publish
Applications
Infrastructure
Code
(Chef, Ruby,
ServerSpec)
Publish
Application
Code
(PHP, NodeJS, React,
Java)
Release
Configuration
Orchestration
Integration/Test/Production
Dev Ops
Publish
Applications
Infrastructure
Code
(Chef, Ruby,
ServerSpec)
Publish
Application
Code
(PHP, NodeJS, React,
Java)
Release
Configuration
Orchestration
Integration/Test
@mmaibaum
The Middle
of the Middle
aka 2014
@mmaibaum
Tribes have local focus
• Optimising for local concerns
• Delivery of that product
• Improvement of their technology stack
• Improving their processes
• Local service delivery teams
• Bet WebOps team (monitoring and so on)
• Bet SRE team
• Bet Delivery Engineering
@mmaibaum
Squads taking ownership…
• End to end ownership
• Design, Build, Run, Change, Fix, Retire
• Full support in a team - on call
• There are specialists, but they aren’t the only people that can do
things
@mmaibaum
But…
Should everything be a local concern?
@mmaibaum
Cross Cutting Platform Features
• What happened to Platform Evolution?…. It evolved into Platform Services
• There is a wider set of ‘PaaS’ like services that would be useful across the business
• Counterbalance ‘everything local’ inefficiencies
• What
• PlatCI - Our CI as a service platform (Jenkins etc),
• Shared Kafka - Messaging Platform as a Service
• Self Contained Projects - Get rid of the Dev/Ops tooling projects/tooling splits
Orchestration
Application + Config
Build
Jenkins
Publish
Cookbook (sbg_myapp)
• Infrastructure Code (Chef, Inspec, Custom Resources)
• Application Code (PHP, NodeJS, Java)
• CI Pipeline (Jenkins Pipeline, Chef)
• Integration Tests (Kitchen, Chef)
pscli
The ‘Glue’ - enables the consistent composition of toolsets in different environments
• Internal Tool
• Written in Go
• Pulls in various ‘tools’ Docker images
• Executes tools in containers, e.g.
• ChefDK
• Terraform
• Packer
• AWS Authentication
• Hashicorp Vault
• Code Generation
pscli generate cookbook myapp
Git
--volumes-from
/git
/opt/chefdk
ChefDK
--volumes-from
Docker Registry
Code Generator
--volumes-from
/generator
{command runner} ~/workspace/myapp
pscli kitchen converge
Git
--volumes-from
/git
{command runner}
Kitchen Suite A
Kitchen Suite B
/opt/chefdk
ChefDK
--volumes-from
Docker Registry
pscli terraform apply
/opt/terraform
Terraform
--volumes-from
Docker Registry
{command runner}
@mmaibaum
Vendors
• Bad vendor relationships can cripple progress
• Or they can enable it
• It is in your interest to help them as much as you can
@mmaibaum
Delivery Partners
• Bad vendor relationships can cripple progress
• Or they can enable it
• It is in your interest to help them as much as you can
@mmaibaum
Tribes Getting Too Big
• Feeling the pain of growth again
• Bet Tribe bigger than whole tech organisation was 3 years earlier
• Break up of bet tribe into smaller, nested, tribes
• Making more specialist roles closer to each ‘product’ delivery squad (e.g.
SRE as part of a squad)
@mmaibaum
Two kinds of ‘DevOps’
• People in every delivery team, some of these are DevOps specialists but the
whole team cares about the whole product lifecycle
• People in specialist teams working on shared platform capabilities
• Platform Services - Cross Tribe Services
• Platform Engineering (Big tribes have their own ‘shared’ services)
• Delivery Engineering (Specialists in tribes helping squads optimise
reliability & delivery, especially things like release engineering, CI, etc)
@mmaibaum
Path Dependency
• It really matters where you are, and where you are coming from
• At least as much as where you’d like to go to.
• There isn’t a path, because there isn’t an environment (and it changes)
@mmaibaum
The End?
@mmaibaum
There is no End
Except of this talk
http://engineering.skybettingandgaming.com

Weitere ähnliche Inhalte

Andere mochten auch

Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02
Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02
Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02Derek Ashmore
 
Refactoring Into Microservices 2016-11-08
Refactoring Into Microservices 2016-11-08Refactoring Into Microservices 2016-11-08
Refactoring Into Microservices 2016-11-08Derek Ashmore
 
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07Derek Ashmore
 
Microservices for architects los angeles-2016-07-16
Microservices for architects los angeles-2016-07-16Microservices for architects los angeles-2016-07-16
Microservices for architects los angeles-2016-07-16Derek Ashmore
 
Aws Lambda for Java Architects CJug-Chicago 2016-08-30
Aws Lambda for Java Architects CJug-Chicago 2016-08-30Aws Lambda for Java Architects CJug-Chicago 2016-08-30
Aws Lambda for Java Architects CJug-Chicago 2016-08-30Derek Ashmore
 
Front-End Single Point of Failure - Velocity 2016 Training
Front-End Single Point of Failure - Velocity 2016 TrainingFront-End Single Point of Failure - Velocity 2016 Training
Front-End Single Point of Failure - Velocity 2016 TrainingPatrick Meenan
 
Aws Lambda for Java Architects - JavaOne -2016-09-19
Aws Lambda for Java Architects - JavaOne -2016-09-19Aws Lambda for Java Architects - JavaOne -2016-09-19
Aws Lambda for Java Architects - JavaOne -2016-09-19Derek Ashmore
 
Debugging Distributed Systems - Velocity Santa Clara 2016
Debugging Distributed Systems - Velocity Santa Clara 2016Debugging Distributed Systems - Velocity Santa Clara 2016
Debugging Distributed Systems - Velocity Santa Clara 2016Donny Nadolny
 
Gmail for power users
Gmail for power usersGmail for power users
Gmail for power usersVeni Paladagu
 
MyVideo Talk-Internet Marketing
MyVideo Talk-Internet MarketingMyVideo Talk-Internet Marketing
MyVideo Talk-Internet Marketingmandakinee
 
ส่งตีพิมพ์ มสธ
ส่งตีพิมพ์ มสธส่งตีพิมพ์ มสธ
ส่งตีพิมพ์ มสธAon Narinchoti
 
Studium generale - HAS Hogeschool - Pierre van Hedel - Rabobank
Studium generale - HAS Hogeschool - Pierre van Hedel - RabobankStudium generale - HAS Hogeschool - Pierre van Hedel - Rabobank
Studium generale - HAS Hogeschool - Pierre van Hedel - RabobankHAS Hogeschool
 
Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...
Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...
Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...Nous Infosystems
 
The frustration with website security
The frustration with website securityThe frustration with website security
The frustration with website securitySucuri
 

Andere mochten auch (15)

Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02
Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02
Aws Lambda for Java Architects - Illinois JUG-Northwest -2016-08-02
 
Refactoring Into Microservices 2016-11-08
Refactoring Into Microservices 2016-11-08Refactoring Into Microservices 2016-11-08
Refactoring Into Microservices 2016-11-08
 
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
AWS Lambda for Architects - Chicago Coder Conference -2016-06-07
 
Microservices for architects los angeles-2016-07-16
Microservices for architects los angeles-2016-07-16Microservices for architects los angeles-2016-07-16
Microservices for architects los angeles-2016-07-16
 
Aws Lambda for Java Architects CJug-Chicago 2016-08-30
Aws Lambda for Java Architects CJug-Chicago 2016-08-30Aws Lambda for Java Architects CJug-Chicago 2016-08-30
Aws Lambda for Java Architects CJug-Chicago 2016-08-30
 
Front-End Single Point of Failure - Velocity 2016 Training
Front-End Single Point of Failure - Velocity 2016 TrainingFront-End Single Point of Failure - Velocity 2016 Training
Front-End Single Point of Failure - Velocity 2016 Training
 
Fail Well
Fail WellFail Well
Fail Well
 
Aws Lambda for Java Architects - JavaOne -2016-09-19
Aws Lambda for Java Architects - JavaOne -2016-09-19Aws Lambda for Java Architects - JavaOne -2016-09-19
Aws Lambda for Java Architects - JavaOne -2016-09-19
 
Debugging Distributed Systems - Velocity Santa Clara 2016
Debugging Distributed Systems - Velocity Santa Clara 2016Debugging Distributed Systems - Velocity Santa Clara 2016
Debugging Distributed Systems - Velocity Santa Clara 2016
 
Gmail for power users
Gmail for power usersGmail for power users
Gmail for power users
 
MyVideo Talk-Internet Marketing
MyVideo Talk-Internet MarketingMyVideo Talk-Internet Marketing
MyVideo Talk-Internet Marketing
 
ส่งตีพิมพ์ มสธ
ส่งตีพิมพ์ มสธส่งตีพิมพ์ มสธ
ส่งตีพิมพ์ มสธ
 
Studium generale - HAS Hogeschool - Pierre van Hedel - Rabobank
Studium generale - HAS Hogeschool - Pierre van Hedel - RabobankStudium generale - HAS Hogeschool - Pierre van Hedel - Rabobank
Studium generale - HAS Hogeschool - Pierre van Hedel - Rabobank
 
Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...
Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...
Webinar- Leveraging Reporting-As-A-Service to Improve Agility and Reduce Unit...
 
The frustration with website security
The frustration with website securityThe frustration with website security
The frustration with website security
 

Kürzlich hochgeladen

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Kürzlich hochgeladen (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

DevOps - Nothing Stays the Same

  • 1. @mmaibaum DevOps - Nothing Stays The Same Michael Maibaum
  • 2. @mmaibaum Precis Sky Betting & Gaming has become one of the largest online operators in the UK, undergoing a period of sustained high growth in customer numbers, transaction rate, staff size, and number of systems. Five years ago, the company established its first DevOps team, and since then, DevOps has become a major part of the way Sky Betting & Gaming does things. However, what that means keeps changing. Michael Maibaum describes how the DevOps function has changed repeatedly over the last few years to help the company continue to move fast and keep systems operating through organizational and technical challenges. Originally, the DevOps team was established as a group of like-minded engineers keen to smooth the delivery of software into operations and make it run better. As the business grew, the engineering teams were split and the accumulated DevOps knowledge distributed into those new groups, but the team soon found out that things didn’t fit into a distributed function and features of the platform that need ownership. As a result, platform teams were formed to produce products that other teams use. Sky Betting & Gaming’s DevOps experts now come in two categories: those that directly work in or with individual (product) engineering teams and those that deliver a platform that makes life easier for the rest of the engineering function. It is easy to see a narrow definition of DevOps as part of the function of a specific engineering team. However, in the experience of Sky Betting & Gaming, to achieve a truly effective delivery and operational culture (and indeed, DevOps) once you have hundreds of engineers requires investment in the platform as a product in and of itself. Michael outlines the history of DevOps at Sky Betting & Gaming and explains how the company has taken its DevOps philosophy into its vendors as it takes its first steps into the cloud.
  • 3. @mmaibaum Introducing Sky Betting & Gaming • One of the top 3 online gambling operators in the UK • 3 Categories of product • Sportsbook • Free Sports related content • Gaming
  • 6. @mmaibaum A Story of Change & Growth 2010 2015 £50M £350M • Business grew slowly for the first 8 years post-acquisition • Interactive tv was seen as the next big thing • Major growth period starts in ~2008
  • 8. @mmaibaum Infrastructure & Ops Only • Tech Team • No in-house development • Hosting and operating third party vendors applications • Waterfall project management and delivery
  • 9. @mmaibaum Focus on the Web • Increased focus on the web, but still delivered by third party vendor software teams • Starting to deliver real customer & revenue growth at this point, company profits start to grow.
  • 10. @mmaibaum The End of the Beginning • Business wanted to increase velocity • More frequent change • Cheaper to deliver new features • More control • Time to bring the user experience in-house
  • 11. @mmaibaum The First Problem How to improve delivery & reliability from the in-house software teams? Vendor Ops Dev
  • 12. Backlog Wip Done Test Live Delivery Team 1 Infrastructure Service Desk 1st Line On Call The First Answer - 2011 DevOps Team 2nd Line On Call
  • 13. @mmaibaum DevOps • Build tooling focussed on developer productivity and system reliability • First CI pipelines with Jenkins • Load testing, capacity and scaling (large, peaky events)
  • 15. @mmaibaum Centralised DevOps? • Probably not want what you want to aspire to • But… Can be a good way to start • Start the cultural shift • Solve the problem of not enough ‘DevOps’ to go around
  • 16. @mmaibaum DevOps Starting to Work • Fit in well with increasing emphasis of agile delivery (Scrum, then Kanban) • Central team provided a concentration of capability and culture • Demonstrable wins important for adoption • In-House Dev going well enough that we start work on Sky Vegas ‘in-house’ front end
  • 18. @mmaibaum March 2012 We go from 'does anyone think we will be using the in-house site for Grand National?' to 'does anyone think we *won't* be using the in- house site?'
  • 19. @mmaibaum Soon we had another problem… How do we manage configuration for Disaster Recovery?
  • 20. @mmaibaum Config Management ConfigureServer - Many custom perl scripts Revision control via something.pl.freds-test something.pl.bak, something.pl.bak2, something.pl.old, something.pl.not-sure-what-this-is-but-scared-to-delete-it
  • 21. @mmaibaum Platform Evolution • Another Centralised Team • This time born out of infrastructure and the DevOps team • Created with a specific purpose (fix config management for DR, aka Chef All the Things) • This turned out to be hard - At least 1.5 years effort • Lots of concurrent change, with little effective standardisation
  • 23. @mmaibaum The Beginning of the Middle The birth of tribes
  • 24. @mmaibaum DevOps was in danger of becoming Ops • With teams growing and changing the ways they work, a centralised devops team increasingly mis-aligned. • DevOps engineers were spread out around different teams
  • 25. @mmaibaum Tribes • Inspired by the Spotify white paper • Overall team getting too big • Sub-divide into autonomous teams first at main product level (tribes, e.g. bet/gaming) then squads within those.
  • 26. Core Tribe Gaming Tribe Infra Tribe Bet Tribe Growing Pains - 2013 Backlog Wip Done Test Live Backlog Wip Done Test Live Web Experience Place & Track Squad Platform Ops Service Desk 1st Line On Call Backlog Wip Done Test Live Backlog Wip Done Test Live Casino Squad Vegas Squad Backlog Wip Done Test Live Backlog Wip Done Test Live Platform Evo Account Squad Backlog Wip Done Test Live Infra Squad SLM Security
  • 27. @mmaibaum Better… • Alignment with development • Ownership of Ops issues in squads • Knowledge of services each ‘DevOp’ was working with
  • 28. @mmaibaum But… • The ‘DevOps’ were still the first on-call, cross tribe • Increasingly limited knowledge of other teams services • Team size awkward, • too many services for individuals to know all services, • not big enough to populate on-call with the right Ops skills
  • 31. Publish Applications Infrastructure Code (Chef, Ruby, ServerSpec) Publish Application Code (PHP, NodeJS, React, Java) Release Configuration Orchestration Integration/Test/Production
  • 32. Dev Ops Publish Applications Infrastructure Code (Chef, Ruby, ServerSpec) Publish Application Code (PHP, NodeJS, React, Java) Release Configuration Orchestration Integration/Test
  • 33. @mmaibaum The Middle of the Middle aka 2014
  • 34. @mmaibaum Tribes have local focus • Optimising for local concerns • Delivery of that product • Improvement of their technology stack • Improving their processes • Local service delivery teams • Bet WebOps team (monitoring and so on) • Bet SRE team • Bet Delivery Engineering
  • 35. @mmaibaum Squads taking ownership… • End to end ownership • Design, Build, Run, Change, Fix, Retire • Full support in a team - on call • There are specialists, but they aren’t the only people that can do things
  • 37. @mmaibaum Cross Cutting Platform Features • What happened to Platform Evolution?…. It evolved into Platform Services • There is a wider set of ‘PaaS’ like services that would be useful across the business • Counterbalance ‘everything local’ inefficiencies • What • PlatCI - Our CI as a service platform (Jenkins etc), • Shared Kafka - Messaging Platform as a Service • Self Contained Projects - Get rid of the Dev/Ops tooling projects/tooling splits
  • 38. Orchestration Application + Config Build Jenkins Publish Cookbook (sbg_myapp) • Infrastructure Code (Chef, Inspec, Custom Resources) • Application Code (PHP, NodeJS, Java) • CI Pipeline (Jenkins Pipeline, Chef) • Integration Tests (Kitchen, Chef)
  • 39. pscli The ‘Glue’ - enables the consistent composition of toolsets in different environments • Internal Tool • Written in Go • Pulls in various ‘tools’ Docker images • Executes tools in containers, e.g. • ChefDK • Terraform • Packer • AWS Authentication • Hashicorp Vault • Code Generation
  • 40. pscli generate cookbook myapp Git --volumes-from /git /opt/chefdk ChefDK --volumes-from Docker Registry Code Generator --volumes-from /generator {command runner} ~/workspace/myapp
  • 41. pscli kitchen converge Git --volumes-from /git {command runner} Kitchen Suite A Kitchen Suite B /opt/chefdk ChefDK --volumes-from Docker Registry
  • 43. @mmaibaum Vendors • Bad vendor relationships can cripple progress • Or they can enable it • It is in your interest to help them as much as you can
  • 44. @mmaibaum Delivery Partners • Bad vendor relationships can cripple progress • Or they can enable it • It is in your interest to help them as much as you can
  • 45. @mmaibaum Tribes Getting Too Big • Feeling the pain of growth again • Bet Tribe bigger than whole tech organisation was 3 years earlier • Break up of bet tribe into smaller, nested, tribes • Making more specialist roles closer to each ‘product’ delivery squad (e.g. SRE as part of a squad)
  • 46. @mmaibaum Two kinds of ‘DevOps’ • People in every delivery team, some of these are DevOps specialists but the whole team cares about the whole product lifecycle • People in specialist teams working on shared platform capabilities • Platform Services - Cross Tribe Services • Platform Engineering (Big tribes have their own ‘shared’ services) • Delivery Engineering (Specialists in tribes helping squads optimise reliability & delivery, especially things like release engineering, CI, etc)
  • 47. @mmaibaum Path Dependency • It really matters where you are, and where you are coming from • At least as much as where you’d like to go to. • There isn’t a path, because there isn’t an environment (and it changes)
  • 49. @mmaibaum There is no End Except of this talk http://engineering.skybettingandgaming.com