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

CD - Making it work with Windows and .NET

February 23, 2016

CD - Making it work with Windows and .NET

Co-Presented with Matthew Skelton (http://twitter.com/matthewpskelton).

Video: https://vimeo.com/157086224/

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'.

Given at London CD Meetup 23rd February 2016:


February 23, 2016

More Decks by Chris

Other Decks in Programming


  1. CDwithWindows.net Continuous Delivery with Windows and .NET Chris O’Dell and

    Matthew Skelton O’Reilly, February 2016 FREE via CDwithWindows.net
  2. CDwithWindows.net Windows/.NET around 2010 • No native Package Management •

    Very limited automation • Point and click configuration • Monolithic configuration (SCCM etc.)
  3. 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
  4. CDwithWindows.net Soundbites from • Focus on flow • Avoid complex

    branching strategies • Aim to push work out to consumers asap • Favour fast recovery
  5. 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
  6. 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
  7. 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
  8. CDwithWindows.net Recommendations • Focus on continual flow of changes •

    Collect effective metrics from live systems • Branch code with caution!
  9. CDwithWindows.net Recommendations • Use Git (not Svn / TFVC) •

    Immutable infra with Windows 40GB VMs is difficult (impossible?)
  10. CDwithWindows.net Recommendations • Use NuGet for internal dependencies • Use

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

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

    • Detect config drift: UpGuard / ... • Make friends with Linux for best tooling!
  13. CDwithWindows.net Continuous Delivery with Windows and .NET Chris O’Dell and

    Matthew Skelton O’Reilly, February 2016 FREE via CDwithWindows.net
  14. 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