SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
A DevOps Journey
Jon Arild Tørresdal
2
Why DevOps?
• Release planning and management
• Handoffs (queue time)
• Manual labor and coordination to get a application into production
• Frustrating long delivery times (both for features and bug fixes)
• Added risk of releasing too many changes at once
«The gap between Dev and Ops will in most organizations result in a major bottleneck,

bringing with it a significant (hidden) cost way outside of IT.»
— Jon Arild Tørresdal
What are these costs?
3
«If it’s painful, do it more often!»
4
Gains of DevOps
• Freeing time for highly educated and paid employees to focus on
continuous improvement
• Common competence between Dev and Ops results in better efficiency
and innovation
• Faster time to marked
• Fast feedback loops from users, allowing quick adjustments
5
DevOps Reforms in Frende Forsikring
6
Reform - Ops
• External IT operations
• No access to servers in production
• No Load Balancing during deployment
• Everything virtualized except Database Servers
• Changes and deployments was executed by
hosting provider
• “No” monitoring
• New (still external) IT operations
• Clear separation between Dev and Ops responsibilities
• Dev has full access to all environments, incl. production
• No changes allowed on servers - all changes are
coded as “Infrastructure as Code”
• Everything virtualized, incl. database servers
• Sticky load balancing to ensure optimum scaling
deployment
• Monitoring in production by Dev
• Hosting provider delivers bare OS
• Bootstrapping and configuration of servers +
deployment is fully automated
Before: Now:
7
Reform - Development
• Team Foundation Server for source control and
build
• Some unit testing, but not structured
• Code freeze before each release
• Database schema changes was generated by
diffing test and production
• Bug-tracking
• TeamCity for build (build agents runs at Amazon)
• Git for source control
• Unit tests and integration tests when needed
• Never code freeze
• Extreme focus on low complexity and micro
services
• Every push to Git can potentially end up in
production at any time
• No branching
• Little or no bug tracking
Before: Now:
8
Reform - Deployment
• Deploy packages was handed off to hosting provider
• Release approx. once/mont
• Rollback of code and databases on errors
• Executed early morning or late nigh
• All deployments automated
• Can deploy at any time without any downtime
• Multiple deployments to production every day
• Deployment Pipelines
• Canary releasing (e.g. Customer Center can try out
features before the customers)
• Schema changes in databases are forward and backward
compatible
• No rollback, forward only - fix error, redeploy
• Continuous Deployment in Test and Pre-Prod, Continuous
Delivery in Production
• Full audit of who and when deployments is executed
Before: Now:
9
Reform - Process
• Startup company in rapid growth
• Scrum like
• Business expected release on fixed
date
• Long feedback loops
• Manual testing of the "entire"
application before release
• Company with high cost focus (combined
ratio in insurance)
• Kanban/Lean
• Stakeholders and upper management
participate in daily standups
• Aware of the increased risk with infrequent
releases
• Actively uses canary releasing
• Continuous testing and verification by
stakeholders
Before: Now:
10
9 established principals
11
Principal #1 - Deployment Pipelines
Image from: Continuous Delivery Book
12
Principal #1 - Deployment Pipelines
13
Principal #2 - Deploy vs Release
• You can Deploy to production…
• …without Releasing functionality to users
14
Principal #3 - Feature toggles
Image from: http://labs.qandidate.com
15
Principal #4 - NO branching!
• When you branch, you opt out of Continuous Integration!
• No branch, no merge :-)
• The alternative to branching is feature toggles
• If you insist on branching, note the following:
• Reduced delivery capacity
• Reduced quality
• Increased risk of errors
• Added complexity
16
Principal #5 - No manual changes on servers
Image from: http://www.spreadshirt.co.uk
“Admin GUI’s on servers are poison!” 

- Build 2015
— Jeffrey Snover, Distinguished Engineer and 

Lead Architect for Windows Server
17
Principal #6 - New project, deploy Hello World
Image from: http://fringe.chrisay.com
18
Principal #7 - Version Control Infrastructure
Image from: http://www.bhmpics.com/
19
Principal #8 - Canary Releasing
20
Principal #9 - Done == In Production!
• No Done Done
• No Done Done Done
• No Done Done Done Done Done….
• Done == In Production!!!
Image from: http://www.definition-of-done.nl
21
The 9 principals
1. Deployment Pipeline
2. Deploy vs Release
3. Feature toggles
4. No branching
5. No manual changes on servers
6. New project, deploy Hello World
7. Version Control Infrastructure
8. Canary Releasing
9. Done == In Production Success!
22
Improvement points
• Container adoption
• Smoke testing
• Performance testing/monitoring
• Automating routers, firewalls and other peripheral network equipment
• Smart monitoring and AI agents
• …and continuous improvement in general
23
24
Thanks!
jat@miles.no condep@condep.io
http://blog.torresdal.net http://condep.io
@torresdal @con_dep
http://github.com/torresdal http://github.com/condep
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Thoughtworks
 

