Wonderous Widgets in a Windows World

Aac3dafaab7a7c2063d2526ba5936305?s=47 Glenn
October 24, 2017

Wonderous Widgets in a Windows World

As DevOps culture permeates the Windows world, challenges arise. How can IT orgs integrate components of the toolchain in a sensible, iterative way while avoiding tool proliferation? We’ll look at example toolchains, how to chop-and-change tools in the chain, and explore what the future holds.

There has been a major movement in the Microsoft Windows world towards DevOps culture. DevOps practices and tools are not only being endorsed, but embraced and expanded. This has resulted in tool proliferation and questions over how to integrate components of the toolchain in a sensible, iterative way. How do we stitch tools together into pipelines and build our own DevOps toolchains? Where do we even start? If you’ve found yourself asking these questions, then this presentation is for you! We’ll walk through what example toolchains could look like, how we can chop-and-change tools in the chain, and what the future holds.

Aac3dafaab7a7c2063d2526ba5936305?s=128

Glenn

October 24, 2017
Tweet

Transcript

  1. Wondrous Widgets in a Windows World Glenn Sarti Senior Software

    Engineer, Windows Team Puppet @glennsarti
  2. bit.ly/addo-slack Find me on slack, after the talk!

  3. Session Title Your Name Your Title Your Company Your @TwitterHandle

  4. Session Title Your Name Your Title Your Company Your @TwitterHandle

  5. @glennsarti

  6. @glennsarti Donovan Brown Principal DevOps Manager Microsoft “DevOps is the

    union of people, process, and products to enable continuous delivery of value to our end users.” - Donovan Brown Zero to DevOps - http://donovanbrown.com/page/slide-decks
  7. @glennsarti Zero to DevOps - http://donovanbrown.com/page/slide-decks Donovan Brown Principal DevOps

    Manager Microsoft
  8. @glennsarti Tools for DevOps Newsletters

  9. @glennsarti Tools for DevOps Newsletters Aggregators

  10. @glennsarti Tools for DevOps Newsletters Aggregators Tech News Friends Meetups

    Vendors
  11. @glennsarti

  12. @glennsarti Meet John…

  13. @glennsarti

  14. @glennsarti

  15. @glennsarti

  16. Drive Outcomes Know the environment Know the limitations

  17. Drive Outcomes Know the environment Know the limitations

  18. @glennsarti Drive Outcomes What? and Why?

  19. @glennsarti Drive Outcomes What: Build applications faster Why: To do

    10 deploys a day
  20. @glennsarti Drive Outcomes “Create a Repeatable, Reliable Process for Releasing

    Software” - Continuous Delivery Jez Humble, David Farley
  21. @glennsarti Drive Outcomes “The repeatability and reliability derive from two

    principles: Automate almost everything and keep everything … in version control” - Continuous Delivery Jez Humble, David Farley
  22. @glennsarti Drive Outcomes What would be better?

  23. @glennsarti Drive Outcomes What: Maximise flow Deliver value as fast

    as needed Why:
  24. @glennsarti Drive Outcomes “The First Way is about left-to-right flow

    of work, … never passing defects to downstream, … optimize for the global goals - Phoenix Project Gene Kim, Kevin Behr, George Spafford
  25. @glennsarti Drive Outcomes So what is your flow?

  26. @glennsarti Drive Outcomes Source The Release Pipeline Model - http://aka.ms/trpm

    Build Test Release
  27. @glennsarti Drive Outcomes Continuous Delivery - Jez Humble, David Farley

  28. @glennsarti Drive Outcomes https://www.bluebridgesoftware.com/blog/26-devops-the-gartner-toolchain.html

  29. @glennsarti Drive Outcomes … start with a pen, paper and

    questions.
  30. Drive Outcomes Know the environment Know the limitations

  31. @glennsarti Know the environment Take stock

  32. @glennsarti Know the environment Buy vs Build

  33. @glennsarti Know the environment Write it down

  34. Drive Outcomes Know the environment Know the limitations

  35. @glennsarti Know the limitations Non-technical things

  36. @glennsarti Know the limitations Where to get help

  37. @glennsarti Know the limitations Focus on the now

  38. @glennsarti Now what?

  39. @glennsarti • Start on the left • Start small

  40. @glennsarti • Create a chain • Timebox efforts

  41. @glennsarti What does this look like in the real world?

  42. @glennsarti

  43. @glennsarti Scott Nasello Senior Manager Platforms and Systems Engineering Columbia

    Sportswear @scottnasello Brandon Olin Lead Systems Engineer Columbia Sportswear @devblackops
  44. @glennsarti • ~ 2500 Servers, mostly Windows • 99% virtualised

    on vSphere • Immature VRA implementation • Usual Windows enterprise tools 2014 – Dark Age
  45. @glennsarti Back in the dark days of 2014 and prior,

    IT operations at Columbia was almost entirely manual. We had a couple dozen automated scripts … but no coherent strategy or focus on automation … no configuration management … (or) source control 2014 – Dark Age
  46. @glennsarti 2014 – Dark Age • Limited standardisation • Silos

    of knowledge • Many long-lived snowflake servers … repeat
  47. @glennsarti • Learning new concepts • Source Control • Trying

    Configuration Management • Simple pipelines 2015 – The Renaissance
  48. @glennsarti • Concepts built upon each other • Configuration Management

    • Integrating and expanding pipelines 2016 – Industrious Revolution
  49. @glennsarti • Moving workloads to the public cloud • Converging

    Apps and Infrastructure • Still practicing the basics Now – Age of Enlightenment
  50. @glennsarti Evolving Toolchain

  51. @glennsarti Source Release Test Build

  52. @glennsarti Source Release Test Build GitLab

  53. @glennsarti Source Release Test Build Continuous Integration GitLab PowerShell PowerShell

    GitLab CI Jenkins
  54. @glennsarti Source Release Test Build Continuous Integration GitLab PowerShell PowerShell

    PowerShell Pester DSC vSphere GitLab CI Jenkins Artifact Repository Artifactory
  55. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Artifactory

    GitLab PowerShell PowerShell PowerShell Packer Pester Inspec DSC Chef vSphere GitLab CI Jenkins Collaboration Slack
  56. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Monitor

    Artifactory GitLab PowerShell PowerShell PowerShell Packer Pester Inspec DSC Chef vSphere GitLab CI Jenkins Sensu InfluxDB Telegraf Grafana Collaboration PowerShell Slack Hubot
  57. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Collaboration

    Monitor Artifactory GitLab PowerShell PowerShell PowerShell PowerShell Packer Terraform Pester Inspec DSC Chef vSphere Azure GitLab CI Jenkins Sensu InfluxDB Telegraf Grafana Slack Hubot
  58. @glennsarti Helping tool adoption • Make it visible • Show

    the benefits • Meet users where they are
  59. @glennsarti Helping tool adoption • Make it visible • Show

    the benefits • Meet users where they are
  60. @glennsarti Helping tool adoption • Make it visible • Show

    the benefits • Meet users where they are
  61. @glennsarti Helping tool adoption • Make it visible • Show

    the benefits • Meet users where they are
  62. @glennsarti

  63. @glennsarti Different CI server

  64. @glennsarti Source Release Test Build Continuous Integration GitLab PowerShell PowerShell

    GitLab CI Jenkins
  65. @glennsarti Source Release Test Build Continuous Integration GitLab PowerShell PowerShell

    TeamCity Artifact Repository TeamCity
  66. @glennsarti Source Release Test Build Continuous Integration GitLab PowerShell PowerShell

    TeamCity Artifact Repository Artifactory
  67. @glennsarti Add open source

  68. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Collaboration

    Monitor Artifactory GitLab PowerShell PowerShell PowerShell PowerShell Packer Terraform Pester Inspec DSC Chef vSphere Azure GitLab CI Jenkins Sensu InfluxDB Telegraf Grafana Slack Hubot
  69. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Collaboration

    Monitor Artifactory GitLab PowerShell PowerShell PowerShell PowerShell Packer Terraform Pester Inspec DSC Chef vSphere Azure GitLab CI Jenkins Sensu InfluxDB Telegraf Grafana Slack Hubot GitHub Appveyor
  70. @glennsarti Using VSTS

  71. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Collaboration

    Monitor Artifactory GitLab PowerShell PowerShell PowerShell PowerShell Packer Terraform Pester Inspec DSC Chef vSphere Azure GitLab CI Jenkins Sensu InfluxDB Telegraf Grafana Slack Hubot
  72. @glennsarti Source Release Test Build Artifact Repository Continuous Integration Collaboration

    Monitor Artifactory GitLab PowerShell PowerShell PowerShell PowerShell Packer Terraform Pester Inspec DSC Chef vSphere Azure Jenkins Sensu InfluxDB Telegraf Grafana Slack Hubot VSTS CI VSTS VSTS Release VSTS Packages
  73. @glennsarti

  74. @glennsarti To the future

  75. @glennsarti

  76. @glennsarti Cloud Containers Serverless

  77. @glennsarti Cloud Containers Serverless

  78. @glennsarti Cloud Containers Serverless

  79. @glennsarti Cloud Containers Serverless

  80. @glennsarti Cloud Containers Serverless

  81. When choosing a tool or tool-chain… Drive Outcomes Know the

    environment Know the limitations
  82. Once chosen… Make it visible Show the benefits Meet users

    where they are
  83. Thankyou! https://speakerdeck.com/glennsarti https://glennsarti.github.io @glennsarti

  84. Links Donavon Brown http://donovanbrown.com Devops Weekly http://www.devopsweekly.com/ Devopsish https://devopsish.com/ Devops

    Bookmarks http://www.devopsbookmarks.com Periodic Table of DevOps Tools https://xebialabs.com/periodic-table-of-devops-tools/ Continuous Delivery Book http://amzn.to/1QBJM7k Phoenix Project https://itrevolution.com/book/the-phoenix-project/ The Release Pipeline Model whitepaper http://aka.ms/trpm Agile Toolkit http://amzn.com/0321150783
  85. Links Windows Containers https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/ Serverless https://martinfowler.com/articles/serverless.html Azure Functions https://azure.microsoft.com/en-us/services/functions AWS

    Lambda https://aws.amazon.com/lambda
  86. bit.ly/addo-slack Find me on slack, right now!

  87. None