Skip to content
This repository has been archived by the owner on Dec 17, 2022. It is now read-only.
/ brane Public archive

Programmable Orchestration of Applications and Networking

License

Notifications You must be signed in to change notification settings

onnovalkering/brane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Programmable Orchestration of Applications and Networking


Audit status CI status License: Apache-2.0 Coverage status Release DOI

⚠️ The development and maintanence has been handed over to the EPI project, please see this fork.

Introduction

Regardless of the context and rationale, running distributed applications on geographically dispersed IT resources often comes with various technical and organizational challenges. If not addressed appropriately, these challenges may impede development, and in turn, scientific and business innovation. We have designed and developed Brane to support implementers in addressing these challenges. Brane makes use of containerization to encapsulate functionalities as portable building blocks. Through programmability, application orchestration can be expressed using intuitive domain-specific languages. As a result, end-users with limited or no programming experience are empowered to compose applications by themselves, without having to deal with the underlying technical details.

See the documentation for more information, or check out our conference paper for the scientific context:

O. Valkering, R. Cushing and A. Belloum (2021)
Brane: A Framework for Programmable Orchestration of Multi-Site Applications 
IEEE 17th International Conference on eScience pp. 277-282

Contributing

If you're interrested in contributing, please read the code of conduct and contributing guide.

Bug reports and feature requests can be created in the issue tracker.

Development

The latest version of Rust, and the following system dependencies must be installed (assuming Ubuntu 20.04):

  • build-essential
  • cmake
  • docker-compose
  • docker.io
  • libssl-dev
  • musl-tools
  • pkg-config

Builds

To compile and test the complete project:

$ cargo build
$ cargo test

To build optimized versions of the binaries (brane and branelet):

$ make build-binaries

To build optimized versions of the services (Docker images):

$ make build-services