SAP BI and Docker: Installing and Scaling SAP BusinessObjects with Docker
Have you ever wondered how to provision SAP BusinessObjects servers on-demand with minimal efforts? Do you have the need to create on-demand SAP BusinessObjects server for training or testing purposes? Are you fed up doing the same BusinessObjects installation multiple times? If your answer is a big YES, then read on.
This is an experimental setup to explore how SAP BusinessObjects can be provisioned and scaled with Docker. We shall talk about the overview of setting up the environment and installing SAP BusinessObjects and how to further expand to automatically scale up on demand.
To get an Introduction about Docker and its different scenarios of SAP implementation, I would recommend you to read my blog How you can deploy SAP BI Platform on Docker. In this scenario, we shall implement a full BusinessObjects system along with Tomcat on an Oracle database.
Setting up the Host Environment
The first step is to get the environment ready. We will use SUSE Linux to host and run our Docker environment. The host system can be a physical server or a Virtual machine.
Docker is supported by various flavours of Linux, Windows and MAC OS. Install the Docker engine on the host server by following the steps mentioned in Docker Documentation – check for the version of your operating system.
Once it is installed and validated (by running the hello-world image), you are now ready to proceed to the next step of setting up the guest image.
Docker vs VM
There is a debate on Docker on VM vs VM on Docker. Both the scenarios have their merits depending on the requirement. BusinessObjects can be installed in both.
In this blog, we are looking at just Docker. However, I would encourage you to explore setting up VM over Docker and installing SAP BusinessObjects on that. Check out RancherVM, if you are want to explore more.
Setting up the Guest Image
The guest image is the Docker image on which SAP BusinessObjects would be installed. It supports wide flavors of image, pick an image that SAP BusinessObjects is compatible with – I will be using Red Hat Linux . You can check the compatible version from the SAP BusinessObjects PAM (Product Availability Matrix).
Docker prepares and executes the image based on Dockerfile. The Dockerfile consists of instructions to be executed in order based on its syntax. This includes installation of the necessary prerequisite libraries, copying of installation files and running the installer.
Once the guest image is prepared, SAP BusinessObjects can be installed on it.
Silent Installation of SAP BusinessObjects
Since the server is going to be provisioned on-demand, there should not be any manual intervention of inputs for the SAP BusinessObjects server installation. In order to avoid that, go for the silent install.
The Silent install takes input needed for the installation like installation path, DB details, Port, etc. and installs the SAP BusinessObjects based on that. Silent install is present in almost all the latest and slightly old versions of SAP BusinessObjects. The silent installation is triggered from within the Dockerfile.
For detailed steps on silent installation and customizing the installation, please refer to the SAP BusinessObjects Installation guide.
Packing it All Together
The above steps are executed using scripts to get an automatically provisioned SAP BusinessObjects server running. To get started, I am providing the template of Docker that can be used as a base and can be modified & built according to the environment and needs.
The file can be download from https://github.com/sgsshankar/sap-bi-docker. The script is platform dependent and may need few tweaks to run in your environment.
It is important to know that the script is provided as-is without any warranty and is not recommended for production use. I leave it to you to use it at your own risk.
Scaling up and Future Possibilities
The same setup can be scaled up using Docker storm to build clusters of BusinessObjects behind load balancers. Similar setup can also be implemented on Public and Private Cloud to get consistent environment for easy provision of SAP BusinessObjects server.
Now you are ready to automate your provision of SAP BusinessObjects Server.