devops for database webinar

34
Bob Aiello Yaniv Yehuda DevOps for Databases

Upload: dbmaestro

Post on 11-May-2015

230 views

Category:

Technology


0 download

DESCRIPTION

Industry expert Bob Aiello and DBmaestro’s CTO Yaniv Yehuda joined forces in this powerful webcast to explain what DevOps is all about, and why the database is such a critical component of it.

TRANSCRIPT

Page 1: DevOps for Database webinar

Bob AielloYaniv Yehuda

DevOps for Databases

Page 2: DevOps for Database webinar

2

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

• We are now talking so 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)

• There will be a Q+A session at the end, you can start submitting you questions on twitter, using the hashtag #DevOps4db or the Q&A bar on your gotowebinar dashboard.

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

Before We Begin

Page 3: DevOps for Database webinar

3

Presenters

Bob Aiello @BobAiello• Technical editor for CM Crossroads• Author of Configuration Management Best

Practices: Practical Methods that Work in the Real World

Yaniv Yehuda• CTO, Co-Founder at DBmaestro

Page 4: DevOps for Database webinar

4

• Emerging set of principles and practices• Focus on developer and operations

collaboration• Been around for a while• Agile Systems Operations• Agile Systems Administration

What is DevOps

Page 5: DevOps for Database webinar

5

• Conflict between development and operations• Puts the right focus on what needs to be done• Improves communication and collaboration• Facilitates knowledge sharing

Why is DevOps Important

Page 6: DevOps for Database webinar

6

• Knight Capital Group • August 1, 2012 trading disaster• Related to NYSE systems upgrade• Resulted in loss over $440 million dollars• Loss grew as customers left the firm• Knight Capital merged with Getco• Now KCG Holdings• Many other recent incidents

Recent Glitches & System Outages

Page 7: DevOps for Database webinar

7

• Effective communication• Knowledge sharing• Automating procedures

DevOps is Really About …

Page 8: DevOps for Database webinar

8

• Quality Assurance and testing• Information Security• Business Analysts• The entire cross functional team• Did we mention DBAs?

Who are the Other Stakeholders

Page 9: DevOps for Database webinar

9

• Automate everything• Move the process upstream• Create the deployment pipeline

How Do I Implement DevOps?

Page 10: DevOps for Database webinar

10

• Know exactly what you built• Prove it was deployed correctly• Ensure that there are no unauthorized

changes

Creating a Secure Trusted Base

Page 11: DevOps for Database webinar

11

• Old adage but true• The database is often forgotten and therefore

can become the weakest link• Essential from a compliance point of view• Should be the strongest link

The Weakest Link In a Chain

Page 12: DevOps for Database webinar

12

• The database holds your essential information

• Changes can impact the entire system• Need to be synchronized with other changes• Often overlooked

Database is a Key Component

Page 13: DevOps for Database webinar

13

• Don’t always communicate effectively• Need to share knowledge• Sounds like operations• Don’t forget InfoSec and SAs

Developers and DBAs

Page 14: DevOps for Database webinar

14

• Need to track changes• Changes need to be coordinated• Ensure that all changes were made• May need to back out a change• Traceability and transparency• Audit and compliance

Why is Database Version Control Important

Page 15: DevOps for Database webinar

15

• Start in the beginning • Very hard to tack on quality• Deming – build quality in from the beginning• Incremental• Move to QA next• DevOps model

Where Do We Start

Page 16: DevOps for Database webinar

16

• There is more to a database than SQL scripts• Ensure that changes are not made without

authorization• Native DB version control

Reaching Inside the Database

Page 17: DevOps for Database webinar

17

• DBAs are always the last to know• Don’t understand how their changes impact

the system• Are disconnected and may make changes

without understanding their impact• My own experience with DBAs and

production outages

DBAs are Often Not Included

Page 18: DevOps for Database webinar

18

• DevOps really involves all of the key stakeholders

• QA & testing• InfoSec• Systems administrators• Business analysts

DevOps Stakeholders

Page 19: DevOps for Database webinar

19

• More rapid changes• Fewer changes backed out• Better collaboration• Fewer defects• Ultimately better service • Happy customers • Profitability

How Do I Measure Success?

Page 20: DevOps for Database webinar

20

• Start with Dev• Move to QA• Take a complete lifecycle approach

Where Do I Start?

Page 21: DevOps for Database webinar

21

• Common scenario• Risk based approach• Demonstrate value• Iterative approach to improving process

Train In Motion

Page 22: DevOps for Database webinar

22

…in practice

Coordinated Process Traceability

Start in the Beginning

No Out-of-Process Changes

Impact Analysis

Automation

Task Based Development

Well Defined Processes

Page 23: DevOps for Database webinar

23

• Founded in 2008• Headed by Yariv Tabac and Yaniv Yehuda• Headquartered in Israel

About DBmaestro

Page 24: DevOps for Database webinar

Version Control - Two Isolated Processes

Version Control Process

24

DB Development Process

Check-Out Script

Modify Script

Get updated Script from DB

Check-In Script

Compile

Scriptin DB

Debug

Scriptin DB

?

??

?

Page 25: DevOps for Database webinar

25

With DECM - One Enforced Process

Page 26: DevOps for Database webinar

26

Development Methods

Int QA StageDev

DevDev

Deploy

Environment

Prod

Re-Base (due to defects)

Page 27: DevOps for Database webinar

27

Merge Dev1 to ForkMerge to dev2

Dev2

Dev1Merge to dev1

Merge Dev2 to Fork

Trunk

Merge Dev1 to Fork

Merge Dev2 to Fork

DBVC

Fork

Fork

Fork

Fork

Merge, Rebase, Fork, …

Page 28: DevOps for Database webinar

28

Use of Baseline

Int / QA

Dev1

Label/Tag/BaselineBackup Label/TagMerge

1

Ver 1.0

Ver 1.0

2 3

MS 1.1Merged - B

Before MS 1.1

MS 1.1Merged - M

Branch Merging MS 1.1

MS 1.1

7 8

MS 1.2 Merged - B

Before MS 1.2

Branch Merging MS 1.2 MS 1.2

Merged - MMS 1.2

Dev2 Ver 2.0 MS 2.1Merged - B

Before MS 2.1 MS 2.2 Merged - B

Before MS 2.2

4 5 6 9 10

MS 2.1Merged - MBranch

Merging MS 2.1

Branch Merging MS 2.2

MS 2.2 Merged - M

MS 2.1 MS 2.2

Deploy Source Target Baseline

1 Int / QA (Live) Dev1 …

2 Int / QA (MS 1.1) Dev1 (Live) Dev1 (Ver 1.0)

3 Dev1 (MS 1.1 Merged - B) Int / QA (Line) Int / QA (MS 1.1)

Page 29: DevOps for Database webinar

29

Deployment Automation Safety Net

Page 30: DevOps for Database webinar

30

A Quick Poll

Page 31: DevOps for Database webinar

31

If a Picture is Worth a Thousand Words…

Page 32: DevOps for Database webinar

32

Summary

Dev…• Enforce best practices for database development• Closely manage your database development• Know who can do what, where, when & why

…Ops• Build a safety net to catch problems early• Reduce deployment issues• Enable automated deployments

Page 33: DevOps for Database webinar

33

Q & A

Page 34: DevOps for Database webinar