new continous delivery: tales from...

35
CONTINOUS DELIVERY: TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks Wednesday, 2 October 13

Upload: others

Post on 16-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

CONTINOUS DELIVERY: TALES FROM WINDOWSLAND

Rachel Laycock (@rachellaycock) ThoughtWorks!

Wednesday, 2 October 13

Page 2: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Johannesburg

Leeds

Wednesday, 2 October 13

Page 3: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Just use linux...

Wednesday, 2 October 13

Page 4: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Continuous Delivery

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Wednesday, 2 October 13

Page 5: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

releasing frequently

John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr

feedback from usersreduce risk of release

Wednesday, 2 October 13

Page 6: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

releasing frequentlyfeedback from usersreduce risk of releasereal project progress

Wednesday, 2 October 13

Page 7: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

CD is BIG!

Organisational Alignment

Release Management

Architecture Quality Assurance

Continuous Integration

Configuration Management

Data Management

Environments & Deployment

Wednesday, 2 October 13

Page 8: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

• Build

• Deploy

• Provisioning Environments

We will talk about...

Wednesday, 2 October 13

Page 9: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Build and Deployment Pipeline

Here Be Dragons!

You are a pretty rubbish dragon slayer

Wednesday, 2 October 13

Page 10: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Build

Wednesday, 2 October 13

Page 11: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

basic deployment pipeline

Artifact repository

Source code

Commit stage

CompileCommit tests

AssembleCode analysis

reportsbinariesmetadata

Acceptance stage

Configure environmentDeploy binaries

Smoke testAcceptance tests

Capacity stage

Configure environmentDeploy binaries

Smoke testRun capacity tests

UAT

Configure environmentDeploy binaries

Smoke test

Env & app

config

reportsmetadatabinaries

Production

Configure environmentDeploy binaries

Smoke test

Env & app

config

binariesreportsmetadata

Operationsperform

push-buttonreleases

TestersSelf-servicedeploymentsDevelopers

See code metricsand test failures

Version control

Commit

Wednesday, 2 October 13

Page 12: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Story time

Wednesday, 2 October 13

Page 13: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Team Build:

SCM:Server side merging & no local commits

difficult to adjust build step definitions

no pipeline support

A little story about TFS...

Wednesday, 2 October 13

Page 14: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Compile and unit test

XML == Yuk!

Wednesday, 2 October 13

Page 15: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

PowerShell

PSake

Compile and unit test

Code == yay!

Wednesday, 2 October 13

Page 16: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Package

Wednesday, 2 October 13

Page 17: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Deployment

Provisioning boxes

Database migrations

deployments

Wednesday, 2 October 13

Page 18: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Build and Deployment Pipeline

Wednesday, 2 October 13

Page 19: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

basic deployment pipeline

Artifact repository

Source code

Commit stage

CompileCommit tests

AssembleCode analysis

reportsbinariesmetadata

Acceptance stage

Configure environmentDeploy binaries

Smoke testAcceptance tests

Capacity stage

Configure environmentDeploy binaries

Smoke testRun capacity tests

UAT

Configure environmentDeploy binaries

Smoke test

Env & app

config

reportsmetadatabinaries

Production

Configure environmentDeploy binaries

Smoke test

Env & app

config

binariesreportsmetadata

Operationsperform

push-buttonreleases

TestersSelf-servicedeploymentsDevelopers

See code metricsand test failures

Version control

Deploy

Wednesday, 2 October 13

Page 20: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

• New Kids on the Block!

• MSDeploy

• PowerShell

DeploymentXML == Yuk!

Code == yay!

Tools == yay!

Wednesday, 2 October 13

Page 21: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

• cmd line - c’mon!

• One way to package to rule them all!

• So I have to install and configure this through the GUI?

• Package installs - where are you?

Deployment Pain

Wednesday, 2 October 13

Page 22: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

• SQL Server & logic in your stored procedures

MOAR PAIN

Provisioning boxes

Database migrations

deployments

Wednesday, 2 October 13

Page 23: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Provision Environments

Provisioning boxes

Database migrations

deployments

Wednesday, 2 October 13

Page 24: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Snowflake serverWednesday, 2 October 13

Page 25: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Story time

Wednesday, 2 October 13

Page 26: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Build and Deployment Pipeline

Wednesday, 2 October 13

Page 27: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

basic deployment pipeline

Artifact repository

Source code

Commit stage

CompileCommit tests

AssembleCode analysis

reportsbinariesmetadata

Acceptance stage

Configure environmentDeploy binaries

Smoke testAcceptance tests

Capacity stage

Configure environmentDeploy binaries

Smoke testRun capacity tests

UAT

Configure environmentDeploy binaries

Smoke test

Env & app

config

reportsmetadatabinaries

Production

Configure environmentDeploy binaries

Smoke test

Env & app

config

binariesreportsmetadata

Operationsperform

push-buttonreleases

TestersSelf-servicedeploymentsDevelopers

See code metricsand test failures

Version control

Provision

Environment

Wednesday, 2 October 13

Page 28: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Virtual Machine ImagesDevelopment

Visual StudioSQL Server.NET 4GIT

CI

Go.NET 4GIT

Prod-like

.NET 4SQL Server3rd Party software

Wednesday, 2 October 13

Page 29: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

most real systems will be heterogeneous

great for creating production-like test envs, highly parallel testing

cloud is great for utility computing and scaling on demand

use virtualization with Puppet, Chef & PowerShell

virtualization

Wednesday, 2 October 13

Page 30: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Infrastructure as Code

Wednesday, 2 October 13

Page 31: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

It looks like you are trying to configure

some servers...

• Proprietary Software

• Remoting• Windows Versions

• Registries

Infrastructure Pain

• Windows Updates

• ISO’s

• CostWednesday, 2 October 13

Page 32: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

• Contribute to OpenSource ALT.NET projects

• Don’t be afraid of non-ms tools

• Leverage existing languages

• Just do it!

Now it’s your turn...

Wednesday, 2 October 13

Page 33: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

• Maybe we can self select away from proprietary software...

• It can only get better...

• New tools all the time

• Figuring out a problem is the first step to fixing it

Happy endings?

Wednesday, 2 October 13

Page 34: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Questions?

Wednesday, 2 October 13

Page 35: New CONTINOUS DELIVERY: TALES FROM WINDOWSLANDgotocon.com/dl/goto-aar-2013/slides/RachelLaycock... · 2013. 10. 8. · TALES FROM WINDOWSLAND Rachel Laycock (@rachellaycock) ThoughtWorks!

Resources

• Continuous Delivery, Dave Farley & Jez Humble

• Continuous Integration, Paul Duvall

• Beautiful Builds, Roy Osherove

• Release IT, Michael Nygard

Wednesday, 2 October 13