BonFIRE logo and link to main BonFIRE site

Table Of Contents

Previous topic

Known Issues

Next topic

BonFIRE API Specification

This Page

BonFIRE Architecture

The BonFIRE architecture has been designed to support experiments over multiple heterogeneous cloud testbeds with key functionalities such as monitoring at infrastructure and virtual machine level, experiment management with a single declarative experiment descriptor, elasticity, and resource management for deployment of application software over a variety of differently configured resources (compute, storage, and network)

The BonFIRE architecture has five layers and a set of cross cutting capabilities for monitoring and identity management. The layers are:

  1. a Portal
  2. an Experiment Manager
  3. a Resource Manager
  4. an Enactor; and
  5. a Testbed site layer

Each layer exposes its functionality via a set of APIs. The APIs of the lowest two layers, the Testbeds layer and the Enactor layer, can only be used by the layer above them. The APIs of the next two layers, the Experiment Manager and the Resource Manager, can be used by experimenters, agents acting on behalf of experimenters, and the layer above them.


The Portal

The Portal offers the experimenters a graphical interface to the BonFIRE capabilities, is a simplified entry point for the experimenters, and supports specification of an experiment at both experiment level granularity (through experiment descriptors) and resource level granularity through multiple single resources. The Portal also provides a means of monitoring and has a view of the experimenters’ data, the running experiments, the available resources at each testbed site and information for experiment support.

Experiment Manager

The Experiment Manager provides an API to the Portal or other user agents. A user agent is program acting on behalf of the user (experimenter), to pursue the user’s goals. The main task of the Experiment Manager is to schedule, plan and orchestrate the execution of an experiment as described by an experiment description. An experiment can be specified with all resources for an initial deployment in a single experiment description, and the Experiment Manager manages its execution to the Resource Manager.

Resource Manager

The Resource Manager provides API to the Portal, Experiment Manager and other user agents. Its main task is to provide a resource level interface from which compute, network and storage resources can be created and managed. These resources may physically reside at any testbed in the BonFIRE system. The Resource Manager is in charge of controlling the life-cycle of an experiment and terminating the experiment when its ‘walltime’ expires.


The Enactor shields the implementation details of how to interact with various BonFIRE testbeds from the Resource Manager. It provides API exclusively for use by the Resource Manager. It allows the decoupling of the specific implementations and versions of the testbed API from the BonFIRE Resource Manager.

Testbed Sites

The internal BonFIRE cloud testbed sites use a common OCCI API to expose their resources to the Enactor. There are three types of resources: network, compute and storage. Compute resources refers to virtual machines created for the experiment. Network resources connect these VMs and storage resources are disk blocks that can be attached to VMs but whose lifetime can extend beyond that of the VM.