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. *Explanation:* [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. [1]: https://www.vagrantup.com/ [2]: https://www.vagrantup.com/docs/vagrantfile/ [3]: https://www.vagrantup.com/docs/multi-machine/ [4]: https://wiki.ubuntu.com/LTS [5]: https://www.vagrantup.com/docs/boxes.html [6]: https://app.vagrantup.com/ubuntu/boxes/xenial64 [7]: https://www.vagrantup.com/docs/synced-folders/ [8]: https://www.vagrantup.com/docs/networking/forwarded_ports.html [9]: https://www.vagrantup.com/docs/provisioning/shell.html [10]: https://www.vagrantup.com/docs/networking/private_network.html -- Yours sincerely, *Chiranga Alwis* Software Engineer | WSO2 *Mobile : *+94775930497 *Email: *[email protected] *LinkedIn: *https://lk.linkedin.com/in/chiranga-alwis-391342a9 *Medium:* https://medium.com/@chirangaalwis <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
