DevOps is a software development methodology that emphasizes communication, collaboration, integration and automation. The DevOps movement at Scania is yet in its early stages, but from the very beginning, the Development and Operations teams have been working in close collaboration. I’ll present key takeaways on how best to proceed with implementing a DevOps culture within a large globally dispersed IT department.
Scania's DevOps Journey to Microservices and Continuous Delivery
1. Scania: A DevOps journey
in an Enterprise
Anders Lundsgård
Technical Architect, Scania CV
2. 2
Who am I?
Anders Lundsgård
• Developer & Technical Architect (Senior Engineer)
• Scania Connected Services, Delivery Engineering Team
3. 3
Software evolution at Scania
‘90s
Spaghetti Code
‘00s
Growing monoliths
‘10s
Microservices era
4. 4
Disclaimer
The opinions expressed in this presentation
and on the following slides are solely those of
the presenter and not necessarily those of
Scania as a whole.
5. We at infra need to be an enabler for
developers. Enable automatic deployments
and roll-backs.
Creating tools/dashboards with relevant
KPI’s so that the developer can fast and
easily see the consequences of a deployment.
- Mattias Järnhäll, Infrastructure manager
2014.03.03 on Scania social network
11. Version Control
Pull & Push several
times a day
Continuous Integration
and Deployment
Target Servers
(Dev, Staging, Prod)
Version Everything
- Code
- Tests
- Configuration
- Database
- Infrastructure
15 minutes
Automation – Deployment Pipeline
13. 13
Enterprise IT challenges
– One size does not fit all
? !
I have an app.
Can you install it
for me?
Can you help me
to help myself?
14. DevOps movement
2010 2012 2014 2016 2018
QA
Dev
Dev
Dev Ops
OS
DB
Network/
ISec
Integration
Process
WEB
Dev Silos IaaT
15. DevOps movement
2010 2012 2014 2016 2018
Feat.
Team
Dev Ops
OS
DB
WEB
Feat.
Team
Feat.
Team
Feat.
Team
Feat.
TeamFeat.
Team
Feat.
Team
Feat.
Team
Self deploying teams IaaT
Network/
ISec
Integration
Process
16. DevOps movement
2010 2012 2014 2016 2018
Feat.
Team
Dev Ops
Deliv.
Team
Feat.
Team
Feat.
Team
Feat.
TeamFeat.
Team
Feat.
Team
Feat.
Team
DevOps all the things! IaaT
OS
DB
WEB
Network/
ISec
Integration
Process
17. DevOps movement
2010 2012 2014 2016 2018
Feat.
Team
Dev Ops
App.
Team
App.
Team
App.
Team
Deliv.
Team
Feat.
Team
Feat.
Team
Feat.
TeamFeat.
Team
Feat.
Team
Feat.
Team
Cloud!! Cloud?
Network/
ISec
Integration
Process
18. DevOps movement
2010 2012 2014 2016 2018
Feat.
Team
Dev Ops
App.
Team
App.
Team
App.
Team
Deliv.
Team
Feat.
Team
Feat.
Team
Feat.
TeamFeat.
Team
Feat.
Team
Feat.
Team
Autonomous
Feature Teams!
Network/
ISec
Integration
Process
20. Level 1
Infrastructure As A Service
Infra/
Operations
Feature
Team
Feature
Team
Feature
Team
Feature
Team
Virtual Machine ESB Network Change Management Database Monitoring
Forward
21. Infrastructure As A Service
Infra/
Operations
Feature
Team
Feature
Team
Feature
Team
Feature
Team
GUI
Business
Logic
Database
Virtual Machine Web server Load Balancer Change Management Monitoring
You build it
You run it!
Infrastructure
as code
Cultural Technical
23. 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
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
Microservices
The power of rapid software development makes our hardware products even better.
Ops1: “Wait until Tuesdays CAB!”
Dev1: “You must start to code and version your stuff”
Dev2: “Use my repo. I’ll be contributing”
Short iterations gives more quality: http://whatgivesquality.devops.vision
On a startup it is quite obvious that one single person is capable to iterate fast depending on customer needs. But also to monitor and finding interest in monitoring performance an income of cash.
We try to keep the good parts of this environment and delegate control to the feature teams. Within the teams all individuals have equal responsibility for quality and income.
Code review is your security gate. Not a QA or an ISec department.
The scope of what you as a developer is responsible for has grown.
In a large enterprise the customer needs varies a lot. Some don’t know what a server is and some want to provision the server on demand.
Even with Continuous Integration. Fast delivery is hard with 50+ engineers and a large codebase.
Why Microservices?
Autonomous Teams
Build, Test, Deploy SPEED!
It’s a trade from code complexity to operational complexity.
About 4 times more check-ins with the microservice architecture.
Don’t automate in silos! Lern Ops the art of code reviews and mob programming.
At Scania today we collocate Dev and Ops!
The wide diversity of skills required to build today’s applications means collaborative teamwork, not dysfunctional silos.