SlideShare a Scribd company logo
Imagine this:
● Developer of something
technical
● Domain expert, but developing
in isolation.
● Not data-driven
● Little feedback
Operations
● Need to make it run smoothly
● But everything is reactive not
proactive.
● Only know when things go
wrong
● Deep understanding of how
things really work
Sound familiar?
● In case you didn't spot the
title, I'm actually talking about
Bus Companies
● Disclaimer: I may have
exaggerated a little!
● I’m going to work through an
analogy between buses and
software
Buses Software
Scheduler Developer
Operations Operations
Schedule Software
Buses/Stops Servers, Containers
GPS pings, etc Instrumentation
Passengers Users
Reliability Uptime
Efficiency Latency
● Great they’re the same, let’s
do DevOps!
● The analogy breaks down
when it comes to tools
● No bus equivalent for Git,
Kubernetes, Terraform, Cloud
etc
One view of what we’re doing is Devops for Buses.
Creating a toolbox with DevOps in my mind,
rather than tools that match the current process.
Devops
for Buses
Cityswift create more efficient and reliable bus timetables
using:
● Lots of Data
● Machine learning
● Mathematical optimisation
For instance, how can we avoid
all the buses arriving at once?
Let’s look at 3 of our tools and
their software equivalents.
3 tools and their analogues
SWIFT INSIGHTS
● View historical and
predicted data on journey
times and passengers
● Schedulers get detailed
feedback on the impact of
their changes
● Datadog to view latency
and throughput
● A/B Testing
BUS SOFTWARE
3 tools and their analogues
SWIFT SCHEDULE
● Automated creation of bus
schedules
● Version controlled
● Terraform, Ansible to
provision infrastructure
● Git
● Jenkins
BUS SOFTWARE
3 tools and their analogues
SWIFT OPS (Coming Soon!)
● Dashboard for Operations
● Solve issues before they
happen
● Log incidents
● Datadog alerts, OpsGenie
● No blame post-mortems
BUS SOFTWARE
Motivation for Bus Companies
We’ve all been on a bus when things went wrong
● Weather
● Break down
● Bus full at a football match
● Its bad for passengers and what's bad for
passengers is bad for bus companies
Benefit to Bus Companies
● Add more buses for reliability?
● But running a very reliable service is expensive
and inefficient, need a happy balance
● Think # servers vs response times
● Bus companies can get fined by regulators for not
hitting KPIs (not nine-nines though!)
13
Aren’t we doing it the
wrong way around?
● Should be People before Process
before Tools
● Bus companies have the right
people, they're specialists in a
difficult domain.
14
● We didn't dive headlong into tools
● We talked with them and worked out
a process collaboratively
● From seeing how they work, we
know that the existing tools don’t
create the right process
Aren’t we doing it the
wrong way around?
Process
15
Data-driven
All the data is
available rather than a
subset
Automation
Automating the
boring parts, free
up the experts
Continuous Delivery
Automation allows
more frequent
schedule changes
Process
16
Version control of
Schedules
Treating the schedule
as you would treat
code
Monitoring and
Feedback
Correlate
schedules, KPIs and
incidents
Collaboration
No strict split in
tools for Dev and
Ops.
In Praise of Tools
● We shouldn't dive headlong into creating tools to
solve problems
● But we should create tools that encourage the
process we want.
● I think that tools help create the de facto process,
whatever the de jure process is
Where does the Analogy
Breakdown?
● Timeframes are much longer, and
feedback is slower. Think months
not minutes
● And you can't just run
kubectl make more buses
(But, if you know how to solve
that, you're hired! )
What can Software Engineers
learn from
Bus Companies?
● Tools shouldn't automate everything
● But should make it easier for the expert to make
decisions.
● Experts will spot the patterns and apply some
tricks (E.g. anomaly detection is hard!)
Thank You!
Check us out at cityswift.com
whoami
Frank Farrell
Lead Developer and Cloud Architect
@CitySwift
github.com/frankfarrell
linkedin.com/in/frank-farrell-44529a93
ofearghp@gmail.com

More Related Content

PPTX
ViewPro | Productivity never looked better...
PDF
PDF
Introduction to DevOps
PPTX
DevOps Overview in my own words
PDF
Agile.. and then? – Enterprise DevOps: the digital transformation of the IT...
PDF
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
PDF
Digital Disruption with DevOps - Reference Architecture Overview
PPTX
How to apply machine learning into your CI/CD pipeline
ViewPro | Productivity never looked better...
Introduction to DevOps
DevOps Overview in my own words
Agile.. and then? – Enterprise DevOps: the digital transformation of the IT...
Producing Systems That Enable The Innovation That Autonomous Vehicles Will Re...
Digital Disruption with DevOps - Reference Architecture Overview
How to apply machine learning into your CI/CD pipeline

Similar to Devops for buses(1)(1) (20)

PDF
Optimize your CI/CD with GitLab and AWS
PDF
Technical Debt - SOTR14 - Clarkie
PPTX
Introduction to DevOps
PDF
From Data Science to Production - deploy, scale, enjoy! / PyData Amsterdam - ...
PDF
PdxDevOps presentation - 2015/08/17
PDF
Introduction to dev ops
PDF
DevOps Manchester - Importance of the bus driver
PDF
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
PDF
DevOps for the Mobile Enterprise: Build and Connect
PDF
A model of Test Driven Infrastructure
PPTX
Devops phase-1
PPTX
DevOps and Tools
PPTX
Grey Matterz | Our Services | Our Solutions
PDF
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
PDF
Agile Mumbai 27-28th Sep 2024 | AI Revolution: Transforming the Future of Dev...
PDF
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
PPTX
Cloud With DevOps Enabling Rapid Business Development
PPTX
DevOps Workshops Fall 2016
PDF
The Ultimate Guide to Software Development.pdf
PPTX
SIH2024_IDEA_newideaaaa_engineering_24.pptx
Optimize your CI/CD with GitLab and AWS
Technical Debt - SOTR14 - Clarkie
Introduction to DevOps
From Data Science to Production - deploy, scale, enjoy! / PyData Amsterdam - ...
PdxDevOps presentation - 2015/08/17
Introduction to dev ops
DevOps Manchester - Importance of the bus driver
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
DevOps for the Mobile Enterprise: Build and Connect
A model of Test Driven Infrastructure
Devops phase-1
DevOps and Tools
Grey Matterz | Our Services | Our Solutions
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Agile Mumbai 27-28th Sep 2024 | AI Revolution: Transforming the Future of Dev...
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
Cloud With DevOps Enabling Rapid Business Development
DevOps Workshops Fall 2016
The Ultimate Guide to Software Development.pdf
SIH2024_IDEA_newideaaaa_engineering_24.pptx
Ad

Recently uploaded (20)

PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
additive manufacturing of ss316l using mig welding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
DOCX
573137875-Attendance-Management-System-original
PPTX
Construction Project Organization Group 2.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Welding lecture in detail for understanding
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPT
Project quality management in manufacturing
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
PPT on Performance Review to get promotions
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Digital Logic Computer Design lecture notes
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
R24 SURVEYING LAB MANUAL for civil enggi
additive manufacturing of ss316l using mig welding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
573137875-Attendance-Management-System-original
Construction Project Organization Group 2.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Automation-in-Manufacturing-Chapter-Introduction.pdf
Internet of Things (IOT) - A guide to understanding
UNIT 4 Total Quality Management .pptx
Welding lecture in detail for understanding
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Project quality management in manufacturing
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPT on Performance Review to get promotions
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Digital Logic Computer Design lecture notes
Ad

Devops for buses(1)(1)

  • 1. Imagine this: ● Developer of something technical ● Domain expert, but developing in isolation. ● Not data-driven ● Little feedback
  • 2. Operations ● Need to make it run smoothly ● But everything is reactive not proactive. ● Only know when things go wrong ● Deep understanding of how things really work
  • 3. Sound familiar? ● In case you didn't spot the title, I'm actually talking about Bus Companies ● Disclaimer: I may have exaggerated a little! ● I’m going to work through an analogy between buses and software
  • 4. Buses Software Scheduler Developer Operations Operations Schedule Software Buses/Stops Servers, Containers GPS pings, etc Instrumentation Passengers Users Reliability Uptime Efficiency Latency
  • 5. ● Great they’re the same, let’s do DevOps! ● The analogy breaks down when it comes to tools ● No bus equivalent for Git, Kubernetes, Terraform, Cloud etc
  • 6. One view of what we’re doing is Devops for Buses. Creating a toolbox with DevOps in my mind, rather than tools that match the current process. Devops for Buses
  • 7. Cityswift create more efficient and reliable bus timetables using: ● Lots of Data ● Machine learning ● Mathematical optimisation For instance, how can we avoid all the buses arriving at once? Let’s look at 3 of our tools and their software equivalents.
  • 8. 3 tools and their analogues SWIFT INSIGHTS ● View historical and predicted data on journey times and passengers ● Schedulers get detailed feedback on the impact of their changes ● Datadog to view latency and throughput ● A/B Testing BUS SOFTWARE
  • 9. 3 tools and their analogues SWIFT SCHEDULE ● Automated creation of bus schedules ● Version controlled ● Terraform, Ansible to provision infrastructure ● Git ● Jenkins BUS SOFTWARE
  • 10. 3 tools and their analogues SWIFT OPS (Coming Soon!) ● Dashboard for Operations ● Solve issues before they happen ● Log incidents ● Datadog alerts, OpsGenie ● No blame post-mortems BUS SOFTWARE
  • 11. Motivation for Bus Companies We’ve all been on a bus when things went wrong ● Weather ● Break down ● Bus full at a football match ● Its bad for passengers and what's bad for passengers is bad for bus companies
  • 12. Benefit to Bus Companies ● Add more buses for reliability? ● But running a very reliable service is expensive and inefficient, need a happy balance ● Think # servers vs response times ● Bus companies can get fined by regulators for not hitting KPIs (not nine-nines though!)
  • 13. 13 Aren’t we doing it the wrong way around? ● Should be People before Process before Tools ● Bus companies have the right people, they're specialists in a difficult domain.
  • 14. 14 ● We didn't dive headlong into tools ● We talked with them and worked out a process collaboratively ● From seeing how they work, we know that the existing tools don’t create the right process Aren’t we doing it the wrong way around?
  • 15. Process 15 Data-driven All the data is available rather than a subset Automation Automating the boring parts, free up the experts Continuous Delivery Automation allows more frequent schedule changes
  • 16. Process 16 Version control of Schedules Treating the schedule as you would treat code Monitoring and Feedback Correlate schedules, KPIs and incidents Collaboration No strict split in tools for Dev and Ops.
  • 17. In Praise of Tools ● We shouldn't dive headlong into creating tools to solve problems ● But we should create tools that encourage the process we want. ● I think that tools help create the de facto process, whatever the de jure process is
  • 18. Where does the Analogy Breakdown? ● Timeframes are much longer, and feedback is slower. Think months not minutes ● And you can't just run kubectl make more buses (But, if you know how to solve that, you're hired! )
  • 19. What can Software Engineers learn from Bus Companies? ● Tools shouldn't automate everything ● But should make it easier for the expert to make decisions. ● Experts will spot the patterns and apply some tricks (E.g. anomaly detection is hard!)
  • 20. Thank You! Check us out at cityswift.com whoami Frank Farrell Lead Developer and Cloud Architect @CitySwift github.com/frankfarrell linkedin.com/in/frank-farrell-44529a93 ofearghp@gmail.com