Pimp your DevOps with Docker: an Oracle BA Example

Pimp your DevOps with Docker: an Oracle BA Example

Nowadays BA development processes have adopted a more flexible and agile approach. With this major change some activities become more and more important like quickly provisioning a sandbox environment for developers right after their kick off of a new project or in a later stage being able to execute a full regression testing suite and implement continuous integration to merge the various parallel development into your prod server. At the same time the infrastructure of these enterprise tools isn't anymore a bunch of physical servers, organizations try to increase flexibility while lowering costs adopting virtual machine or, more recently, moving into containers solutions. Containers are the "next step" after standard virtual machines: the virtualization software runs as an application within the operating system instead of duplicating a full OS. As they are running within the OS they require less resources, RAM as well as storage and increase flexibility. In this session you will first be introduced to the concept of containers and, more specifically, how to run OBIEE inside a Docker container. You will then see how this solution can help you make various DevOps activities simpler while gaining in agility. Continuous Integration and Continuous Delivery being the key elements of modern DevOps and not so simple to achieve for a "old monolithic" application like OBIEE. Docker makes it possible and almost easy. Instead of having a dedicated "test server" able to run these tests in a serial mode you can execute them in parallel using containers: fire up a fresh container right after a new commit in your versioning system is detected. Run regression testing. Once done the container disappears like it was never there - thus freeing up resources - and you have the regression test output to analyse. And last but not least: all of it automated! You will see an example of an automation use case with triggers running a regression test when a new commit in Git is detected.

Bf71450537acca19e045ae6f7febdf9a?s=128

Gianni Ceresa

March 09, 2018
Tweet

Transcript

  1. None
  2. This … … for that …. … using this …

  3. None
  4. • • • • • • • •

  5. Server Host OS Hypervisor Guest OS bins/libs App B Guest

    OS bins/libs App A Guest OS bins/libs App A’ VM Server Host OS bins/libs App A App A’ bins/libs App B App B’ App B’ App B’ Docker Container Containers are isolated, but share OS and, where appropriate, bins/libraries
  6. • • • • • •

  7. • • • • • • • • •

  8. • • • • • • • • • •

    • •
  9. • • • Docker commands Commands you would run in

    your console
  10. • • #ref of the slice Steps run in a

    temp container
  11. • Oraclelinux image The various steps of my Dockerfile

  12. • • • • Single “RUN”, download binaries “on the

    fly” YUM install required packages Oraclelinux “slim” image My Oraclelinux “BI” image My OBIEE image
  13. None
  14. • • • • • • • •

  15. break the wall … Extend Agility to Production …

  16. None
  17. • • • • • • • • • •

    • •
  18. @rmoff

  19. • •

  20. • • • •

  21. • • • • • • •

  22. • • • • • • • • • •

  23. • • • • • • • • • •

    • • • • • •
  24. Master Dev/yy Dev/xx Compare BVT results with the latest one

    of Master Deploy this version to TEST environment This branch is developed in an OBIEE sandbox running on Docker to make provisioning simple and fast
  25. • • • • • • • • •

  26. None
  27. A CI pipeline is running Different stages Each stage has

    one or many jobs
  28. RPD check BVT Self documentation Review environment

  29. None
  30. The CI steps use Docker to execute OBIEE. First thing

    is to create a new OBIEE environment, that’s why the container start by configuring OBIEE (RCU, create domain, start components)
  31. When OBIEE is running (inside the Docker container) the RPD

    and catalog from GIT are deployed. Finally BVT is executed.
  32. At the end time to cleanup: RCU schemas are dropped

    from the database, results of tests (artifacts) are saved in GitLab before to drop the container. There is nothing left from this OBIEE instance, like if it never existed…
  33. All the results of automated tests have been stored as

    “artifacts” and can be downloaded for detailed analysis
  34. • • • • • • •

  35. Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

    | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 39
  36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

    | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 40 Twitter private message: Could we start a thread on email please so I can find out more? I'm at xxx.yyy@oracle.com thanks. We're currently working on officially supporting OBI on docker (early May 2017) • Name of the Oracle employee known by the Presenter • Remember the Safe Harbor Statement • If asked about this I will refuse to confirm or infirm this information :D • The same “Oracle employee” confirmed Docker is now supported