SlideShare a Scribd company logo
1 of 51
Download to read offline
CDwithWindows.net
Continuous Delivery
making it work with Windows and .NET
Matthew Skelton and Chris O’Dell
LeedsSharp meetup group | 26 October 2017
#LeedsSharp
CDwithWindows.net
why a special focus for .NET?
some case studies
recommendations
(download the book!)
CDwithWindows.net
Continuous Delivery
Jez Humble & Dave Farley
Addison-Wesley, 2010
Reliable Software Releases
through Build, Test, and
Deployment Automation
CDwithWindows.net
Continuous Delivery
Jez Humble & Dave Farley
Addison-Wesley, 2010
Reliable Software Releases
through Build, Test, and
Deployment Automation
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
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
Continuous Delivery
with Windows and .NET
Matthew Skelton and Chris O’Dell
O’Reilly, February 2016
FREE via CDwithWindows.net
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/
CDwithWindows.net
Chris O’Dell
Consultant at Contino
@ChrisAnnODell
who
Matthew Skelton
Founder at Conflux
@matthewpskelton
CDwithWindows.net
Why a special focus for .NET?
CDwithWindows.net
Windows/.NET around 2010
No native Package Management
Very limited automation
Point and click configuration
Monolithic configuration (SCCM etc.)
CDwithWindows.net
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
CDwithWindows.net
CDwithWindows.net
Some case studies
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
Soundbites from
Focus on flow
Avoid complex branching strategies
Aim to push work out to consumers asap
Favour fast recovery
CDwithWindows.netCDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
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
CDwithWindows.net
CDwithWindows.netThanks: Owain Perry
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
CDwithWindows.net
CDwithWindows.net
CDwithWindows.net
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
CDwithWindows.net
Recommendations
CDwithWindows.net
Recommendations
Focus on continual flow of changes
Collect effective metrics from live systems
Branch code with caution!
CDwithWindows.net
CDwithWindows.net
Recommendations
Use Git (not Svn / TFS)
Immutable infra with Windows 40GB VMs
is difficult (impossible?)
CDwithWindows.net
CDwithWindows.net
Recommendations
Use NuGet for internal dependencies
Use a proper artifact repository:
Artifactory, Nexus, …
Solution (.sln) / Project (.csproj) structure
affects buildability - restructure
CDwithWindows.net
CDwithWindows.net
Recommendations
Automate DB changes: Redgate / Fluent /
Flyway …
DB ownership gets tricky: Dev vs DBA
Patch mgt: test in upstream envs
CDwithWindows.net
CDwithWindows.net
Recommendations
Devolved AD administration with
automated domain join/leave
Detect config drift: UpGuard / ...
Make friends with Linux for best tooling!
CDwithWindows.net
CDwithWindows.net
Continuous Delivery
with
Windows and .NET
is completely possible
NO EXCUSES!
CDwithWindows.net
Continuous Delivery
with Windows and .NET
Matthew Skelton and Chris O’Dell
O’Reilly, February 2016
FREE via CDwithWindows.net
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

More Related Content

More from Matthew Skelton

Team Topologies in action - early results from industry - DOES Las Vegas 2020...
Team Topologies in action - early results from industry - DOES Las Vegas 2020...Team Topologies in action - early results from industry - DOES Las Vegas 2020...
Team Topologies in action - early results from industry - DOES Las Vegas 2020...
Matthew Skelton
 
Team Topologies in action - early results from industry - DOES London Virtual...
Team Topologies in action - early results from industry - DOES London Virtual...Team Topologies in action - early results from industry - DOES London Virtual...
Team Topologies in action - early results from industry - DOES London Virtual...
Matthew Skelton
 

More from Matthew Skelton (20)

Find me on SpeakerDeck! - Matthew Skelton.pdf
Find me on SpeakerDeck! - Matthew Skelton.pdfFind me on SpeakerDeck! - Matthew Skelton.pdf
Find me on SpeakerDeck! - Matthew Skelton.pdf
 
Business and technical agility with Team Topologies - QCon Plus - 2021-05-26
Business and technical agility with Team Topologies - QCon Plus - 2021-05-26Business and technical agility with Team Topologies - QCon Plus - 2021-05-26
Business and technical agility with Team Topologies - QCon Plus - 2021-05-26
 
What is platform as a product? Clues from Team Topologies - WTFinar with Cont...
What is platform as a product? Clues from Team Topologies - WTFinar with Cont...What is platform as a product? Clues from Team Topologies - WTFinar with Cont...
What is platform as a product? Clues from Team Topologies - WTFinar with Cont...
 
