airavata

airavata

A general purpose Distributed Systems Framework

Stars: 113

Visit
 screenshot

Apache Airavata is a software framework for executing and managing computational jobs on distributed computing resources. It supports local clusters, supercomputers, national grids, academic and commercial clouds. Airavata utilizes service-oriented computing, distributed messaging, and workflow composition. It includes a server package with an API, client SDKs, and a general-purpose UI implementation called Apache Airavata Django Portal.

README:

Apache Airavata

Build Status Maven Central

About

Apache Airavata is a software framework for executing and managing computational jobs on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds. Airavata builds on general concepts of service oriented computing, distributed messaging, and workflow composition and orchestration. Airavata bundles a server package with an API, client software development Kits and a general purpose reference UI implementation - Apache Airavata Django Portal.

Learn more about Airavata at https://airavata.apache.org.

Building Apache Airavata

Prerequisites

  • Sources compilation requires Java SDK 11.
  • The project is built with Apache Maven 3+.
  • Set or export JAVA_HOME to point to JDK. For example in Ubuntu: export JAVA_HOME=/usr/lib/jvm/adoptopenjdk-11
  • Git

Build the distribution

git clone https://github.com/apache/airavata.git
cd airavata
mvn clean install

To build without running tests, use mvn clean install -Dmaven.test.skip=true. The compressed binary distribution is created at PROJECT_DIR/modules/distribution/target.

Build and run docker distribution (Experimental and not recommended for production deployments)

  • This requires docker and docker-compose installed in your system

  • Build the source and docker images for each microservice

    git clone https://github.com/apache/airavata.git
    cd airavata
    mvn clean install 
    mvn docker:build -pl modules/distribution
  • Start supporting services and Airavata miroservices (API Server, Helix Components and the Job Monitors)
     docker-compose -f modules/ide-integration/src/main/containers/docker-compose.yml -f modules/distribution/src/main/docker/docker-compose.yml up
  • Django portal and PGA Portal can be pointed to airavata.host:8930 (API) , airavata.host:8962 (Profile Service), airavata.host:8443 (Keycloak). Make sure that you add a host entry that maps airavata.host -> 127.0.0.1

  • To stop all the services

    docker-compose -f modules/ide-integration/src/main/containers/docker-compose.yml -f modules/distribution/src/main/docker/docker-compose.yml down
  • If you do any code change and need to reflect them in the deployment, stop the docker deployment, rebuild docker images and start the docker deployment

Getting Started

The easiest way to get started with running Airavata locally and setting up a development environment is to follow the instructions in the ide-integration README. Those instructions will guide you on setting up a development environment with IntelliJ IDEA.

Contact

For additional information about Apache Airavata, please contact the user or dev mailing lists: https://airavata.apache.org/mailing-list.html

Contributing

Want to help contribute to the development of Apache Airavata? Check out our contributing documentation.

Links

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Please see the LICENSE file included in the root directory of the source tree for extended license details.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for airavata

Similar Open Source Tools

For similar tasks

For similar jobs