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

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.

Gianni Ceresa

March 09, 2018
Tweet

More Decks by Gianni Ceresa

Other Decks in Technology

Transcript

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

    View full-size slide









  2. View full-size slide

  3. 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

    View full-size slide







  4. View full-size slide










  5. View full-size slide













  6. View full-size slide




  7. Docker commands
    Commands you
    would run in your
    console

    View full-size slide



  8. #ref of the slice
    Steps run in a
    temp container

    View full-size slide


  9. Oraclelinux
    image
    The various
    steps of
    my
    Dockerfile

    View full-size slide





  10. Single “RUN”,
    download
    binaries
    “on the fly”
    YUM install
    required
    packages
    Oraclelinux
    “slim” image
    My Oraclelinux
    “BI” image
    My OBIEE image

    View full-size slide









  11. View full-size slide

  12. break the wall
    … Extend Agility
    to Production …

    View full-size slide













  13. View full-size slide





  14. View full-size slide








  15. View full-size slide












  16. View full-size slide

















  17. View full-size slide

  18. 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

    View full-size slide










  19. View full-size slide

  20. A CI pipeline is running
    Different stages
    Each stage has one
    or many jobs

    View full-size slide

  21. RPD check
    BVT
    Self documentation
    Review environment

    View full-size slide

  22. 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)

    View full-size slide

  23. When OBIEE is running
    (inside the Docker
    container) the RPD and
    catalog from GIT are
    deployed.
    Finally BVT is executed.

    View full-size slide

  24. 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…

    View full-size slide

  25. All the results of
    automated tests have
    been stored as
    “artifacts” and can be
    downloaded for detailed
    analysis

    View full-size slide








  26. View full-size slide

  27. 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

    View full-size slide

  28. 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 [email protected] 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

    View full-size slide