continuous delivery & the database- the final frontier

51
Continuous Delivery & the Database - The Final Frontier Feb 2015

Upload: dbmaestro

Post on 18-Jul-2015

168 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Continuous Delivery & the Database- The Final Frontier

Continuous Delivery & the Database - The Final Frontier

Feb 2015

Page 2: Continuous Delivery & the Database- The Final Frontier

2 Copyright 2015. Confidential – Distribution prohibited without permission

Before We Begin

▪ You will be on mute for the duration of the event

▪ Please type a message in the Questions box in the

Control Panel if you can’t hear us (please check

your speakers and GoToWebinar audio settings

first)

▪ If you have questions during the session, please

submit them on the Q&A bar on your GoToWebinar

dashboard and we will address them at the end

▪ A recording of the full webinar will be put up online

Page 3: Continuous Delivery & the Database- The Final Frontier

3 Copyright 2015. Confidential – Distribution prohibited without permission

Agenda

▪ Continuous Delivery is coming

▪ What about the database?

▪ Introducing DBmaestro

▪ Introducing XebiaLabs’ XL Deploy & XL Release

▪ How DBmaestro, XL Deploy & XL Release work

together

▪ Q&A

Page 4: Continuous Delivery & the Database- The Final Frontier

4 Copyright 2015. Confidential – Distribution prohibited without permission

Presenters

Yaniv Yehuda

CTO, Co-Founder at DBmaestro

Yaniv spent the last years raising awareness about the challenges

around database development and deployment, and how to

support database Continuous Delivery.

Page 5: Continuous Delivery & the Database- The Final Frontier

5 Copyright 2015. Confidential – Distribution prohibited without permission

About DBmaestro

▪ The leading provider of DevOps for Database

▪ Enables control of database development and deployment

Page 6: Continuous Delivery & the Database- The Final Frontier

6 Copyright 2015. Confidential – Distribution prohibited without permission

Presenters

Andrew Phillips

VP Products for XebiaLabs

▪ Lots of enterprise software development on high-performance

systems

▪ Been on both sides of the “Dev…Ops” fence

▪ Active open source contributor and committer

▪ Regular meetup, conference etc. presenter

Page 7: Continuous Delivery & the Database- The Final Frontier

7 Copyright 2015. Confidential – Distribution prohibited without permission

About XebiaLabs

▪ We build software to support DevOps and Continuous Delivery at scale…

▪ …to accelerate your Business

Page 8: Continuous Delivery & the Database- The Final Frontier

8 Copyright 2015. Confidential – Distribution prohibited without permission

DevOps & CD: a must for every company

▪ Every business is an IT business

▪ Customers demand that you deliver new features faster

▪ If you don’t, your competitor probably will

Page 9: Continuous Delivery & the Database- The Final Frontier

9 Copyright 2015. Confidential – Distribution prohibited without permission

DevOps & CD: a must for every company

Adopters:

Ship code40x faster

Complete thosedeployments60x faster

than their peers.

Have 95% fewer failures

and rollbacks

DevOps

ContinuousDelivery

Time to Market

Page 10: Continuous Delivery & the Database- The Final Frontier

10 Copyright 2015. Confidential – Distribution prohibited without permission

Continuous Delivery moving ahead!

▪ Recently Conducted DBmaestro Survey

− Over 150 companies

− Over 200 participants

Page 11: Continuous Delivery & the Database- The Final Frontier

11 Copyright 2015. Confidential – Distribution prohibited without permission

What does this mean for you?

▪ Need to move towards architectures and processes that

allow changes to be made quickly and regularly

▪ But can’t afford to break things badly!

▪ Adoption of Continuous Delivery pipelines becoming more

and more well-established

Page 12: Continuous Delivery & the Database- The Final Frontier

12 Copyright 2015. Confidential – Distribution prohibited without permission

What does this mean for you?

▪ Need to move towards architectures and processes that

allow changes to be made quickly and regularly

