Hi Devs, Today, Airavata has set of distributions, one for each compoent and all-in-one distribution which has all components. Airavata support different deployment models.Thus user can deploy Airavata component in any combination, for an example one of our current production deployment has two instances, one instance with api-server and orchestrator components runs in same JVM and other instance with gfac component. Airavata has capability to support any kind of deployment depend on use-case.
Here I would like to suggest to have one distribution yet it preserve the existing deployment flexibility. Instead of having different startup-script for each distributions we can have one startup-script with different commands eg: sh airavata-server-start.sh <Component name or names to be started on same JVM> , airavata-server-stop.sh <Component Names to be Stoped>.Most of the popular multi component product use this approach, ex: Apache Spark, Apache Storm. With time Airavata will have few more components(registry, monitoring, cloud prvisioining, data analatic) and this approach provide an easy way instead of having different distributions for each component which is hard to maintain and not user friendly. This approach desn't add unnecessary overhead to server startup and runtime as Java doesn't load all jars in class path instead it load all the necessary jars at rutime. I would like to know others opinion about this and happy to get feedbacks. Thanks, Shameera. -- Shameera Rathnayaka