Was ist angesagt? (20)

Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database Deployments
 
Taking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and GitTaking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and Git
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
Using JMeter in CloudTest for Continuous Testing
Using JMeter in CloudTest for Continuous TestingUsing JMeter in CloudTest for Continuous Testing
Using JMeter in CloudTest for Continuous Testing
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013
 
Using The Right Tool For The Job
Using The Right Tool For The JobUsing The Right Tool For The Job
Using The Right Tool For The Job
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous Delivery
 
Cd syd
Cd sydCd syd
Cd syd
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Why your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itWhy your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating it
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
 
Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce Platform
 

Andere mochten auch

DevOps Journey_Distributed_Delivery
DevOps Journey_Distributed_DeliveryDevOps Journey_Distributed_Delivery
DevOps Journey_Distributed_Delivery
Jeevan T.M.
 

Andere mochten auch (16)

DevOps Journey_Distributed_Delivery
DevOps Journey_Distributed_DeliveryDevOps Journey_Distributed_Delivery
DevOps Journey_Distributed_Delivery
 
Get Ready for DevOps - Enabling the DevOps Journey
Get Ready for DevOps - Enabling the DevOps JourneyGet Ready for DevOps - Enabling the DevOps Journey
Get Ready for DevOps - Enabling the DevOps Journey
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journey
 
DOES15 - Jody Mulkey - DevOps in the Enterprise: A Transformation Journey
DOES15 - Jody Mulkey - DevOps in the Enterprise: A Transformation JourneyDOES15 - Jody Mulkey - DevOps in the Enterprise: A Transformation Journey
DOES15 - Jody Mulkey - DevOps in the Enterprise: A Transformation Journey
 
Our DevOps Journey - An Exercise in Cultural Change
Our DevOps Journey - An Exercise in Cultural ChangeOur DevOps Journey - An Exercise in Cultural Change
Our DevOps Journey - An Exercise in Cultural Change
 
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
 
Devops Journey - internet tech startup
Devops Journey - internet tech startupDevops Journey - internet tech startup
Devops Journey - internet tech startup
 
Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?
 
The Journey of devops and continuous delivery in a Large Financial Institution
The Journey of devops and continuous delivery in a Large Financial InstitutionThe Journey of devops and continuous delivery in a Large Financial Institution
The Journey of devops and continuous delivery in a Large Financial Institution
 
Microservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryMicroservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous Delivery
 
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
 
microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 

Ähnlich wie 2016 09-dev opsjourney-devopsdaysoslo

The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
DBmaestro - Database DevOps
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous Deployment
Timothy Fitz
 

Ähnlich wie 2016 09-dev opsjourney-devopsdaysoslo (20)

The Evolution of Continuous Delivery at Scale @ Linkedin
The Evolution of Continuous Delivery at Scale @ LinkedinThe Evolution of Continuous Delivery at Scale @ Linkedin
The Evolution of Continuous Delivery at Scale @ Linkedin
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtime
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous Deployment
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
Building block development in managed hosting - Angelo Rossi, Manager, Comple...
Building block development in managed hosting - Angelo Rossi, Manager, Comple...Building block development in managed hosting - Angelo Rossi, Manager, Comple...
Building block development in managed hosting - Angelo Rossi, Manager, Comple...
 
Devops
DevopsDevops
Devops
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
Performance Tuning in the Trenches
Performance Tuning in the TrenchesPerformance Tuning in the Trenches
Performance Tuning in the Trenches
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CD
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