▪ But can’t afford to break things badly!

▪ Adoption of Continuous Delivery pipelines becoming more

and more well-established

▪ Are you doing CD for the entire application?

Page 13: Continuous Delivery & the Database- The Final Frontier

13 Copyright 2015. Confidential – Distribution prohibited without permission

What does this mean for you?

▪ Many organizations only consider the application code when

talking about CD pipelines

▪ Uses established practices in packaging, verifying and

deploying new code and promoting changes from one

environment to the next

Page 14: Continuous Delivery & the Database- The Final Frontier

14 Copyright 2015. Confidential – Distribution prohibited without permission

What does this mean for you?

▪ Many organizations only consider the application code when

talking about CD pipelines

▪ Uses established practices in packaging, verifying and

deploying new code and promoting changes from one

environment to the next

▪ But what about your database?

Page 15: Continuous Delivery & the Database- The Final Frontier

15 Copyright 2015. Confidential – Distribution prohibited without permission

What about the database?

▪ Why?

Page 16: Continuous Delivery & the Database- The Final Frontier

16 Copyright 2015. Confidential – Distribution prohibited without permission

CD for the database

▪ In many organizations, changes to databases are not

included in the CD picture

▪ Too much risk

▪ Too little awareness of the packaging, deployment,

promotion etc. concepts used for application code

▪ Insufficient tool support for these concepts

Page 17: Continuous Delivery & the Database- The Final Frontier

17 Copyright 2015. Confidential – Distribution prohibited without permission

CD for the database

▪ If you don’t include databases changes in the overall

deliverable, your CD pipeline can get stuck pretty quickly!

▪ The DB is essential from a business and compliance point

of view

▪ Should be your strongest link!

Page 18: Continuous Delivery & the Database- The Final Frontier

18 Copyright 2015. Confidential – Distribution prohibited without permission

So why not move forward?

▪ Mistrust…

Page 19: Continuous Delivery & the Database- The Final Frontier

19 Copyright 2015. Confidential – Distribution prohibited without permission

What is the problem?

▪ Root Causes for issues:

− Challenging manual version control process

− Static deployments code overrides

− Dynamic deployments unaware of version control

− No release automation red-flags – don’t know when to stop the line…

Page 20: Continuous Delivery & the Database- The Final Frontier

20 Copyright 2015. Confidential – Distribution prohibited without permission 20

Version Control Process

(file based)

Development Process

Check-Out Script

Modify Script

Get updated Script from DB

Check-In Script

Compile Scriptin DB

Debug Scriptin DB

?

??

?

A

A’

Two isolated processes

Page 21: Continuous Delivery & the Database- The Final Frontier

21 Copyright 2015. Confidential – Distribution prohibited without permission

Scripts & version control

▪Challenges:

− Code-overrides

− Working on the wrong revisions

− Scripts do not always find their way to the version control solution

− Out of process updates go unnoticed

− Hard to locate outdated update scripts

▪ Playing safe? What we really need:

− The actual code of the object

− The upgrade script

− A roll-back script

▪ Scripts

− Hard to test in their entirely (holistically)

− Hard to test due to colliding dependencies

− Need to run in a specific order…

− Much harder to deal with project scope changes

Page 22: Continuous Delivery & the Database- The Final Frontier

22 Copyright 2015. Confidential – Distribution prohibited without permission 22

X1.11.1.11.11.21.31.41.51.61.7

Scripts… build once deploy many

Int QA Stage Prod

Database Deploy Script

Environment

Re-Base (due to defects)

Dev

Dev

Dev

Model

1.1 1.2

1.2 1.3

1.3 1.4

1.4 1.5

1.5 1.6

1.6 1.7

1.11.11.41.7

1.1 1.2

1.2 1.3

1.3 1.4

1.4 1.5

1.5 1.6

1.6 1.7

1.1 1.2

1.2 1.3

1.3 1.4

1.4 1.5

1.5 1.6

1.6 1.7

