DevOps @ Scania Trust and Some Code Anders Lundsgård Mattias Järnhäll Perforce OnTour - Berlin 16 Sept, 2015
Apr 13, 2017
DevOps @ ScaniaTrust and Some Code
Anders LundsgårdMattias Järnhäll
Perforce OnTour - Berlin 16 Sept, 2015
Dev
I want change! I want stability!
Ops
Disclaimer #1The opinions expressed in this presentation and on the following
slides are solely those of the presenters and not necessarily those of Scania as a whole.
Disclaimer #2Tools are only randomly selected. Scania does not value these
more than those not mentioned…
…except for Perforce
Scania as an IT company
• ~1200 workers (800+400) @ Scania IT• ~1400 apps (mix of build and bought)• ~2500 servers (win, Linux, MF, iSeries)• ~1400 TB data• Main site -> Södertälje, Sweden• Regional site -> Sao Paolo, Brazil• Supports Scania Globally• Application, infrastructure, EUS
Perforce @ Scania
• Perforce customer since 2007• Disk usage on servers 1.8 TB• 1000+ users• 1000+ change lists submitted per day
Limit Work In Progress
CODEIN PROD
PENDING CODE
NEWFEATURES
CustomerValue
Why Agile?
65%
Waterfall
Water-
DevOps
Scrum-Fall
Continuous Integration
Quality over new features
Version everything
Everyone work on Main branch
Automation
Automation – Deployment Pipeline
Version Control
Pull & Push several times a day
Continuous Integration Server
- Build- Test
- PackageTarget Servers(Dev, Staging, Prod)
Deploy Server
Version Everything- Code- Tests- Configuration- Database- Infrastructure
Pipeline
Software Delivery Through the Decades
Tests
Code
‘90s ‘00s ‘10s
Our DevOps Movement
Feature Team
Feature Team
Feature Team
Feature Team
Integration
OS
Web
Monitoring
Change Management
NetworkSecurity
IaaT
Infra/Operations
GUI
BusinessLogic
Database
In the past
Database
Level 1
Level 2+3
Infrastructure As A Service
Infra/Operations
Feature Team
Feature Team
Feature Team
Feature Team
GUI
BusinessLogic
Database
Virtual Machine ESB Network Change Management Database Monitoring
Forward
Infrastructure As A Service
Infra/Operations
Feature Team
Feature Team
Feature Team
Feature Team
GUI
BusinessLogic
Database
Virtual Machine Web server Load Balancer Change Management Monitoring
You build it You run it!
Infrastructure as code
Cultural Technical
ITOps DevOps
Version Control
I need a new web site for my front end code ”xxx”
HW / Virtualization
Storage
Network
Data center
Application Server / Web Server
Database
OS
Services
Services
Services
Services
Services
Services
Services
.NET Java Oracle
HW / Virtualization
Storage
Network
Data center
Application Server / Web Server
Database
OS
.NET Java Oracle
Serv
ices
Serv
ices
Serv
ices
Flow vs. Resource Optimisation
Ref: The Phoenix Project
For Us DevOps is a Must
GUI
Database
Infra
Business Logic
Networking Storage
OS
Integration
Monolith
Service 1
Service 2 Service
5 Service 7
Service 8
Service 10
Service 12
Service 14
Service 3
Service 4
Service 6
Service 9
Service 11
Service 15
Middleware
Service 13
User Interface
Security Monitoring
Even with Continuous Integration. Fast delivery is hard with 50+
engineers and a large codebase.
All Infra needs
User Interface
Service 1
Service 2 Service
5 Service 7
Service 8
Service 10
Service 12
Service 14
Service 3
Service 4
Service 6
Service 9
Service 11
Service 15
Service 13
Microservices
All Infra needs
All Infra needs
All Infra needs
All Infra needs
All Infra needs
All Infra needs
All Infra needs
GUI
Database
Infra
Business Logic
Why Microservices?
1. Autonomous teams2. Build, Test, Deploy SPEED
11,6
Learnings: Dev-to-Dev
• Find end user feedback and try to act on it• Learn to work on Trunk• Do not rely on database backup for dev/test• Never blame bad code• Ops guys are not pure evil persons• Avoid “Hero-Based Culture”
Avoid “Hero Based Culture”
Version Control
A must read for executives
http://brentleavesjob.devops.vision
Contact
• Anders Lundsgård– [email protected]
– @anderslundsgard
– github.com/anderslundsgard
• Mattias Järnhäll– [email protected]