how database devops will help you - redgate...how database devops will help you to stay ahead of the...

46

Upload: others

Post on 21-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions
Page 2: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

How Database DevOps Will Help You

To Stay Ahead Of The Competition

Derek Campbell, Solutions Architect at Octopus Deploy

Page 3: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Agenda

• Background

• DevOps

• Benefits

• Roadblocks

• Questions

Page 4: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Background

Page 5: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Previous Work Experience

• Release Manager

• Lead DevOp

• System Architect

• System Administrator

Page 6: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

What are the issues we can solve?

• Databases out of pace with application development

• Lack of Traceability

• Inability to Roll back

• Databases are the bottleneck

• Releases less frequent with increased risk

• Efficiency – Manual work takes more time.

Page 7: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

System Development Life Cycle

Page 8: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Development Team

Page 9: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Operations Team

Page 10: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Knowledge Silos

• Development Team• Development roadmap

• Feature requirements

• Application specific knowledge

• Operations Team• Performance statistics

• Support tickets submitted

• Infrastructure specific knowledge

Page 11: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Typical Communication Between Teams

• “This service is down please fix it”

• “Your service is consuming 16 GB of RAM, fix it now”

• “I have a call from a customer and they say your application is

slow”

• “I got called out last night because this SQL Job failed. Fix it.”

• “It worked in Dev”

Page 12: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

A Lack of Trust

Page 13: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Lack Of Trust

Slows Everything

Down

Page 14: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

It doesn’t need to

be Perfect!!

Page 15: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Example

• Application ready for deployment

• Development: • “We agreed with the customer to deploy a new feature next week”

• Operations:• “Every time you deploy your application you increase our support

tickets volume”• “Every time you deploy your application consumes more resources”

• New Policy: Min 2 Week Notice For Deployments

Page 16: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Massive Deployments

• Multiple Sprints prior to going to production

• Multiple Features bundled together prior to going

to production

• Long Waterfall release cycles (quarter or months)

Page 17: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Perfect Storm

• Quarterly Releases

• Lots of changes

• Out of sync databases

• Manual Deployments

Page 18: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Everyone Is Unhappy

• Business Owners• “This isn’t going to work now, we need to add the following

features to make this viable”

• “Fine. Fine. Fine. Deploy it as is. I’ll add it my next release doc”

Page 19: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Everyone Is Unhappy

• Users• Not what they wanted.

• How long until the application is no longer relevant

• Head to competitors

Page 20: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Everyone Is Unhappy

• Security• Data Compliance

• Patches

Page 21: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

DevOps

Page 22: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

DevOps: Development and Operations

Teams Working Together Towards a Common

Goal

Dev + Ops = DevOps

Page 23: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Work toward a Common Goal

• 1 deployment a month

• 1 deployment a week

• Zero Downtime Deployments

• 10 deployments a day

• Fixing all critical bugs within 2 business days

Page 24: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Common Goal

• Performance tests before each release

• Decrease deployment time

• Increase response time on critical methods

• Decrease resource usage

Page 25: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Example: Performance Monitoring

• Dev Team Problem: Bad Performance

• Ops Team Problem: Babysitting Apps

• DBAs: Increase in resource consumption

• Common Problem: What is causing the slow

down

Page 26: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Example: Performance Monitoring

• Solution: New Relic• Ops: Train developers on how to use NewRelic

• Developers: Train Ops and DBAs what to look for (sprocs, stack traces, etc)

• DBAs: Look for slow running sprocs, or sprocs getting hit thousands or millions of times

Page 27: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Example: Automated Database Deployments

• Dev Team Problem: Hours spent manually creating delta scripts

• DBA Problem: No consistency between teams or environment databases, no auditing of scripts, no testing of scripts.

• Common Problem: 30 minutes - 2 hours per deployment per team

• Solution: Use Redgate tooling with Octopus Deploy to automate database deployments

• Result: • 5 - 20 minute deployments• One release a quarter down to one release every 10 days

Page 28: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Benefits

Page 29: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Speed - Release When Ready

• At Octopus Deploy we release as soon as the feature is ready

• Monthly releases of major features, daily releases of bug fixes, performance improvements, and UI improvements

• Use “release bots”, TeamCity, Slack and Octopus Deploy to deploy Octopus Deploy

Page 30: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Example - Fixing Critical Bug

• Customer reported bug to their process through

support channels at Octopus Deploy Tuesday

morning

• Discussed bug during the day

• Fix released overnight

• In customer’s hands by Wednesday morning

Page 31: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Example - Better Performance

• Application averaging 2000 requests per minute

• After deployment average response time went

from 20 ms to 200 ms

• Identify slow performance and deploy release

before first support ticket came in

Page 32: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Staying Ahead Of Competition

• Respond to customer feedback

• Fix critical bugs

• Experiment and A/B testing

• Keep company relevant

• Faster time to market

Page 33: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Staff

• Higher staff engagement

• More interesting work

• Better work/life balance

• Cross Skilling and Self Improvement

• Decentralized responsibility

Page 34: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Compliance

• Auditing

• Standardization

• Reduce Errors

• Protect Sensitive data

• Increased Trust

Page 35: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Getting Started

Page 36: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Start Small

• Attend meetings

• Discuss issues and complaints

• Listen and Learn

• Pick a common problem

• Use existing tooling

Page 37: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Go a bit bigger

• Solve a larger problem

• Pilot Application / Group

• New Tooling

• New Processes

Page 38: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Tooling

• Build: TeamCity / VSTS / Jenkins / Bamboo

• Unit Testing: NUnit / MSTest / XUnit

• Integration Testing: Selenium / Postman

• Deploy: Octopus Deploy / Redgate (for DBs) / VSTS Release / DACPAC

• Monitoring: NewRelic / DataDog / DynaTrace / SQL Sentry

• Error Logging: Splunk / Seq / PaperTrail

Page 39: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

DevOps is People,

Processes and

Tools

Page 40: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Roadblocks

Page 41: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

People

• “We’ve been doing it this way for 10 years”

• “Sure what we have is a little bumpy, but it works”

• “I’m too busy to change”

• “This was tried once before and it failed”

• “What you proposed won’t work for me or my

team, we’re special”

Page 42: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Time

• Time to implement changes

• Each new change requires multiple iterations

• Deadlines and other conflicting priorities

Page 43: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Cost

• Tools cost money

• Cost per hour

• Consultants

• Training

• Return of Investment

Page 44: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Breaking Through Roadblocks

• Technology is the easy part

• Pilot team / project

• Small changes

• Don’t aim for perfection at first

• Provide clear and measurable stats

• Be Transparent

Page 45: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Anyquestions?

Page 46: How Database DevOps Will Help You - Redgate...How Database DevOps Will Help You To Stay Ahead Of The Competition ... •Background •DevOps •Benefits •Roadblocks •Questions

Thank You!