devops for database webinar
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
Bob AielloYaniv Yehuda
DevOps for Databases
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
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
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
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
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
7
• Effective communication• Knowledge sharing• Automating procedures
DevOps is Really About …
8
• Quality Assurance and testing• Information Security• Business Analysts• The entire cross functional team• Did we mention DBAs?
Who are the Other Stakeholders
9
• Automate everything• Move the process upstream• Create the deployment pipeline
How Do I Implement DevOps?
10
• Know exactly what you built• Prove it was deployed correctly• Ensure that there are no unauthorized
changes
Creating a Secure Trusted Base
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
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
13
• Don’t always communicate effectively• Need to share knowledge• Sounds like operations• Don’t forget InfoSec and SAs
Developers and DBAs
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
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
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
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
18
• DevOps really involves all of the key stakeholders
• QA & testing• InfoSec• Systems administrators• Business analysts
DevOps Stakeholders
19
• More rapid changes• Fewer changes backed out• Better collaboration• Fewer defects• Ultimately better service • Happy customers • Profitability
How Do I Measure Success?
20
• Start with Dev• Move to QA• Take a complete lifecycle approach
Where Do I Start?
21
• Common scenario• Risk based approach• Demonstrate value• Iterative approach to improving process
Train In Motion
22
…in practice
Coordinated Process Traceability
Start in the Beginning
No Out-of-Process Changes
Impact Analysis
Automation
Task Based Development
Well Defined Processes
23
• Founded in 2008• Headed by Yariv Tabac and Yaniv Yehuda• Headquartered in Israel
About DBmaestro
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
?
??
?
25
With DECM - One Enforced Process
26
Development Methods
Int QA StageDev
DevDev
Deploy
Environment
Prod
Re-Base (due to defects)
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, …
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)
…
29
Deployment Automation Safety Net
30
A Quick Poll
31
If a Picture is Worth a Thousand Words…
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
33
Q & A