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.
For detailed installation steps for BusinessObjects, please refer to SAP installation guide. You will also find the installation of BusinessObjects in Red Hat Linux in Brian Thomas’ blog at SCN.
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.
What is a Docker ?
A brief introduction would place this in a better context, I think.
Please follow my earlier blog https://blogs.sap.com/2015/12/25/docker-and-sap-bi-how-you-can-deploy-sap-bi-platform-on-docker/
The introduction contains links that talks about Docker and some links that could help you get started.
I'm very skeptical that BOE can work in this sort of deployment, outside of test lab scenarios.
Do you have a detailed steps/results of making BOE cluster in docker or distributing such a config ?
As i had clearly mentioned this in the beginning of the blog “This is an experimental setup to explore how SAP BusinessObjects can be provisioned and scaled with Docker”. The scripts i had attached here are basic for experiment only and no way recommended for production use at this point.
As i find time, i will try to post more on the series along with steps and more scripts.
I have a doubt regarding licensing. Do I need to manage the license of each docker with BO installed individually, or does SAP has some special licencing for SAP Products inside Docker ?
SAP has no knowledge about Docker, so no special licensing for it. You have to treat it as Virtual Machine and use same licensing concepts.
If in doubt - contact SAP Sales or your account manager.
Well put out Denis. Each thing has to be considered like Virtual Machine. Please reach out to SAP for licensing.
Is SAP BusinessObjects Enterprise Professional Edition is compatible with test and production server?
Please refer to SAP PAM and Documentation to know more about Software compatibility.
This is an older post; but I have been tasked by my Program Manager (PMO) of a large US government agency to research the possibility of using Docker Technology in a rather extensive SAP BI4 Platform deployment. This deployment is a multi-environment (PROD/TEST/DEV) each having distributed (Web / Processing / Intel) tiers. We support 1,000s of world wide customers.
Two immediate thoughts arise as I read post:
Please share further lessons learned in this if available.
this is the only official document on Docker and BOBJ I can find : https://launchpad.support.sap.com/#/notes/2496083
Which basically says - no support.
The SAP Note mentioned refers to the post i did long back. To answer your questions
Docker is relatively new to traditional tools and this was just a POC experiment done. As once upon a time Virtualization was new and support for it did not exist, but now almost all the installations are Virtual, the same might come true in the future for Docker and Containers.
This is a very nice and interesting article, can you have a look at my github issue on your repository ? 😀 I have trouble reproducing your setup,
Thanks Shankar for the inspiration, however your example Dockerfile had a very old base Linux image and it would not work properly with 4.2 and 4.3 installs.
For anyone interested, my swag at creating a Dockerfile for 4.2 can be found here: https://github.com/entmike/sap_bi_docker/blob/master/4.2/Dockerfile
It also properly exposes persistence volumes for the canned CMS DB and FRS and logging folders.
Hit me up on GitHub if you have questions.
This looks perfect Michael, it has been a while since i played around with this and i had multiple version of files but my repo is not updated for a very long time. I would deprecate it and provide link to your repository for the newer files.