Now you can watch the keynotes that took place during the OpenInfra Summit in Berlin!

Actuator enables modeling a system in declarative Python and then automates standing up an instance of the model

Actuator is designed to provide a more "leverage-able" means to express the details needed to provision, configure, and run an application system. By providing a declarative Python library for describing systems directly in Python, Actuator enables the use of Python’s rich ecosystem in the construction, use, and inspection of system models: IDEs for model development/browsing/maintenance, debuggers to help diagnose problems, database packages for storing/retrieving models and orchestration results, web frameworks for and visualization tools for task graph and model content viewing.
Actuator provides the means to define:

  • An infrastructure model, where all static/dynamic infrastructure resources are defined.
  • A namespace model, where the logical system roles are defined along with how these roles map onto system resources, as well as variables that provide information relevant to the roles in the namespace.
  • A configuration model, that defines the set of tasks and task dependencies that are required to be carried out with respect to each role in the namespace.
  • An execution model, which defines the software to execute on the configured infra resources.

Actuator allows defining only as much as is needed to perform the work required: if only infra needs to be provisioned, then only define an infra model; if only configuration tasks, then just a namespace and config model. The orchestrator pulls together all the models and properly sequences the work that needs to be accomplished.
Once defined, models can be used in other contexts if the need arises, as Python makes ongoing integration easy.  Some potential integration opportunities are:

  • Models can be put into a web app where they can be inspected and navigated.
  • Alternate front ends for instantiating and initiating orchestration of a model can be created.
  • Models can be dynamically created, and hence Actuator can be wrapped with a GUI or web interface that authors models.
  • Model content can be provided from alternate sources such as databases or markup files.
  • Whole sets of models can be inspected for auditing or capacity planning purposes.

This alpha release of Actuator currently works on top of OpenStack clouds/fixed infra and uses Ansible’s Python API and module ecosystem to perform provisioning and configuration tasks. The release includes an example of the use of Actuator to create a model of a basic Hadoop cluster, which can be found at here.

2015-02-24 09:00:00