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

Post on 21-May-2020

9 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

How Database DevOps Will Help You

To Stay Ahead Of The Competition

Derek Campbell, Solutions Architect at Octopus Deploy

Agenda

• Background

• DevOps

• Benefits

• Roadblocks

• Questions

Background

Previous Work Experience

• Release Manager

• Lead DevOp

• System Architect

• System Administrator

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.

System Development Life Cycle

Development Team

Operations Team

Knowledge Silos

• Development Team• Development roadmap

• Feature requirements

• Application specific knowledge

• Operations Team• Performance statistics

• Support tickets submitted

• Infrastructure specific knowledge

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”

A Lack of Trust

Lack Of Trust

Slows Everything

Down

It doesn’t need to

be Perfect!!

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

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)

Perfect Storm

• Quarterly Releases

• Lots of changes

• Out of sync databases

• Manual Deployments

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”

Everyone Is Unhappy

• Users• Not what they wanted.

• How long until the application is no longer relevant

• Head to competitors

Everyone Is Unhappy

• Security• Data Compliance

• Patches

DevOps

DevOps: Development and Operations

Teams Working Together Towards a Common

Goal

Dev + Ops = DevOps

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

Common Goal

• Performance tests before each release

• Decrease deployment time

• Increase response time on critical methods

• Decrease resource usage

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

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

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

Benefits

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

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

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

Staying Ahead Of Competition

• Respond to customer feedback

• Fix critical bugs

• Experiment and A/B testing

• Keep company relevant

• Faster time to market

Staff

• Higher staff engagement

• More interesting work

• Better work/life balance

• Cross Skilling and Self Improvement

• Decentralized responsibility

Compliance

• Auditing

• Standardization

• Reduce Errors

• Protect Sensitive data

• Increased Trust

Getting Started

Start Small

• Attend meetings

• Discuss issues and complaints

• Listen and Learn

• Pick a common problem

• Use existing tooling

Go a bit bigger

• Solve a larger problem

• Pilot Application / Group

• New Tooling

• New Processes

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

DevOps is People,

Processes and

Tools

Roadblocks

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”

Time

• Time to implement changes

• Each new change requires multiple iterations

• Deadlines and other conflicting priorities

Cost

• Tools cost money

• Cost per hour

• Consultants

• Training

• Return of Investment

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

Anyquestions?

Thank You!

top related