The growing business pressure to deliver new functionalities and applications faster drives companies to implementing practices such as Continuous Delivery.
2. 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
3. 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
4. 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.
5. 5 Copyright 2015. Confidential â Distribution prohibited without permission
About DBmaestro
âȘ The leading provider of DevOps for Database
âȘ Enables control of database development and deployment
6. 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
7. 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
8. 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
9. 9 Copyright 2015. 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
10. 10 Copyright 2015. Confidential â Distribution prohibited without permission
Continuous Delivery moving ahead!
âȘ Recently Conducted DBmaestro Survey
â Over 150 companies
â Over 200 participants
11. 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
12. 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?
13. 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
14. 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?
15. 15 Copyright 2015. Confidential â Distribution prohibited without permission
What about the database?
âȘ Why?
16. 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
17. 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!
18. 18 Copyright 2015. Confidential â Distribution prohibited without permission
So why not move forward?
âȘ MistrustâŠ
19. 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âŠ
20. 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
Script
in DB
Debug Script
in DB
?
?
?
?
A
Aâ
Two isolated processes
21. 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
22. 22 Copyright 2015. Confidential â Distribution prohibited without permission 22
X
1.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
23. 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
24. 24 Copyright 2015. Confidential â Distribution prohibited without permission
Version control: one enforced process
25. 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
26. 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)
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.11.41.7
File Based
Version Control
Out of Process
Change
1.1.11.7 1.1.11.7
27. 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?
28. 28 Copyright 2015. Confidential â Distribution prohibited without permission
Compare & sync tools
Safe to automate?
No. Requires manual inspectionâŠ
29. 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!!!
30. 30 Copyright 2015. Confidential â Distribution prohibited without permission
Safety net
Static script based deployment
31. 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)
32. 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)
33. 33 Copyright 2015. Confidential â Distribution prohibited without permission 33
Dealing with conflicts => merging changes
34. 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âŠ
35. 35 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Deploy offer?
âȘ Deployment Automation tool
âȘ âGets application X running in environment Y automaticallyâ
36. 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
37. 37 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Deploy offer?
38. 38 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Deploy offer?
39. 39 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Deploy offer?
40. 40 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Deploy offer?
41. 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â
42. 42 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Release offer?
43. 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
44. 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
45. 45 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Release offer?
46. 46 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Release offer?
47. 47 Copyright 2015. Confidential â Distribution prohibited without permission
What does XL Release offer?
48. 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
49. 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
50. 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
51. 51 Copyright 2015. Confidential â Distribution prohibited without permission
Thank you!
Q & A