WSO2 product evaluation with Vagrant

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

WSO2 product evaluation with Vagrant

Chiranga Alwis
Hi all,

as part of the installation user experience of WSO2 products, we are intending to provide the users with an option to run WSO2 products within a few minutes and evaluate its features using Vagrant [1]. Vagrant will allow users to evaluate our products within virtual machine environments.

The constructed Vagrant resources are to be categorized into two categories, as follows:
  1. Standalone product deployment using Vagrantfiles [2]:  deployment of the product distribution using Vagrant in Ubuntu LTS operating system with Oracle JDK installed.
  2. Product pattern deployment using Vagrantfiles: deployment of any product deployment pattern in the form of Vagrant multi-machine [3] environments.
Standalone product evaluation:
When installing and running a WSO2 product, the following basic steps are followed within any Vagrantfile.

Step 1: Install the latest Ubuntu Long Term Support (LTS) operating system version.
Step 2: Update packages and install necessary utility software.
Step 3: Install Oracle Java SE Development Kit (JDK).
Step 4: Install the WSO2 product pack.
Step 5: Exposing ports.

[Step 1]: The Ubuntu LTS version is used as it is constantly updated, secure and stable. Please see this link for detailed information [4]. For this purpose, the official Vagrant box [5] corresponding to Ubuntu LTS 16.04 (ubuntu/xenial64 [6]) has been used.
[Step 2]: Install required software packages which are required for WSO2 product installation process (e.g. ‘unzip’ is required to extract the WSO2 product distribution), troubleshooting purposes and etc.
[Steps 3 and 4]: The user is expected to mount the product pack and the Oracle JDK distribution to the guest machine. For this purpose, Vagrant's synced folders [7] are used to allow the user to mount these files. In this case, Vagrant’s default behavior of sharing the project directory (directory containing the Vagrantfile) to /vagrant is used.
[Step 5]: For this purpose, Vagrant’s port forwarding [8] is used. This technique is adopted due to its simplicity, as an evaluating user will be able to easily access the service using loopback address.

Note: Vagrant's Shell Provisioner [9] is used to execute these commands.

Product pattern deployment:
For product pattern deployment using Vagrant, multi-machine environments are used. The previously discussed steps have been used to setup the product. Apart from that, for communication between multiple virtual machines, Vagrant private networks [10] are used.

Any ideas and suggestions on this topic and the discussed details are highly appreciated.

Yours sincerely,

Chiranga Alwis
Software Engineer | WSO2

Mobile : +94775930497

Architecture mailing list
[hidden email]