How to Enable Risk-Free Database Experiments Thank you for joining us, the webinar will start at: 08:00 Pacific / 11:00 Central / 12:00 East / 16:00 UK Time OakTable World: Sept 23 & 24, San Francisco Mind-meld with the illustrious members of the OakTable 32 talks over 2 days, right next door to Oracle OpenWorld More info. and registration: www.kylehailey.com/oaktable-world
Presenters Kyle Hailey @kylehhailey Technical Evangelist at Delphix Oracle ACE, member of the OakTable Network James Murtagh @allthingsoracle Oracle tools team at Red Gate Creator and editor of All Things Oracle.com
Before we start 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 but please feel free to type your questions in the Questions box in the Control Panel in advance A recording of the full webinar will be put up online
About Delphix Founded in 2008, launched in 2010 CEO Jedidiah Yueh (founder of Avamar: >$1B revenue)) Based in Silicon Valley, Global Operations 10% of Fortune 500
About Red Gate Over 600,000 technology professionals worldwide use Red Gate s software, including 93% of Fortune 100 companies. Our philosophy is to design highly usable, reliable tools that solve problems commonly faced by DBAs and developers. www.red-gate.com/oracle
How to Enable Risk-Free Database Experiments Kyle Hailey & James Murtagh
Tradeoff: Speed, Quality, Cost
Good, Cheap, Fast : choose two Good Cheap Fast
What We ve Seen 1. Inefficient QA: Higher costs of QA 2. QA Delays : Greater re-work of code 3. Sharing DB Environments : Bottlenecks 4. Using DB Subsets: More bugs in Prod 5. Slow Environment Builds: Delays
1. Inefficient QA: Long Build times Build QA Test Build Time 96% of QA time was building environment $.04/$1.00 actual testing vs. setup
2. QA Delays: bugs found late require more code re-work Build QA Env QA Build QA Env QA Sprint 1 Sprint 2 Sprint 3 X Bug Code 70 60 50 40 30 20 10 0 Cost To Correct 1 2 3 4 5 6 7 Delay in Fixing the bug Software Engineering Economics Barry Boehm (1981)
3. Full Copy Shared : Bottlenecks Frustration Waiting Old Unrepresentative Data
4. Subsets : cause bugs
3. Subsets : cause bugs The Production Wall Classic problem is that queries that run fast on subsets hit the wall in production. Developers are unable to test against all data
5. Slow Environment Builds: 3-6 Months to Deliver Data Developers Submit Request.1-2 Weeks of Approvals, Delays, and Provisioning Begin Work Management Approve Request $$ (2 Weeks) Approve Request $$ (2 Weeks) Approve Request $$ (1 Week) DBA (3 Days) (2 Days) Coordinate Replication w/ Infrastructure Re- Parameterize & Configure DB Mount Recovery DB to Specific PIT System Admin Disk Capacity? (3 Days) File System Configured? Configure LUNS & Build File System (3 Days) Storage Admin (3 Days) Request Additional Storage? Provision Capacity 15
5. Slow Environment Builds: culture of no
What We ve Seen 1. Inefficient QA: Higher costs 2. QA Delays : Increased re-work 3. Sharing DB : Bottlenecks 4. Subset DB : Bugs 5. Slow Environment Builds: Delays
CIO Magazine Survey: 60% Projects Over Schedule and Budget Data is the problem Solve the data problem. TODAY.
UNLOCK YOUR DATA
99% of blocks are identical Clone 1 Clone 3 Clone 2
Thin Clone Clone 1 Clone 2 Clone 3
Virtualization Virtualization Layer
Three Physical Copies Three Virtual Copies
Install Delphix on x86 hardware Intel hardware
Allocate Any Storage to Delphix Allocate Storage Any type
One time backup of source database Production Instance Database File system
DxFS (Delphix) Compress Data Production Instance Database File system Data is compressed typically 1/3 size
Incremental forever change collection Production Instance Database Changes Time Window File system Collected incrementally forever Old data purged
Typical Architecture Production Development QA UAT Instance Instance Instance Instance Database Database Database Database File system File system File system File system File system File system File system File system
With Delphix Production Development QA UAT Instance Instance Instance Instance Database Database Database Database File system
Three Core Parts Development Production Instance Virtual Database Instance 1 3 2 Time Window 1. Source Syncing 2. Storage (DxFS) 3. Self Service
Fast, Fresh, Full Production Instance Virtual Database Instance Database File system Time Window
Free Instance Virtual Database Production Instance Virtual Database Instance Instance Virtual Database Database File system Time Window
Branching to QA Production Instance Virtual Database QA Instance Instance Virtual Database Dev Database File system Time Window
Self Service
What We ve Seen With Delphix 1. Efficient QA: Low cost, high utilization 2. Quick QA : Fast Bug Fix 3. Every Dev gets DB: Parallelized Dev 4. Full DB : Less Bugs 5. Fast Builds: Fast Dev, Culture of Yes
1. Efficient QA: Lower cost Build QA Test Build Time B u i l d QA Test T i m e 1% of QA time was building environment $.99/$1.00 actual testing vs. setup
2. QA Immediate: bugs found fast and fixed Build QA Env QA Build QA Env QA Sprint 1 Sprint 2 Sprint 3 X Bug Code QA QA Sprint 1 Sprint 2 Sprint 3 X Bug Code
3. Private Copies: Parallelize
4. Full Size DB : Eliminate bugs
5. Self Service: Fast, Efficient. Culture of Yes! Developers Submit Request.1-2 Weeks of Approvals, Delays, and Provisioning Begin Work Management Approve Request $$ (2 Weeks) Approve Request $$ (2 Weeks) Approve Request $$ (1 Week) DBA (3 Days) (2 Days) Coordinate Replication w/ Infrastructure Re- Parameterize & Configure DB Mount Recovery DB to Specific PIT System Admin Disk Capacity? (3 Days) File System Configured? Configure LUNS & Build File System (3 Days) Storage Admin (3 Days) Request Additional Storage? Provision Capacity
What We ve Seen With Delphix 1. Efficient QA: Low cost, high utilization 2. Quick QA : Fast Bug Fix 3. Every Dev gets DB: Parallelized Dev 4. Full DB : Less Bugs 5. Fast Builds: Fast Dev, Culture of Yes
DEPLOY OFTEN, REDUCE ERRORS
Source control reduces deployment errors See who changed what, why and when Gives context to the development of the db Collate changes in sandboxed development
Best practices Develop in a sandboxed environment (not usually an issue for app development) Get latest often (and test changes) before checking in Check in often small logical units Check in messages should be descriptive
Reducing errors at deployment Deploy changes from source control Compare source and target schemas before deploying changes
No need to write update scripts by hand
Benefits of Red Gate tools shared development db SVN Dev / TFS Test UAT, Production etc. Removes manual processes to checking in changes to source control Lock objects on a shared development database while you work on them Fast and accurate comparison of environments (compare source control to the database) Generate update scripts to deploy changes accurately
Benefits of Red Gate tools sandboxed dbs SVN / TFS Test UAT, Production etc. Removes manual processes to checking in changes to source control Get latest changes from source control Fast and accurate comparison of environments (compare source control to the database) Generate update scripts to deploy changes accurately
Live Demo Delphix: Create 3 Virtual Databases 1. Dev1 2. Dev2 3. Trunk Have 2 Developers Developer 1 modifies Dev1 and source controls changes Developer 2 modifies Dev2 and source controls changes Red Gate Schema Compare for Oracle Merges: Dev1 changes into Trunk Dev2 changes into Trunk
Developer 1 modify Dev1 Instance Virtual Database Dev2 Instance Virtual Database Developer 2 modify Trunk Instance Virtual Database Time Window
Trunk Merge dev1 Modify QA if fail rollback Merge Modify Merge dev2 Merge QA if fail rollback
Fork Merge to dev1 Merge to Fork Modify If pass QA, merge trunk Fork Merge to dev2 Merge to Fork Modify If pass QA, merge trunk
Delphix and Red Gate flow More information on Delphix and Red Gate tools: Delphix: delphix.com Red Gate Oracle tools: red-gate.com/oracle Source Control for Oracle: red-gate.com/source-control-for-oracle Schema Compare for Oracle: red-gate.com/schema-compare
Q&A Kyle Hailey @kylehhailey Delphix: delphix.com James Murtagh @allthingsoracle Red Gate: red-gate.com/oracle
Thanks! Kyle Hailey @kylehhailey Delphix: delphix.com James Murtagh @allthingsoracle Red Gate: red-gate.com/oracle