Apache Airavata 0.17 介绍与选型指南

Apache Airavata 0.17 科学网关中间件的架构组件、HPC 作业投递机制、官方上手路径与同类方案选型对比。

Apache AiravataApache工作流编排JavaPythonAPI2026/10/18

Apache Airavata 0.17 介绍与选型指南

目标:讲清 Apache Airavata 是什么、解决什么问题、由哪些组件构成、面向什么资源形态,以及在 2026 年 10 月当前官方版本(0.17)下的同类方案选型对比。本文为 A1 认知篇:全部内容基于官网、官方发行目录、GitHub 仓库与官方发行包联网查证编写,关键论断随文标注来源与查询日期(统一为 2026-10-18),不含本地安装实测。

一、信息基准

项目内容
查询日期2026-10-18
版本依据官网下载页(https://airavata.apache.org/development.html )明示「0.17 (Latest Release)」,提供 apache-airavata-server-0.17-bin.tar.gz 等制品;ASF 官方发行目录 https://downloads.apache.org/airavata/ 当前仅保留 0.17/ 与 custos/
版本说明GitHub apache/airavata 仓库存在 v0.21 等更新的 git 标签,但既无 GitHub Release、也未随官方发行目录发布制品与发布公告,不构成正式稳定版,本文不据此定版
许可证Apache License 2.0(GitHub 仓库 license 字段:Apache-2.0)
运行语言Java(服务端);官方提供基于 Apache Thrift 的多语言客户端 SDK

官方来源清单:

二、软件概述

Apache Airavata 官方定位为:一个软件框架,用于在分布式计算资源(本地集群、超算、国家网格、学术与商业云)上组合、管理、执行与监控大规模应用与工作流(来源:官网首页,查询日期 2026-10-18)。

它的典型用户是「科学网关(Science Gateway)」开发者:网关把某一学科领域的计算能力(分子模拟、天文计算、结构分析等)以 Web 界面暴露给最终科研用户,而 Airavata 充当网关与后端计算资源之间的中间件层——通过 Thrift API 向网关提供应用部署描述、实验(Experiment)管理、作业提交与监控、用户资源使用统计等能力(来源:官网 Features 节:Middleware / Desktop and Web Interfaces / Monitor Jobs and Retrieve User Analytics)。

官方发行包(apache-airavata-server-0.17-bin.tar.gz,约 155 MB)捆绑了服务端程序 + API + 客户端 SDK + 一个通用参考 UI 实现(来源:GitHub README,查询日期 2026-10-18)。许多科学网关已基于 Airavata 构建(官网「Built with Airavata」栏目),并提供在线演示环境 testdrive.airavata.org。

本次介绍的版本:Apache Airavata 0.17(官网当前 Latest Release)。

三、核心架构(核心概念与工作方式)

Airavata 是框架/服务端形态的中间件,其核心概念与组件可以从官方 0.17 发行包的结构直接印证(以下文件与目录均实查自官方发行包 apache-airavata-server-0.17-bin.tar.gz,查询日期 2026-10-18):

3.1 核心组件

组件/概念职责发行包印证
API Server对外提供 Apache Thrift 接口,网关后端经它创建实验、提交作业、查询状态README「bundles a server package with an API, client software development Kits」
实验目录(Experiment Catalog)持久化实验、作业、数据传输的元数据与状态bin/database_scripts/expcatalog-{mysql,derby}.sql
应用目录(Application Catalog)登记计算应用部署:可执行文件、部署主机、队列参数bin/database_scripts/appcatalog-{mysql,derby}.sql
工作流目录(Workflow Catalog)存储工作流定义与依赖bin/database_scripts/workflowcatalog-{mysql,derby}.sql
副本目录(Replica Catalog)数据文件副本登记,支撑跨资源的数据引用bin/database_scripts/replicacatalog-{mysql,derby}.sql
凭据存储(Credential Store)托管访问计算资源的 SSH/证书凭据bin/database_scripts/credstore-{mysql,derby}.sql
GFac(作业执行设施)把作业投递到具体资源管理器执行bin/gfac-config.yaml
ZooKeeper 协调服务注册与协调bin/zoo.cfg

3.2 资源执行形态

GFac 通过作业模板适配不同资源管理器,0.17 发行包内置的 Groovy 作业模板包括 PBS_Groovy.template、SLURM_Groovy.template、LSF_Groovy.template、UGE_Groovy.template、FORK_Groovy.template,并带 gsissh.properties 支持经 GSISSH 访问超算——即 Airavata 原生面向 PBS/SLURM/LSF/UGE 集群、GSISSH 网格与本地 FORK 进程等 HPC 形态,而非通用云原生调度。

3.3 工作方式(一次实验的生命周期)

  1. 网关管理员在应用目录中登记计算应用(可执行文件 + 目标主机 + 队列)。
  2. 终端用户在网关 UI 填写输入参数发起实验;网关后端经 Thrift API 创建实验(Experiment)。
  3. Airavata 按应用描述选择目标资源,由 GFac 生成作业脚本(对应资源管理器模板)并经 SSH/GSISSH 投递。
  4. 作业状态事件回写实验目录,网关通过 API 轮询或订阅获得状态,向用户展示。

四、功能特性

  • 多资源执行:本地 FORK、PBS/SLURM/LSF/UGE 集群、经 GSISSH 的网格/超算、云资源(来源:0.17 发行包作业模板与配置文件)。
  • Thrift API + 多语言 SDK:官方提供 Java/Python 等客户端 SDK,网关后端可深度集成;官网强调「Integrate Apache Airavata with your user interface components … using our Apache Thrift-based API」。
  • 实验级管理:实验创建、克隆、取消、状态跟踪、输出数据登记(实验目录 + 副本目录)。
  • 工作流支持:可编排多应用工作流(工作流目录 + 官方 sample 应用 add/subtract/multiply/echo 组合)。
  • 多租户与网关运营:官方配套 Custos(身份与租户管理,同在 dist 目录 custos/)与参考 UI 实现(Django Portal 等)。
  • 可观测:网关运营方可查看作业明细、用户使用资源统计(官网 Features:Monitor Jobs and Retrieve User Analytics)。

五、快速上手(引自官方渠道,非本地实测)

Airavata 是服务端框架,官方推荐的三条上手路径如下:

  1. 在线体验(零部署):打开官方演示网关 https://testdrive.airavata.org/ (官网首页「Get Started with Airavata! Try a demo」入口),注册后在参考 UI 中直接提交示例计算作业,直观理解实验(Experiment)与应用(Application)模型。
  2. 部署 0.17 服务端:从官网下载页获取 apache-airavata-server-0.17-bin.tar.gz(来源:https://airavata.apache.org/development.html )。发行包内置的启动与配置入口如下(文件清单实查自官方发行包,查询日期 2026-10-18):
tar xzf apache-airavata-server-0.17-bin.tar.gz
cd apache-airavata-server-0.17

# 服务端启停脚本
bin/airavata-server-start.sh
bin/airavata-server-stop.sh

# 关键配置与内置协调器
bin/airavata-server.properties   # 服务端主配置
bin/zoo.cfg                      # 内置 ZooKeeper 配置
bin/gfac-config.yaml             # 作业执行设施配置
bin/setenv.sh                    # JVM 环境变量
  1. 注册样例应用:发行包 samples/ 目录自带示例应用与注册脚本(samples/registerSample.sh,样例为 echo/add/subtract/multiply 等 shell 应用),注册后即可经 API 提交实验,是验证「应用登记 → 实验提交 → 状态回写」链路的最小闭环。
  2. API 集成:按 README「client software development Kits」引入对应语言 SDK,以 Thrift 客户端连接 API Server,完成登录网关租户、创建实验、提交与轮询的集成代码。

六、适用场景与限制

适用场景:

  • 高校/科研机构构建学科科学网关,需要把 HPC(SLURM/PBS/LSF/UGE)与超算资源封装成 Web 服务给科研用户。
  • 多团队共享的多租户计算平台:需要实验元数据管理、凭据托管、用户使用统计。
  • 需要把「应用目录 + 实验目录 + 工作流」体系与自建门户深度集成的场景(Thrift API + SDK)。

限制:

  • 正式发布节奏极慢:官网 Latest Release 仍为 0.17,新特性(如更新的事件框架、MFT 数据传输等)只存在于 master 分支,无正式版本可用;生产落地需评估自行维护的成本。
  • GitHub 上无正式 Release 制品,社区活跃度低(2026-10-18 实查 stars 155、无 releases),遇到问题主要依赖邮件列表与源码。
  • 生态以学术网关为主,商业支持与中文资料少;对纯云原生/托管编排诉求并非其目标形态。

七、同类选型对比

对比数据联网实查于 2026-10-18(GitHub API 与官网):

维度Apache Airavata 0.17Apache Airflow 3.3.2Galaxy 26.1Nextflow 26.10
许可证Apache-2.0Apache-2.0自定义(AFL/Apache 混合许可,GitHub license 字段 NOASSERTION)Apache-2.0
社区活跃度(GitHub stars / 最近推送)155 ★ / 2026-10-1747 202 ★ / 2026-10-171 871 ★ / 2026-10-173 510 ★ / 2026-10-17
最近发版0.17(官网 Latest Release,正式制品)3.3.2(2026-09-17)v26.1.1(2026-08-04)v26.10.2(2026-10-15)
版本节奏极慢(多年无新正式版)季度级功能版 + 月度补丁半年级大版本 + 补丁月度版本列车
定位差异科学网关中间件:API+元数据+HPC 投递通用工作流编排:DAG 调度平台生物信息分析平台:内置工具市场与分析界面生信/数据流工作流引擎:脚本化 pipeline
兼容矩阵Java 服务端;Thrift API;PBS/SLURM/LSF/UGE/GSISSHPython 3.10-3.14;PostgreSQL/MySQL 元库Python 服务端;多语言工具Java/VM 运行;Apptainer/Singularity/Conda 等

选型建议:面向科研用户做「多租户网关 + HPC 作业投递 + 实验管理」平台选 Airavata(并接受其低发布节奏);通用的数据管道/任务调度选 Airflow;生物信息交互式分析选 Galaxy;脚本化可复现的组学/数据流程水线选 Nextflow。

八、参考链接