Presentation about the DevOps movement at Scania. Conference: Continuous Lifecycle London 2016-05-03. http://continuouslifecycle.london/
By Anders Lundsgård (@anderslundsgard) and Mattias Järnhäll (@mattiasjarnhall)
5. Software evolution at Scania
‘90s
Spaghetti Code
‘00s
Growing monoliths
‘10s
Microservices era
6. Disclaimer
The 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.
7. 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
8. in the early days…
DevOps movement
More features
quicker Stability
15. Version Control
Pull & Push several
times a day
Continuous
Integration
Server Target Servers
(Dev, Staging, Prod)
Version Everything
- Code
- Tests
- Configuration
- Database
- Infrastructure
15 minutes
Automation – Deployment Pipeline
Deploy
Server
20. 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
Why Microservices?
1. Autonomous teams
2. Build, Test, Deploy SPEED
Microservices
23. Who am I and why am I here?
13 years @ Infrastructure
Have an attraction to developers
Passionate about the agile transformation
Love big complex challenges
24. What I will talk about
Setting the context – why is this hard?
What did we look like before change? Pain points?
The transformation starts – and where we are now.
25. 25
Enterprise IT challenges
#1 Different types of customer needs
? !
I have an app.
Can you install it
for me?
Can you help me
to help myself?
28. Back in the days...
Pain Points
Required a lot of coordinating roles
Lots of hand overs
Unclear responsibilities
Gap between solutions and infra/op
Optimized for resource efficiency
”far away from our customer” (solutions)
Unclear ownership of deliveries
OperationsInfrastructure
Network
Storage
HW / Virtualization
OS
DB
WEB
Solutions
Built Bought
29. Clearly pointed out that IT should be strategic and transformational
And that we need to become more agile in our way of working.
New MD, clear direction and new org
30. Infrastructure Services
Infra Solution
Team
.NET
Infra Solution
Team
.NET
Infra Solution
Team
Java/Oracle
Infra Solution
Team
Java/Oracle
Sales Service PD O2D Shared EUP
Self Service Portal
What happened… Delivery
Focus
Provide infrastructure services
that are easy to consume.
Autonomous delivery
departments with a clear
customer.
Enable delivery departments
to be agile
Infra Solution
Team
.NET
31. Our mission is to enable our customer
become more agile while keeping a
robust infrastructure solution with high
performance that is easy to maintain
over its lifecycle.
We do this by:
• Using standardized infrastructure components
• Automating operational tasks
• Sharing our knowledge to developers
• Providing infrastructure solutions that are easy to maintain
32. Transformation don’t happen over night…
Still mostly reactive work
Working on breaking old roles / habbits
Understanding CI, CD, IaC
Getting everybody onboard
34. Use your technical skills
Poor little me.
I’m just a Dev.
What can I do?
Zero Downtime
Feature Toggles
Deploy is a part of
your daily job
Deploy is decoupled
from Release
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”
Ops1: “Wait until Tuesdays CAB!”
Dev1: “You must start to code and version your stuff”
Dev2: “Use my repo. I’ll be contributing”
The scope of what you as a developer is responsible for has grown.
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.
”It’s a trade from code complexity to operational complexity”
Martin Fowler:
https://www.youtube.com/watch?v=wgdBVIX9ifA
http://martinfowler.com/articles/microservices.html
Adrian Cockcroft:
https://www.youtube.com/watch?v=nMTaS07i3jk&feature=youtu.be
Gene Keen, Randy Shoup
http://youtu.be/MRa21icSIQk 43:00
Randy Shoup:
http://gotocon.com/dl/goto-cph-sept-2014/slides/DeanWampler_and_EvaAndreasson_and_KevlinHenney_and_RandyShoup_WheresCaptainKirkChartingACourseThroughEnterpriseArchitecturePartI.pdf
About 4 times more check-ins with the microservice architecture.
Don’t automate in silos! Learn Ops the art of code reviews and mob programming.
At Scania today we colocate Dev and Ops!
The wide diversity of skills required to build today’s applications means collaborative teamwork, not dysfunctional silos.
These autonomous teams speaks with http status codes (via APIs).