devops - today better than yesterday

15
TODAY BETTER THAN YESTERDAY A personal journey to implement Continuous Integration / Continuous Delivery at autoTRADER.ca DevOps Meetup Vancouver http://www.meetup.com/DevOps-Vancouver-BC-Canada/events/230821476/

Upload: eric-lau

Post on 21-Jan-2017

53 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DevOps - Today Better than Yesterday

TODAY BETTER THAN YESTERDAY

A personal journey to implement Continuous Integration / Continuous Delivery at autoTRADER.ca

DevOps Meetup Vancouverhttp://www.meetup.com/DevOps-Vancouver-BC-Canada/events/230821476/

Page 2: DevOps - Today Better than Yesterday

DEVOPS AND MEDevelopment Manager for SHOES.COMWas autoTRADER.ca Development Manager for 3 years

Read Phoenix Project book in 2012 Left autoTRADER.ca in November 2015

Page 3: DevOps - Today Better than Yesterday

A PERSONAL STORYNot smooth, many bumps along the wayNumerous setbacksNot a blueprint of near ideal / perfect stateWeeks where I wonder if it was all worth it

Page 4: DevOps - Today Better than Yesterday
Page 5: DevOps - Today Better than Yesterday
Page 6: DevOps - Today Better than Yesterday

CONTEXT - SPRING 2012Read Phoenix Project – recommended by my bossManual deploy - one contractor knowsDifficult employee transferred to my department

Union environment9pm production deploys, many go past midnight

Why did site crash? Oops, forgot X, Y, ZTimespan between deploys wildly inconsistent

Page 7: DevOps - Today Better than Yesterday

BEGIN WITH THE END IN MINDWhat does management care about that continuous integration / continuous delivery provide?

1 deploy every 3-6 weeks …Vs 1 deploy every 2 weeksVs 8 deploys a day

Page 8: DevOps - Today Better than Yesterday

DEVOPS MUST BE IN THE BLOODA mindset, not a set of toolsPersonnel changesProcess changes

Page 9: DevOps - Today Better than Yesterday

BUMPS ALONG THE WAY Lead dev quit with prejudiceResisting changeDemanding that change done in big bang fashionPerfect surgery techniques used – patient deadDoing this while also attempting to adopt full agileMy own shortcomings as manager

Page 10: DevOps - Today Better than Yesterday

TOOLS AND PRACTICESGit

Git-flow(ish)Teamcity 8 as continuous integration toolOctopus 1 as continuous delivery toolConfig management

Page 11: DevOps - Today Better than Yesterday

RESULTConsistent deploys every 2 weeksDeploys start at 3pm, everyone leaves almost always before 6pm

Rollback process much easierMuch quicker in finding out whether it’s a code change or db change that ‘broke the system’

CI / CD in place

Page 12: DevOps - Today Better than Yesterday

IF I COULD DO IT OVER AGAINMore emphasis on culture, personnelDecoupling deployments from releases

Feature toggle Dark launches

More emphasis on automated testing, dedicated CI environment

Know when to push, when to take a breather (do no worse)

Page 13: DevOps - Today Better than Yesterday

@SHOES.COMDecoupling deployments from releasesOctopus 3 significant improve over Octopus 1Full git-flow branching implementation

Git-flow is not end state, only intermediarySemantic versioning In progress

deploy multiple components of a system in 1 click

Page 14: DevOps - Today Better than Yesterday
Page 15: DevOps - Today Better than Yesterday

Q & AReach me

http://ericlau.netSHOES.COM recruitment

https://www.youtube.com/watch?v=UJjm0-2GqOU