Out of Process Change

X

X

X

X

X

? 1.1.1

X

Page 23: Continuous Delivery & the Database- The Final Frontier

23 Copyright 2015. Confidential – Distribution prohibited without permission

Scripts are static…

▪ Scripts, unless super sophisticated:

− Unaware of changes made in the target environment

− Time passed from their coding to the time they are run

− Potentially overriding production hot-fixes or work done in parallel by another team

▪ Content changes are very hard to manage

− Metadata & lookup content does not practically fit into the VC

− In most cases they are simply not managed

Page 24: Continuous Delivery & the Database- The Final Frontier

24 Copyright 2015. Confidential – Distribution prohibited without permission

Version control: one enforced process

Page 25: Continuous Delivery & the Database- The Final Frontier

25 Copyright 2015. Confidential – Distribution prohibited without permission

Dealing with challenges…

▪Integrated Database Version Control process

− Leverage proven version control best practices

• Forcing check in & out for changes

• Labels

• etc..

− No code-overrides

− Always working with the correct revision

− All changes are documented

− Always know who did what, when, why and from where

− No out-of-process changes

− Supporting structure, code and content

▪ No time spent on manual coding of the change scripts

Page 26: Continuous Delivery & the Database- The Final Frontier

26 Copyright 2015. Confidential – Distribution prohibited without permission

Build & deploy on demand

1.11.21.31.41.51.61.7

*

Int QA Stage Prod

Database Deploy Script

Environment* Execute the same script being

executed at the Stage environment

Re-Base (due to defects)

DevDev

DevModel

1.1 1.2

1.2 1.3

1.3 1.4

1.4 1.5

1.5 1.6

1.6 1.7

1.1 1.4

1.4 1.7

1.1.1 1.7

1.1 1.1 1.11.41.7

File Based Version Control

Out of Process Change

1.1.11.7 1.1.11.7

Page 27: Continuous Delivery & the Database- The Final Frontier

27 Copyright 2015. Confidential – Distribution prohibited without permission

Using tools

Test cases using compare & sync tools:

An index exists in source (QA) but not in target (Production)

What should we do? Add the index or not?

Page 28: Continuous Delivery & the Database- The Final Frontier

28 Copyright 2015. Confidential – Distribution prohibited without permission

Compare & sync tools

Safe to automate?

No. Requires manual inspection…

Page 29: Continuous Delivery & the Database- The Final Frontier

29 Copyright 2015. Confidential – Distribution prohibited without permission

Why break production???

A compare & sync tool:

▪ Is unaware of any changes that occurred before the time it ran

▪ Has no knowledge of changes that took place at the target environment

▪ Does not leverage version control for more information

▪ Unable to deal with conflicts & merges between different teams

▪ Requires manual inspection

▪ Requires detailed knowledge regarding each change as part of the process

Mistrust AGAIN…

So…no automation… as we fear automating problems into

production and a major risk!!!

Page 30: Continuous Delivery & the Database- The Final Frontier

30 Copyright 2015. Confidential – Distribution prohibited without permission

Safety net

Static script based deployment

Page 31: Continuous Delivery & the Database- The Final Frontier

31 Copyright 2015. Confidential – Distribution prohibited without permission

Deploying changes if needed

Development Baseline

Previous Label /

Production Golden Copy

Production

If we had the index in the baseline =>

we should take it down from production…

(Deploy Change)

Page 32: Continuous Delivery & the Database- The Final Frontier

32 Copyright 2015. Confidential – Distribution prohibited without permission

Or protecting target environment…

Development Baseline

Previous Label /

Production Golden Copy

Production

BUT… If no index in baseline =>

we should protect the NEW index on production!!!

(Protect Target)

Page 33: Continuous Delivery & the Database- The Final Frontier

33 Copyright 2015. Confidential – Distribution prohibited without permission 33

Dealing with conflicts => merging changes

Page 34: Continuous Delivery & the Database- The Final Frontier

