Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps and OBIEE: Do it Before it's too late!

FTisiot
June 11, 2018

DevOps and OBIEE: Do it Before it's too late!

FTisiot

June 11, 2018
Tweet

More Decks by FTisiot

Other Decks in Technology

Transcript

  1. [email protected] www.rittmanmead.com @rittmanmead !2 Verona, Italy Rittman Mead Blog 10

    Years Experience in BI/Analytics [email protected] @FTisiot Oracle ACE No Cappuccino After 11 Knight Photo by Matt Hoffman on Unsplash Francesco Tisiot BI Tech Lead at Rittman Mead
  2. [email protected] www.rittmanmead.com @rittmanmead !3 Photo by Pascal van de Vendel

    on Unsplash Mode 1 Analytics IT Driven Long Cycle Times Centralised
  3. [email protected] www.rittmanmead.com @rittmanmead !5 Photo by Jovica Smileski on Unsplash

    Centralised • Unique Source of Truth • KPIs Definition • Development • Test • Release
  4. [email protected] www.rittmanmead.com @rittmanmead !6 Photo by Chris Sabor on Unsplash

    TTD Development Isolation Manual Deployment Manual Testing
  5. [email protected] www.rittmanmead.com @rittmanmead !12 Before it’s Too Late! The Results

    are Wrong! Production is Pointing to UAT! We Locked the DB User! Which RPD can we Promote? Photo by R. Mac Wheeler on Unsplash
  6. [email protected] www.rittmanmead.com @rittmanmead !14 Agenda • Default Situation • Code

    Versioning • Development Isolation • Testing • Promoting • Process Automation
  7. [email protected] www.rittmanmead.com @rittmanmead !16 The Original OBIEE Sins • No

    Code Versioning • Concurrent Online RPD Editing • Manual Regression Testing • Limited Scripting • Manual Deployment Photo by David Clode on Unsplash
  8. [email protected] www.rittmanmead.com @rittmanmead !18 Photo by Fidel Fernando on Unsplash

    Start Simple - Code Versioning • RPD • Catalog • Security • Config Files • Artefacts
  9. [email protected] www.rittmanmead.com @rittmanmead !21 Catalog • Set of XML Files

    • Stored as .catalog? • What about .atr? • How to deploy?
  10. [email protected] www.rittmanmead.com @rittmanmead !22 Security • system-jazn-data in 11g •

    bar file in 12c (contains system-jazn-data) • WLST Scripting (infrastructure as code)
  11. [email protected] www.rittmanmead.com @rittmanmead !25 Photo by Matthew Henry on Unsplash

    Original Situation Online RPD/Catalog Editing No History No Change Control No Automated Regression Testing
  12. [email protected] www.rittmanmead.com @rittmanmead !26 Photo by Aaron Burden on Unsplash

    Start Simple • Offline RPD • Dev Server for Catalog No test of the RPD Before Merging!
  13. [email protected] www.rittmanmead.com @rittmanmead !27 Photo by James & Carol Lee

    on Unsplash And Evolve… • Fully Separated Dev Envs • Content pushed/pulled from Git
  14. [email protected] www.rittmanmead.com @rittmanmead !28 Photo by James & Carol Lee

    on Unsplash And Evolve… • Automated Environment Creation • Docker ‣ https:/ /github.com/gianniceresa/docker-images
  15. [email protected] www.rittmanmead.com @rittmanmead !34 Catalog Consistency Check runcat.cmd -cmd validate

    -items Report -links Report -offline <path_to_catalog> Valid XMLs No Broken Links
  16. [email protected] www.rittmanmead.com @rittmanmead !36 Photo by Tanner Larson on Unsplash

    Testing Suite • Static • Comprehensive • Security Sensitive Separate Catalog Folder
  17. [email protected] www.rittmanmead.com @rittmanmead !37 BVT Baseline Validation Tool • Automated

    Testing • Set of Prebuilt Test ‣ Logic SQL (Discontinued) ‣ Catalog ‣ Reports ‣ Dashboards ‣ UI ‣ BI Publisher ‣ Visual Analyser
  18. [email protected] www.rittmanmead.com @rittmanmead !38 BVT Baseline Validation Tool • Deployment

    ‣ Deployment Name ‣ Connections (analytics/bip/va) ‣ User • Test ‣ Set of Tests to run ‣ Catalog Folder • Results ‣ Results Folder textconfig.xml
  19. [email protected] www.rittmanmead.com @rittmanmead !40 BVT Baseline Validation Tool • Baseline

    • Changes • Compare Results bin\obibvt.bat -config testconfig.xml -deployment PRE bin\obibvt.bat -config testconfig.xml -deployment AFTER bin\obibvt.bat -compareresults Results\PRE Results\AFTER -config testconfig.xml
  20. [email protected] www.rittmanmead.com @rittmanmead !42 Promoting • Push ‣ RPD ‣

    Catalog ‣ Security ‣ Configuration ‣ Custom Files/Images
  21. [email protected] www.rittmanmead.com @rittmanmead !44 RPD • UploadRPD • Patch RPD

    - Change Connection Pools datamodel.cmd uploadrpd -I <file> -D -U <user> -SI ssi -S <server> -N <port> admintool /command <filename> datamodel.sh updateConnectionpool -SI sis -U <user> -P <password> -C <filejson> patchrpd ... -C <curr_rpd> -G <origin_rpd> -I <patch_file> -O <dest_rpd>
  22. [email protected] www.rittmanmead.com @rittmanmead !45 Catalog • File System Copy •

    Webservices /shared /system WebCatalogService.pasteItem2(<.catalog_file>,…)
  23. [email protected] www.rittmanmead.com @rittmanmead b !50 Environment Creation New Feature/New Ticket

    in Jira New Git Branch Jenkins Flow Docker OBIEE Image RPD+Catalog Deployment Development Baseline Creation
  24. [email protected] www.rittmanmead.com @rittmanmead !51 Finish Feature Finish Feature (Commit to

    work Branch) RPD & Catalog Validation Jenkins Flow Baseline Validation Tool - Against Baseline Pre-Changes Push to Dev Review/Approve Fix
  25. [email protected] www.rittmanmead.com @rittmanmead b !52 Merge Into Dev Commit to

    Dev RPD & Catalog Validation Jenkins Flow Baseline Validation Tool Push to Test Review/Approve RPD & Catalog Merge - Manual Intervention when Conflicts Fix
  26. [email protected] www.rittmanmead.com @rittmanmead !54 Rittman Mead BI Developer Toolkit https://www.rittmanmead.com/blog/2017/02/concurrent-rpd-development-with-git/

    • Accelleration Framework • Set of pre-packaged functions ‣ Git versioning ‣ Testing Suite • Written in Python - Easy to Integrate ‣ OBIEE Webservices, command line, file system • Git/SVN Versioning ‣ Binary RPD ‣ .catalog files
  27. [email protected] www.rittmanmead.com @rittmanmead !55 Rittman Mead BI Developer Toolkit •

    Creation of Testing Suite - Parameter Modification python modify_reports.py /shared/Test /shared/Test_Suite/2014_2015 "Date Period" Year 2014 2015 • Regression Testing ‣ Comparison of LSQL and Results ‣ Parameter Modification ‣ Push Results to Database ‣ Prebuilt RPD/catalog
  28. [email protected] www.rittmanmead.com @rittmanmead !56 Developer Toolkits available for ‣ BI

    ‣ ODI ‣ Informatica ‣ Essbase Apply DevOps to the Whole BI Cycle!