Business agility with Team Topologies - NatWest Group - 2021-01-19
Business agility with Team Topologies - NatWest Group - 2021-01-19Business agility with Team Topologies - NatWest Group - 2021-01-19
Business agility with Team Topologies - NatWest Group - 2021-01-19
 
WFT is platform as a product? Clues from Team Topologies - WTFinar with Conta...
WFT is platform as a product? Clues from Team Topologies - WTFinar with Conta...WFT is platform as a product? Clues from Team Topologies - WTFinar with Conta...
WFT is platform as a product? Clues from Team Topologies - WTFinar with Conta...
 
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
 
Accidental Architects - how HR designs software systems - Team Topologies - f...
Accidental Architects - how HR designs software systems - Team Topologies - f...Accidental Architects - how HR designs software systems - Team Topologies - f...
Accidental Architects - how HR designs software systems - Team Topologies - f...
 
Team Topologies in action - early results from industry - DOES Las Vegas 2020...
Team Topologies in action - early results from industry - DOES Las Vegas 2020...Team Topologies in action - early results from industry - DOES Las Vegas 2020...
Team Topologies in action - early results from industry - DOES Las Vegas 2020...
 
What is platform as a product? Clues from Team Topologies - Puppetize 2020 - ...
What is platform as a product? Clues from Team Topologies - Puppetize 2020 - ...What is platform as a product? Clues from Team Topologies - Puppetize 2020 - ...
What is platform as a product? Clues from Team Topologies - Puppetize 2020 - ...
 
Remote first team interactions with Team Topologies - Iris Software Group - 2...
Remote first team interactions with Team Topologies - Iris Software Group - 2...Remote first team interactions with Team Topologies - Iris Software Group - 2...
Remote first team interactions with Team Topologies - Iris Software Group - 2...
 
Team Topologies in action - early results from industry - DOES London Virtual...
Team Topologies in action - early results from industry - DOES London Virtual...Team Topologies in action - early results from industry - DOES London Virtual...
Team Topologies in action - early results from industry - DOES London Virtual...
 
Accidental Architects - how HR designs software systems - Team Topologies - e...
Accidental Architects - how HR designs software systems - Team Topologies - e...Accidental Architects - how HR designs software systems - Team Topologies - e...
Accidental Architects - how HR designs software systems - Team Topologies - e...
 
Remote-first team interactions with Team Topologies - SEAM - 2020-05-13
Remote-first team interactions with Team Topologies - SEAM - 2020-05-13Remote-first team interactions with Team Topologies - SEAM - 2020-05-13
Remote-first team interactions with Team Topologies - SEAM - 2020-05-13
 
Remote-first team interactions with Team Topologies - Agile Yorkshire - 2020-...
Remote-first team interactions with Team Topologies - Agile Yorkshire - 2020-...Remote-first team interactions with Team Topologies - Agile Yorkshire - 2020-...
Remote-first team interactions with Team Topologies - Agile Yorkshire - 2020-...
 
Remote first team interactions with Team Topologies - IT Revolution webinar -...
Remote first team interactions with Team Topologies - IT Revolution webinar -...Remote first team interactions with Team Topologies - IT Revolution webinar -...
Remote first team interactions with Team Topologies - IT Revolution webinar -...
 
Remote-first team interactions with Team Topologies
Remote-first team interactions with Team TopologiesRemote-first team interactions with Team Topologies
Remote-first team interactions with Team Topologies
 
Forget monoliths vs microservices - focus on Team Cognitive Load - Team Topol...
Forget monoliths vs microservices - focus on Team Cognitive Load - Team Topol...Forget monoliths vs microservices - focus on Team Cognitive Load - Team Topol...
Forget monoliths vs microservices - focus on Team Cognitive Load - Team Topol...
 
How to break apart a monolithic system safely without destroying your team - ...
How to break apart a monolithic system safely without destroying your team - ...How to break apart a monolithic system safely without destroying your team - ...
How to break apart a monolithic system safely without destroying your team - ...
 
Un-broken logging - the foundation of software operability - Operability.io -...
Un-broken logging - the foundation of software operability - Operability.io -...Un-broken logging - the foundation of software operability - Operability.io -...
Un-broken logging - the foundation of software operability - Operability.io -...
 
Forget monoliths vs microservices - focus on team cognitive load - Team Topol...
Forget monoliths vs microservices - focus on team cognitive load - Team Topol...Forget monoliths vs microservices - focus on team cognitive load - Team Topol...
Forget monoliths vs microservices - focus on team cognitive load - Team Topol...
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Recently uploaded (20)

Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
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 ...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
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-...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
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
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

Continuous Delivery - making it work with Windows and .NET