SQL in the City - Redgate...28 years SQL Server data experience DBA, developer, manager, writer,...

Preview:

Citation preview

SQL in the CitySummit

Summit

Building Quality in your Continuous Delivery Process

Agenda

BioDevOps and Continuous DeliveryDBA (and organizational) concernsAdding quality

Steve JonesEvangelist, Redgate Software

Editor, SQLServerCentral

28 years SQL Server data experienceDBA, developer, manager, writer, speaker in a variety of companies and industries

Founder, SQLServerCentralCurrently the editor in chief, with the goal of helping you learn to be a better data professional every day

11 year Microsoft Data Platform MVPI have been honored to be recognized by Microsoft for the as a Data Platform MVP working with SQL Server

@way0utwest/in/way0utwest www.voiceofthedba.comsjones@sqlservercentral.com

What is DevOps?

Velocity ‘09 – 10+ Deploys Per Day: Dev and Ops Cooperation at FlickrAn amalgamation of principles describing a better software processGrew out of the Agile movementIs not Agile (or Scrum or Lean or Kanban)Uses The Three Ways

Systems ThinkingAmplify Feedback LoopsA Culture of Learning and Experimentation

What is DevOps?

Velocity ‘09 – 10+ Deploys Per Day: Dev and Ops Cooperation at FlickrAn amalgamation of principles describing a better software processGrew out of the Agile movementIs not Agile (or Scrum or Lean or Kanban)Uses The Three Ways

Systems ThinkingAmplify Feedback LoopsA Culture of Learning and Experimentation

Continuous Stuff

DevOps often includes continuousIntegrationDeliveryDeployment

Continuous Delivery is getting changes to customers as soon as possible

Still manual reviewStill approvalsStill human involvement

DBA Concerns with DevOps

Poor modeling and designLots of technical debt we can't removePoor query performance Breaking other applications

Organizational Concerns with DevOps

Get more doneDeliver more featuresLess DevelopersFix broken things immediately

Speed v Quality

Speed Quality

Speed and QualitySp

eed

Quality

Summit

We Build in QualityUse Feedback

Avoid Unnecessary WorkLearn what works and what doesn't

Use StandardsConsistency for developersLess Learning Time

Evolve the ProcessDevelop patterns for problem domainsLearn anti-patterns

Use AutomationPick one thing and improve itWork through bottlenecks

Use Standards

Choose standards forNamingStyleCoding practicesDocumentation

Static Code Analysis can catch problemsEnable relevant rulesRemove irrelevant rulesRun this often

Use Version Control

Use Version Control

Use Tests

Test early and oftenMake testing a part of development, not a projectSlowly add testsValidate standardsEnsure specifications metDocument your intentions

Validate with Continuous Integration

Evaluation of code from your VCSEnsures all changes are capturedSpecific versions checked

Independent SystemNo machine dependenciesEnsures repeatable build/release

Consistent ProcessEnsures all steps are completedAvoids human tendencies to skip items

Validate with Continuous Integration

Automated Releases

Automation ensures releases are repeatable and reliableWe can release more often with confidenceReleasing more often means

Release smaller changesLower risk of issuesWe learn to toggle/flag items

Monitoring and Learning

We need feedback on our workIs it being used?Does it perform well?

Gather metrics and measurementsFocus on outcomes not outputsSlowly add new itemsDon't forget to measure the people and the software

Use feedback to drive learningPatternsAnti-patterns

Summary

Understand and apply the DevOps principles to the dbThis is a journeyTools and technology can helpA DevOps culture is criticalTake baby steps

SummitSummit

Any questions?www.voiceofthedba.com

sjones@sqlservercentral.com

@way0utwest

/in/way0utwest

Recommended