enterprise scale continuous delivery

55
Enterprise Scale Continuous Delivery March 30 th , 2016

Upload: dbmaestro-database-devops

Post on 27-Jan-2017

115 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Enterprise scale continuous delivery

Enterprise Scale Continuous Delivery

March 30th, 2016

Page 2: Enterprise scale continuous delivery

2 Copyright 2016. 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: Enterprise scale continuous delivery

3 Copyright 2016. Confidential – Distribution prohibited without permission

Agenda

▪ Continuous Delivery at enterprise scale

▪ The reasons why the database is often left behind

▪ Best practices of Continuous Delivery for modern

applications

▪ The way to achieve the optimal delivery pipeline –

including the database

▪ Q&A

Page 4: Enterprise scale continuous delivery

4 Copyright 2016. Confidential – Distribution prohibited without permission

Presenters

Yaniv Yehuda

CTO, Co-Founder at DBmaestro

Spent the last years raising awareness about the challenges

around database development and deployment, and how to

support database Continuous Delivery.

Page 5: Enterprise scale continuous delivery

5 Copyright 2016. Confidential – Distribution prohibited without permission

About DBmaestro

▪ The leading provider of DevOps for Database

▪ Simplify and automate database deployment processes in an agile

environment and reduce critical application downtime

Page 6: Enterprise scale continuous delivery

6 Copyright 2016. Confidential – Distribution prohibited without permission

Presenters

Andrew Phillips

VP DevOps Strategy 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: Enterprise scale continuous delivery

7 Copyright 2016. Confidential – Distribution prohibited without permission

About XebiaLabs

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

▪ …to accelerate your Business

TODO: Update to latest company intro

Page 8: Enterprise scale continuous delivery

8 Copyright 2016. Confidential – Distribution prohibited without permission

DevOps & CD: a must for every company

Adopters:

Ship code 40x faster

Complete those deployments 60x faster than their peers.

Have 95% fewer failures

and rollbacks

DevOps

Continuous Delivery

Time to Market

Page 9: Enterprise scale continuous delivery

9 Copyright 2016. Confidential – Distribution prohibited without permission

Continuous Delivery moving ahead!

▪ Recently Conducted DBmaestro Survey

Page 10: Enterprise scale continuous delivery

10 Copyright 2016. 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 11: Enterprise scale continuous delivery

11 Copyright 2016. 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 12: Enterprise scale continuous delivery

12 Copyright 2016. 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 13: Enterprise scale continuous delivery

13 Copyright 2016. 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?

Suggested handover point from AP to YY here?

Yaniv: Yes, exactly. Next slide

is mine.

Page 14: Enterprise scale continuous delivery

14 Copyright 2016. Confidential – Distribution prohibited without permission

Only 13% are actually performing basic CD practices for the DB!

Manual work:

cant scale, cant match CD frequency

not repeatable, prone to error

Continuous Delivery is big and getting bigger, but...

*2015 Dzone survey

Page 15: Enterprise scale continuous delivery

15 Copyright 2016. Confidential – Distribution prohibited without permission

What is the problem?

▪Root Causes for issues:

−Challenging manual source control process

−Static deployments code overrides and configuration drift

−Dynamic deployments tools unaware of version control

−No release automation red-flags – don’t know when to

stop the line…

Page 16: Enterprise scale continuous delivery

16 Copyright 2016. Confidential – Distribution prohibited without permission

File Version Control Process

Today: Two isolated processes

DB Development Process

Check-Out Script

Modify Script

Get updated Script from DB

Check-In Script

Compile Script in DB

Debug Script in DB

?

? ?

?

A

A’

Version control is out of sync from the database and cannot act as a Single Source of Truth

Page 17: Enterprise scale continuous delivery

17 Copyright 2016. Confidential – Distribution prohibited without permission

90% Rate this as a risk factor, yet

72% Admit database may not be in sync with the source repository

Page 18: Enterprise scale continuous delivery

18 Copyright 2016. 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 upgrade script

− The actual code of the object

− A roll-back script

Page 19: Enterprise scale continuous delivery

19 Copyright 2016. Confidential – Distribution prohibited without permission

X 1.1 1.1.1 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Int QA Stage Prod

Database Deploy Script

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.1 1.1 1.4 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

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

Challenge with static scripts…

Configuration drift…

Page 20: Enterprise scale continuous delivery

20 Copyright 2016. Confidential – Distribution prohibited without permission

60% Of those manually building scripts have to fix or tweak them regularly as part of a deployment process

Page 21: Enterprise scale continuous delivery

21 Copyright 2016. Confidential – Distribution prohibited without permission

Scripts are static…

▪ Scripts, unless super sophisticated:

− Unaware of changes made in the target environment – of configuration drift...

− 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 22: Enterprise scale continuous delivery

22 Copyright 2016. Confidential – Distribution prohibited without permission

Comparing & Syncing

1.1 1.2 1.3 1.4 1.5 1.6 1.7

*

Int QA Stage Prod

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.1 1.4

1.4 1.7

1.1.1 1.7

1.1 1.1 1.1 1.4 1.7

Out of Process Change

1.1.1 1.7 1.1.1 1.7

Page 23: Enterprise scale continuous delivery

23 Copyright 2016. Confidential – Distribution prohibited without permission

Safe to automate?

Sure… (?)

Challenge with ‘Compare & Sync’

Page 24: Enterprise scale continuous delivery

24 Copyright 2016. Confidential – Distribution prohibited without permission

Safe to automate?

No. Requires manual inspection…

Challenge with ‘Compare & Sync’

Page 25: Enterprise scale continuous delivery

25 Copyright 2016. Confidential – Distribution prohibited without permission

