In this post we will look at how to compose a workflow out of an application that is installed in an Amazon Machine Image (AMI). In the earlier
post we discussed how to do ec2 instance management using XBaya GUI. This is the followup to that post.
For the Airavata EC2 integration testing, I created an AMI which has an
application which does gene sequence alignment using Smith-Waterman
algorithm. I will be using that application as a reference to this post. You can use an application of your preference that resides in your AMI.
1. Unzip Airavata server distribution and start the server.
unzip apache-airavata-server-0.7-bin.zip
cd apache-airavata-server-0.7/bin
./airavata-server.sh
2. Unzip Airavata XBaya distribution and start XBaya.
unzip apache-airavata-xbaya-gui-0.7-bin.zip
cd apache-airavata-xbaya-gui-0.7/bin
./xbaya-gui.sh
Then you'll get the XBaya UI.
3. Select "XBaya" Menu and click "Add Host" to register an EC2 Host. Once you add the details, click "ok".
4. You will then be prompted to enter "Airavata Registry" information. If you are using the default setup, you don't have to do any configuration. Just click "ok".
5. In order to use your application installed in the AMI, you must register it as an application in Airavata system. Select "XBaya" menu and click "Register Application". You will get the following dialog. Add the input parameters expected and the output parameters generated by your application.
6. Then Click the "New deployment" button. You have to then select the EC2Host that you registered earlier as the Application Host. Configure the executable path to your application in your AMI and click "Add".
7. Then click "Register". If the application registration was successful, you will be getting the following message.
8. Now select "Registry" menu and click "Setup Airavata Registry". Click "ok".
9. Select "XBaya" menu and click "New workflow". Then configure it accordingly.
10. Select your registered application from the "Application Services" and drag drop it to the workflow window.
11. Drag an "Instance" component from "Amazon Components" and drop it into workflow window. Then connect it to your application using Control ports.
12. Click on top of the "Instance" components config label. Configure your instance accordingly.
13. Drag and drop two input components and one output component to the workflow from "System Components".
14. Connect the components together accordingly.
15. Now click the red colored "play" button to run your workflow. You will be prompted for the inputs values (in my case the gene sequences) and experiment id. Then click "Run" to execute your workflow.
16. The execution result will be shown in the XBaya GUI.
References
[
1] -
http://heshans.blogspot.com/2013/04/run-ec2-jobs-with-airavata-part-i.html