xOpera – the TOSCA orchestrator
The xOpera project (GitHub) provides a set of tools for orchestration and automation of the cloud applications. The xOpera includes opera – a general-purpose OASIS TOSCA orchestrator - with a set of plugins and add-ons. The project also includes a tool, called Template Library, for publishing TOSCA components and templates. The project follows the OASIS TOSCA standard that gives numerous advantages over other orchestrators including interoperability, vendor neutrality (no vendor-lock-in), open standard community and ability to act as an umbrella to different executors. Inside the xOpera project, we combined the power of the most popular declarative tool, Ansible, with the TOSCA standard. Exploiting the combination of these, the DevOps developers can use human-readable deployment blueprints to create deployment graphs and relationships that can overpower even the most prominent orchestrators currently available.
The vision of the xOpera team is to create an ecosystem that provides necessary tools for orchestration. The heart of this project is the Opera orchestrator (Python library), a lightweight, open-source and state-aware orchestrator based on Ansible and TOSCA Simple Profile in YAML v1.3. Initially this orchestrator was CLI based, but it is now expanded with API accessibility and, simultaneously, a xOpera SaaS edition allowing integration with other authorization tools (based on KeyCloak) and handling secrets, providing multi-tenancy (sharing deployment projects with co-workers), and more. The latter is accessible also through GUI. The Opera API allows easy integration of the orchestrator core using HTTP requests and the xOpera SaaS API was exploited for the development of an Eclipse Che plugin, through which users can enjoy DevOps IDE environment to manage the TOSCA/Ansible content or even create it with external graphical tools (e.g., the orchestrator can deploy TOSCA CSARs generated from Eclipse Winery TOSCA Graphical tool). More info about the orchestrator can be accessed on the documentation pages.
Users of xOpera can leverage using the TOSCA components and templates searchable inside Template Library Publishing System (TPS), where infrastructure as a code developers can already find and reuse a subset of components for AWS, Azure and GCP. The TPS is also integrated with xOpera SaaS and Eclipse Che.
Relation to TOSCA Technical committee and academia
XLAB has been a voting member of the TOSCA Technical committee for a few years and is now focusing on developing tools compliant with TOSCA standard. XLAB tightly collaborates with the technical committee, regularly presents the progress of work and co-creates a set of typical TOSCA applications. Moreover, the xOpera tools has been used in university courses or boot camps teaching cloud computing or advanced service-oriented technologies organized by:
Tartu University (E),
joint program of Tilburg university and Eindhoven university of Technology (NL) and
Imperial College in London(UK).
Relation to EU projects
The history of xOpera goes back in time to the DICE H2020 project, where a Dicer deployment engine was developed. Through additional improvements and ideas, the xOpera project was born and currently successfully executes orchestration tasks for RADON H2020(Microservice management framework, focusing on FaaS, but not limited to) and SODALITE H2020 (HPC application management). The xOpera is also evaluated in two H2020 projects that had recently started (H2020 FISHY, H2020 PIACERE).