34 Copyright 2015. Confidential – Distribution prohibited without permission

What does DBmaestro offer?

▪ Database Enforced Change Management solution

+ Database version control

+ Enforce best practices

+ Plugs into the ALM (change request, tickets & work items)

+ Database merge & change impact analysis

+ Know who can do what, where, when & why

▪ DevOps Solution for databases

+ Baseline aware deployment automation, rollback & recovery

+ Reduce database deployment issues

+ Plugs into release management & Continuous Delivery

Allows you to package, verify, deploy and promote database changes just as you would do with application code…

putting you in a position to build a full delivery pipeline…

Page 35: Continuous Delivery & the Database- The Final Frontier

35 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

▪ Deployment Automation tool

▪ “Gets application X running in environment Y automatically”

Page 36: Continuous Delivery & the Database- The Final Frontier

36 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

▪ Package the deployment of database changes along with all your other

application components to give a unified picture

▪ Easily promote the same package (including database changes!) from one

environment to the next, handling environment-specific differences automatically

Page 37: Continuous Delivery & the Database- The Final Frontier

37 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 38: Continuous Delivery & the Database- The Final Frontier

38 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 39: Continuous Delivery & the Database- The Final Frontier

39 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 40: Continuous Delivery & the Database- The Final Frontier

40 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 41: Continuous Delivery & the Database- The Final Frontier

41 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

▪ Release/pipeline orchestration tool for Continuous Delivery

▪ “Describe, execute and improve all the steps required to get your apps from development to

production”

Page 42: Continuous Delivery & the Database- The Final Frontier

42 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

Page 43: Continuous Delivery & the Database- The Final Frontier

43 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

▪ Define the entire dev-to-prod pipeline/release process to take into

account your current risk/comfort level for automated database

changes

▪ Invoke XL Deploy or DBmaestro directly to apply database changes

automatically

▪ Or add manual impact analysis/review gates if you require or prefer

additional checks

Page 44: Continuous Delivery & the Database- The Final Frontier

44 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

▪ Also plan & execute additional database actions such as backups,

copies etc.

▪ Easily tweak your process over time as your CD situation changes

Page 45: Continuous Delivery & the Database- The Final Frontier

45 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

Page 46: Continuous Delivery & the Database- The Final Frontier

46 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

Page 47: Continuous Delivery & the Database- The Final Frontier

47 Copyright 2015. Confidential – Distribution prohibited without permission

What does XL Release offer?

Page 48: Continuous Delivery & the Database- The Final Frontier

48 Copyright 2015. Confidential – Distribution prohibited without permission

How do DBMaestro, XL Deploy & XL Release work together?

▪ You need to be able to package, deploy and promote database

changes just like other application code to fully do CD

▪ The combination of DBmaestro, XL Deploy & XL Release allows you

to do just that

Page 49: Continuous Delivery & the Database- The Final Frontier

49 Copyright 2015. Confidential – Distribution prohibited without permission

How DBmaestro, XL Deploy & XL Release work together?

▪ DBmaestro & XL Deploy: include database changes alongside your

code to give you a unified view and automation setup for deployments

▪ DBmaestro & XL Release: Define your delivery pipeline – including

the database – to give you exactly the level of automation and manual

validation that works for you by

Page 50: Continuous Delivery & the Database- The Final Frontier

50 Copyright 2015. Confidential – Distribution prohibited without permission

Useful resources

▪ Get started today!

www.xebialabs.com

www.xebialabs.com/products

▪ Stay informed:

blog.xebialabs.com

@XebiaLabs

youtube.com/xebialabs

▪ Get started today!

www.DBmaestro.com

http://www.dbmaestro.com/products

▪ Stay informed:

dbmaestro.com/blog/

@dbMaestro

youtube.com/DBmaestro

Page 51: Continuous Delivery & the Database- The Final Frontier

51 Copyright 2015. Confidential – Distribution prohibited without permission

Thank you!

Q & A