2016 09-dev opsjourney-devopsdaysoslo

  • 1. A DevOps Journey Jon Arild Tørresdal
  • 2. 2 Why DevOps? • Release planning and management • Handoffs (queue time) • Manual labor and coordination to get a application into production • Frustrating long delivery times (both for features and bug fixes) • Added risk of releasing too many changes at once «The gap between Dev and Ops will in most organizations result in a major bottleneck,
 bringing with it a significant (hidden) cost way outside of IT.» — Jon Arild Tørresdal What are these costs?
  • 3. 3 «If it’s painful, do it more often!»
  • 4. 4 Gains of DevOps • Freeing time for highly educated and paid employees to focus on continuous improvement • Common competence between Dev and Ops results in better efficiency and innovation • Faster time to marked • Fast feedback loops from users, allowing quick adjustments
  • 5. 5 DevOps Reforms in Frende Forsikring
  • 6. 6 Reform - Ops • External IT operations • No access to servers in production • No Load Balancing during deployment • Everything virtualized except Database Servers • Changes and deployments was executed by hosting provider • “No” monitoring • New (still external) IT operations • Clear separation between Dev and Ops responsibilities • Dev has full access to all environments, incl. production • No changes allowed on servers - all changes are coded as “Infrastructure as Code” • Everything virtualized, incl. database servers • Sticky load balancing to ensure optimum scaling deployment • Monitoring in production by Dev • Hosting provider delivers bare OS • Bootstrapping and configuration of servers + deployment is fully automated Before: Now:
  • 7. 7 Reform - Development • Team Foundation Server for source control and build • Some unit testing, but not structured • Code freeze before each release • Database schema changes was generated by diffing test and production • Bug-tracking • TeamCity for build (build agents runs at Amazon) • Git for source control • Unit tests and integration tests when needed • Never code freeze • Extreme focus on low complexity and micro services • Every push to Git can potentially end up in production at any time • No branching • Little or no bug tracking Before: Now:
  • 8. 8 Reform - Deployment • Deploy packages was handed off to hosting provider • Release approx. once/mont • Rollback of code and databases on errors • Executed early morning or late nigh • All deployments automated • Can deploy at any time without any downtime • Multiple deployments to production every day • Deployment Pipelines • Canary releasing (e.g. Customer Center can try out features before the customers) • Schema changes in databases are forward and backward compatible • No rollback, forward only - fix error, redeploy • Continuous Deployment in Test and Pre-Prod, Continuous Delivery in Production • Full audit of who and when deployments is executed Before: Now:
  • 9. 9 Reform - Process • Startup company in rapid growth • Scrum like • Business expected release on fixed date • Long feedback loops • Manual testing of the "entire" application before release • Company with high cost focus (combined ratio in insurance) • Kanban/Lean • Stakeholders and upper management participate in daily standups • Aware of the increased risk with infrequent releases • Actively uses canary releasing • Continuous testing and verification by stakeholders Before: Now:
  • 11. 11 Principal #1 - Deployment Pipelines Image from: Continuous Delivery Book
  • 12. 12 Principal #1 - Deployment Pipelines
  • 13. 13 Principal #2 - Deploy vs Release • You can Deploy to production… • …without Releasing functionality to users
  • 14. 14 Principal #3 - Feature toggles Image from: http://labs.qandidate.com
  • 15. 15 Principal #4 - NO branching! • When you branch, you opt out of Continuous Integration! • No branch, no merge :-) • The alternative to branching is feature toggles • If you insist on branching, note the following: • Reduced delivery capacity • Reduced quality • Increased risk of errors • Added complexity
  • 16. 16 Principal #5 - No manual changes on servers Image from: http://www.spreadshirt.co.uk “Admin GUI’s on servers are poison!” 
 - Build 2015 — Jeffrey Snover, Distinguished Engineer and 
 Lead Architect for Windows Server
  • 17. 17 Principal #6 - New project, deploy Hello World Image from: http://fringe.chrisay.com
  • 18. 18 Principal #7 - Version Control Infrastructure Image from: http://www.bhmpics.com/
  • 19. 19 Principal #8 - Canary Releasing
  • 20. 20 Principal #9 - Done == In Production! • No Done Done • No Done Done Done • No Done Done Done Done Done…. • Done == In Production!!! Image from: http://www.definition-of-done.nl
  • 21. 21 The 9 principals 1. Deployment Pipeline 2. Deploy vs Release 3. Feature toggles 4. No branching 5. No manual changes on servers 6. New project, deploy Hello World 7. Version Control Infrastructure 8. Canary Releasing 9. Done == In Production Success!
  • 22. 22 Improvement points • Container adoption • Smoke testing • Performance testing/monitoring • Automating routers, firewalls and other peripheral network equipment • Smart monitoring and AI agents • …and continuous improvement in general
  • 23. 23
  • 24. 24 Thanks! jat@miles.no condep@condep.io http://blog.torresdal.net http://condep.io @torresdal @con_dep http://github.com/torresdal http://github.com/condep Questions?