70% of those using compare & sync tools have to review and fix the results as they can't always trust them to

automatically deploy correctly

Page 26: Enterprise scale continuous delivery

26 Copyright 2016. Confidential – Distribution prohibited without permission

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

So…no automation…

We fear for automating problems into

production and a major risk!!!

Challenges

Page 27: Enterprise scale continuous delivery

27 Copyright 2016. Confidential – Distribution prohibited without permission

The Solution to the challenges

Page 28: Enterprise scale continuous delivery

28 Copyright 2016. Confidential – Distribution prohibited without permission

Modern VC integrated DB process

Page 29: Enterprise scale continuous delivery

29 Copyright 2016. Confidential – Distribution prohibited without permission

Revision history

Actions

Standard IDE

Change

Management

Enforced and integrated to existing process

Page 30: Enterprise scale continuous delivery

30 Copyright 2016. 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 31: Enterprise scale continuous delivery

31 Copyright 2016. Confidential – Distribution prohibited without permission

Leverage

Version control knowledge

into

Deployment decisions

Page 32: Enterprise scale continuous delivery

32 Copyright 2016. Confidential – Distribution prohibited without permission

1.1 1.2 1.3 1.4 1.5 1.6 1.7

*

Int QA Stage Prod

Dev Dev

Dev Model

1.1 1.2

1.2 1.3

1.3 1.4

1.1 1.7

1.1.1 1.7

1.1 1.1 1.1 1.4 1.7

Out of Process Change

1.1.1 1.7 1.1.1 1.7

Validate

1.4 1.5

1.5 1.6

1.6 1.7

Configuration Drift prevention / conflict identification and

Validated execution

1.4 1.5

1.5 1.6

1.6 1.7

OR

Baseline aware analysis

Validated execution / Build & deploy on demand

Validate

Page 33: Enterprise scale continuous delivery

33 Copyright 2016. Confidential – Distribution prohibited without permission

■ Understand the nature of the changes

■ Raise red flags on conflicts

■ Support out-of-process changes

■ Utilize baseline aware analysis

Safety Net Deployment Automation

Page 34: Enterprise scale continuous delivery

34 Copyright 2016. Confidential – Distribution prohibited without permission

If we had the index in the baseline (previous version) and no longer in Dev (i.e. - removed)

=> we should take it down from production…

(Deploy Change)

Deploying changes if needed

Development Baseline

Previous Label /

Production Golden Copy

Production

Page 35: Enterprise scale continuous delivery

35 Copyright 2016. Confidential – Distribution prohibited without permission

Development Baseline

Previous Label /

Production Golden Copy

Production

BUT… If no index in baseline => someone else added it to Production…

we should protect the NEW index on production!!!

(Protect Target)

Or protecting target environment…

Page 36: Enterprise scale continuous delivery

36 Copyright 2016. Confidential – Distribution prohibited without permission

Dealing with conflicts => merging changes

Page 37: Enterprise scale continuous delivery

37 Copyright 2016. Confidential – Distribution prohibited without permission

Continuous Delivery Pipeline

Define a process

Automate the process

Prevent/Alert out of process changes

Page 38: Enterprise scale continuous delivery

38 Copyright 2016. Confidential – Distribution prohibited without permission

Database Enforced Source Control

Enhanced Security and Regulatory Compliance

Database Merge and Build Automation

Database Release Automation

What does DBmaestro offer?

Page 39: Enterprise scale continuous delivery

39 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

▪ Deployment Automation tool

▪ “Gets application X running in environment Y automatically”

TODO: Update with most recent product description

Page 40: Enterprise scale continuous delivery

40 Copyright 2016. 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 41: Enterprise scale continuous delivery

41 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 42: Enterprise scale continuous delivery

42 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 43: Enterprise scale continuous delivery

43 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 44: Enterprise scale continuous delivery

44 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Deploy offer?

Page 45: Enterprise scale continuous delivery

45 Copyright 2016. 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”

TODO: Update with most recent product description

Page 46: Enterprise scale continuous delivery

46 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Release offer?

TODO: Update with most recent product description

Page 47: Enterprise scale continuous delivery

47 Copyright 2016. 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

TODO: Rephrase to talk about defining the flow for all the changes (including the DB)

across all environments, i.e. make this more relevant to a

DBA

Page 48: Enterprise scale continuous delivery

48 Copyright 2016. 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

TODO: Drop?

Page 49: Enterprise scale continuous delivery

49 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Release offer?

TODO: Update screenshot

Page 50: Enterprise scale continuous delivery

50 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Release offer?

TODO: Update screenshot

Page 51: Enterprise scale continuous delivery

51 Copyright 2016. Confidential – Distribution prohibited without permission

What does XL Release offer?

TODO: Update screenshot

Page 52: Enterprise scale continuous delivery

52 Copyright 2016. 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 53: Enterprise scale continuous delivery

53 Copyright 2016. 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 TODO: Add some

logos/screenshots here?

Page 54: Enterprise scale continuous delivery

54 Copyright 2016. Confidential – Distribution prohibited without permission

Useful resources

▪ About XebiaLabs:

www.xebialabs.com

www.xebialabs.com/products

▪ Stay informed:

blog.xebialabs.com

@XebiaLabs

youtube.com/xebialabs

▪ About DBmaestro:

www.DBmaestro.com

▪ Stay informed:

dbmaestro.com/blog/

@dbMaestro

linkedin.com/company/457315

TODO: Update resources

Page 55: Enterprise scale continuous delivery

55 Copyright 2016. Confidential – Distribution prohibited without permission

Thank you!

Q & A Andrew Phillips [email protected] Yaniv Yehuda [email protected]