Upload
anders-lundsgard
View
1.004
Download
2
Embed Size (px)
Citation preview
The DevOps journey in an Enterprise
Anders LundsgårdDev
Mattias JärnhällOps
May 3rd 2016
Who are we?
Anders Lundsgård• Developer & Technical Architect (Senior Engineer)• Scania Connected Services, Delivery Engineering Team
Mattias Järnhäll• Manager• Infrastructure Delivery .NET
What We will talk about
Very short about Scania
Our DevOps movement
The ‘Ops’ in DevOps
Final takeaways
3
What does Scania?
Annually ~80.000 heavyweight trucks
Software evolution at Scania
‘90sSpaghetti Code
‘00sGrowing monoliths
‘10sMicroservices era
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.
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
in the early days…
DevOps movement
More features quicker Stability
More features quicker Stability
Shared understanding and common goals
Pipeline
Tests
Code
‘90s ‘00s ‘10s
Software Delivery Through the Decades
Agile explained
CODEIN PROD
PENDING CODE
NEWFEATURES
CustomerValue
Limit Work In Progress
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
DeployServer
CI D
Reveal a Secret
Developers care about QA and Stability
if…they gets accountable
18
Growing Microservices out of Monoliths
Why?How?
Results?
GUI
Database
Infra
Business Logic
Networking Storage
OS
Integration
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.
Monolith
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
Check-in frequency
Project: Scania Connected Services
Ops!
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
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
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?
26
Enterprise IT challenges #2 The Legacy
Culture
27
Enterprise IT challenges #3 Optimized for resource efficiency
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
NetworkStorageHW / Virtualization
OSDBWEB
Solutions
Built Bought
Clearly pointed out that IT should be strategic and transformationalAnd that we need to become more agile in our way of working.
New MD, clear direction and new org
Infrastructure Services
Infra SolutionTeam.NET
Infra SolutionTeam.NET
Infra SolutionTeam
Java/Oracle
Infra SolutionTeam
Java/Oracle
Sales Service PD O2D Shared EUP
Self Service Portal
What happened… Delivery Focus
Provide infrastructure servicesthat are easy to consume.
Autonomous delivery departments with a clear customer.
Enable delivery departments to be agile
Infra SolutionTeam.NET
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
Transformation don’t happen over night… Still mostly reactive work Working on breaking old roles / habbits Understanding CI, CD, IaC Getting everybody onboard
“Don’t fight stupid, make more Awesome”
Use your technical skillsPoor 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
Collaboration > Automation
Good reads
Automation Business impact
Pair Programming
Collocate with coffee machine
36
37
Thank You!
Anders Lundsgård: @anderslundsgard
Mattias Järnhäll: @mattiasjarnhall