Continuous Delivery in a .NET World

37
Continuous Delivery in a .NET World Adam Goucher Tuesday, November 11, 14

description

The slide deck for my Øredev 2014 session on doing Continuous Delivery with an example bias towards the .NET stack but the key points apply to all stacks I think. The video of the talk is available at http://vimeo.com/111289719 and the blog post with the words I wrote before creating the deck is at http://adam.goucher.ca/?p=1844

Transcript of Continuous Delivery in a .NET World

Page 1: Continuous Delivery in a .NET World

Continuous Delivery in a .NET World

Adam GoucherTuesday, November 11, 14

Page 2: Continuous Delivery in a .NET World

Have A Goal

Tuesday, November 11, 14

Page 3: Continuous Delivery in a .NET World

Have A GoalYou cannot win if you don’t know what winning looks like.

Tuesday, November 11, 14

Page 4: Continuous Delivery in a .NET World

Get ‘trunk’ deliverable

Tuesday, November 11, 14

Page 5: Continuous Delivery in a .NET World

Get ‘trunk’ deliverableFeature Flags

Tuesday, November 11, 14

Page 6: Continuous Delivery in a .NET World

Get ‘trunk’ deliverableExternalized Configuration

Tuesday, November 11, 14

Page 7: Continuous Delivery in a .NET World

Get ‘trunk’ deliverableNon assumption of installation location

Tuesday, November 11, 14

Page 8: Continuous Delivery in a .NET World

Get ‘trunk’ deliverableStop branching!!!

Tuesday, November 11, 14

Page 9: Continuous Delivery in a .NET World

Figure out your database

Tuesday, November 11, 14

Page 10: Continuous Delivery in a .NET World

Figure out your databaseInfluences your tooling

Tuesday, November 11, 14

Page 11: Continuous Delivery in a .NET World

Figure out your databaseInfluences your build chain

Tuesday, November 11, 14

Page 12: Continuous Delivery in a .NET World

Figure out your databaseForwards and backwards change compatibility within the

application

Tuesday, November 11, 14

Page 13: Continuous Delivery in a .NET World

Figure out your databaseInfluences deployment process

Tuesday, November 11, 14

Page 14: Continuous Delivery in a .NET World

Convention over Configuration

Tuesday, November 11, 14

Page 15: Continuous Delivery in a .NET World

Convention over ConfigurationSolution / Projects should be clones of each other

Tuesday, November 11, 14

Page 16: Continuous Delivery in a .NET World

Convention over ConfigurationIt doesn’t matter if your ‘partners’ don’t like it

Tuesday, November 11, 14

Page 17: Continuous Delivery in a .NET World

Make things Small (And Modular)

Tuesday, November 11, 14

Page 18: Continuous Delivery in a .NET World

Make things Small (And Modular)Nuget to the rescue?

Tuesday, November 11, 14

Page 19: Continuous Delivery in a .NET World

Not All Chains are Equal

Tuesday, November 11, 14

Page 20: Continuous Delivery in a .NET World

Not All Chains are EqualBe rigid. Except when you are flexible.

Tuesday, November 11, 14

Page 21: Continuous Delivery in a .NET World

Automate what should be Automated

Tuesday, November 11, 14

Page 22: Continuous Delivery in a .NET World

Automate what should be Automated

Continuous Deployment vs. Continuous Delivery

Tuesday, November 11, 14

Page 23: Continuous Delivery in a .NET World

Automate what should be Automated

Natively

Tuesday, November 11, 14

Page 24: Continuous Delivery in a .NET World

Infrastructure Matters

Tuesday, November 11, 14

Page 25: Continuous Delivery in a .NET World

Infrastructure MattersIf you have a ‘DevOps team’...

Tuesday, November 11, 14

Page 26: Continuous Delivery in a .NET World

Infrastructure MattersThe first hit is free...

Tuesday, November 11, 14

Page 27: Continuous Delivery in a .NET World

Infrastructure MattersInfrastructure is a ‘Product’ as well

Tuesday, November 11, 14

Page 28: Continuous Delivery in a .NET World

Powershell

Tuesday, November 11, 14

Page 29: Continuous Delivery in a .NET World

PowershellWhen you need a Hammer

Tuesday, November 11, 14

Page 30: Continuous Delivery in a .NET World

Its all about the People

Tuesday, November 11, 14

Page 31: Continuous Delivery in a .NET World

Its all about the PeopleDuh!

Tuesday, November 11, 14

Page 32: Continuous Delivery in a .NET World

Its all about the PeoplePeople, not Resources

Tuesday, November 11, 14

Page 33: Continuous Delivery in a .NET World

Its all about the People/Everyone/ needs to believe

Tuesday, November 11, 14

Page 34: Continuous Delivery in a .NET World

Its all about the PeopleGet rid of those that don’t

Tuesday, November 11, 14

Page 35: Continuous Delivery in a .NET World

It isn’t easy...

Tuesday, November 11, 14

Page 36: Continuous Delivery in a .NET World

...but is now possible.

Tuesday, November 11, 14

Page 37: Continuous Delivery in a .NET World

Start NOW!

Tuesday, November 11, 14