Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery - Making it work with Windows and .NET

Continuous Delivery - Making it work with Windows and .NET

The technologies and approaches for Continuous Delivery are essentially identical across different operating systems, but some things need special treatment for Windows and .NET. When Jez Humble and Dave Farley published their groundbreaking book ‘Continuous Delivery’ in 2010, many of the tools described were either nonexistent on the Windows platform or did not support the rich automation capabilities they do now.

This talk aims to encourage many more teams working with Windows and .NET to adopt Continuous Delivery by sharing real-world success stories of organisations using Windows and .NET for Continuous Delivery; the speakers share their first-hand experience in different organisations and also explore some case studies from the new O’Reilly eBook ‘Continuous Delivery with Windows and .NET’.

Matthew Skelton

October 26, 2017
Tweet

More Decks by Matthew Skelton

Other Decks in Business

Transcript

  1. CDwithWindows.net Continuous Delivery making it work with Windows and .NET

    Matthew Skelton and Chris O’Dell LeedsSharp meetup group | 26 October 2017 #LeedsSharp
  2. CDwithWindows.net Continuous Delivery Jez Humble & Dave Farley Addison-Wesley, 2010

    Reliable Software Releases through Build, Test, and Deployment Automation
  3. CDwithWindows.net Continuous Delivery Jez Humble & Dave Farley Addison-Wesley, 2010

    Reliable Software Releases through Build, Test, and Deployment Automation
  4. CDwithWindows.net Continuous Integration: Build & test code on every commit

    to version control Continuous Deployment: Push changes to live systems many times per day Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
  5. CDwithWindows.net Continuous Delivery with Windows and .NET Matthew Skelton and

    Chris O’Dell O’Reilly, February 2016 FREE via CDwithWindows.net
  6. CDwithWindows.net Required reading for MSc in Software Systems Engineering at

    University College London (UCL) "[the] text is excellent and succinctly explains many of the key terms, such as continuous integration and continuous delivery, underpinning DevOps." https://continuousdeliverywithwindows.wordpress.com/2017/10/20/continuo us-delivery-with-windows-and-net-is-required-reading-for-msc-students/
  7. CDwithWindows.net Windows/.NET around 2010 No native Package Management Very limited

    automation Point and click configuration Monolithic configuration (SCCM etc.)
  8. CDwithWindows.net Windows/.NET in 2016 PowerShell APIs for all MS products

    NuGet, Chocolatey, OneGet, … 1st-class Git experience on Windows Native Windows/.NET support in Chef, Puppet, Ansible + DSC
  9. CDwithWindows.net Soundbites from Focus on flow Avoid complex branching strategies

    Aim to push work out to consumers asap Favour fast recovery
  10. CDwithWindows.net Takeaways from Collect metrics from your live systems Make

    them effective for issue resolution Too much unstructured data can be blinding Help your future selves pinpoint issues quickly and easily Continually review and revise effectiveness of existing dashboards
  11. CDwithWindows.net Parting gifts from Git on Windows works very well

    Chef on Windows works very well GoCD on Windows works very well Github + TeamCity + GoCD == awesomeness At web scale, SaaS logging tools cost $$$, so invest in internal ELK at the right time
  12. CDwithWindows.net Discoveries from Installation experience is a feature Chocolatey is

    still a bit ropey for client-facing systems (use MSIs) Split the codebase along domain boundaries Detect configuration drift Add metrics and logging somehow
  13. CDwithWindows.net Recommendations Use Git (not Svn / TFS) Immutable infra

    with Windows 40GB VMs is difficult (impossible?)
  14. CDwithWindows.net Recommendations Use NuGet for internal dependencies Use a proper

    artifact repository: Artifactory, Nexus, … Solution (.sln) / Project (.csproj) structure affects buildability - restructure
  15. CDwithWindows.net Recommendations Automate DB changes: Redgate / Fluent / Flyway

    … DB ownership gets tricky: Dev vs DBA Patch mgt: test in upstream envs
  16. CDwithWindows.net Recommendations Devolved AD administration with automated domain join/leave Detect

    config drift: UpGuard / ... Make friends with Linux for best tooling!
  17. CDwithWindows.net Continuous Delivery with Windows and .NET Matthew Skelton and

    Chris O’Dell O’Reilly, February 2016 FREE via CDwithWindows.net
  18. CDwithWindows.net thanks Dave Farley for the Foreword O’Reilly Editors: Brian

    Anderson and Kristen Brown Case Studies: Andy Lole at Carnect Paul Shannon at 7digital Steve Elliott at LateRooms.com Peter Mounce at JUST EAT Owain Perry at JustGiving John Esser and Russ Barnet at Ancestry.com