Skip to content

GBA-BI/tes-api

Bio-OS Task Execution Service (Bio-OS TES)

The Bio-OS TES (Task Execution Service) is a cloud-native, GA4GH-compliant task execution framework designed to support large-scale biomedical data analysis and workflow execution. It is implemented based on TESK, serving as a TES Server implementation that operates seamlessly across multiple Chinese cloud service providers (CSPs) such as Volcano Engine and other Kubernetes-based infrastructures.

The system is composed of four interoperable microservices, each is followed by its GitHub repository:

Service Repository Description
API Server GBA-BI/tes-api The entry point of the TES ecosystem. It exposes the GA4GH TES RESTful API, receives user task submissions, manages lifecycle states (QUEUED, RUNNING, COMPLETE, etc.), and coordinates scheduling and execution across clusters.
Scheduler GBA-BI/tes-scheduler The global scheduler that allocates queued tasks to available Kubernetes clusters. It evaluates task requirements, quotas, and priorities to achieve balanced and efficient resource usage.
Kubernetes Agent GBA-BI/tes-k8s-agent A lightweight agent deployed in each Kubernetes cluster. It receives scheduled tasks from the API server, launches them as Kubernetes Jobs/Pods, monitors execution, and reports task status and logs back.
Filer GBA-BI/tes-filer The data I/O service that manages input and output files for TES tasks. It supports multiple storage backends (local, NFS, S3, etc.) and ensures efficient, secure, and standardized data movement before and after task execution.

Users interact only with the TES API endpoint, while task scheduling, execution, and data movement are transparently handled by the underlying system.

Module Schematic

Architecture Principles

Bio-OS TES is designed as a modular, scalable, and GA4GH-compliant execution framework, enabling interoperability across institutions, infrastructures, and cloud vendors.

Standardization – All APIs aim to confrom the GA4GH TES specification, allowing seamless integration with workflow engines such as Cromwell, Nextflow, and Toil.

Cloud-native architecture – Each service runs as an independent containerized microservice within Kubernetes, supporting elastic scaling and fault isolation.

Separation of concerns – The four repositories correspond to distinct functional layers: API orchestration, scheduling, execution, and file I/O, ensuring clarity and maintainability.

Interoperability – Through the unified TES interface, Bio-OS TES can integrate with GA4GH components such as WES (Workflow Execution Service) and DRS (Data Repository Service).

Deployment

All TES components are Helm-installable microservices designed to run on Kubernetes clusters (version ≥ 1.20), a typical institutional deployment includes:

One unique TES API Server and TES Scheduler for orchestration.

One or more TES Agents distributed across computing clusters for task execution.

TES Filer is invoked on demand during task execution to handle data staging and result archiving.

For deployment, you can refer to the manifests directory to build and install these services in your own Kubernetes cluster using Helm.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

About

The main service and entry point of the Bio-OS TES ecosystem.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages