INDIGO – PaaS Orchestrator is the core component of the INDIGO PaaS layer. It collects high-level deployment requests and translates them into action to coordinate resources interacting with the underlying cloud infrastructures.
It allows the provisioning of virtualized compute and storage resources on different Cloud Management Frameworks (like OpenStack, OpenNebula, AWS, MS Azure, Google Cloud, etc.). The PaaS orchestrator features advanced federation and scheduling capabilities. It ensures transparent access to heterogeneous cloud environments and the selection of resource providers based on criteria like user’s SLAs, services availability, special hardware availability and data location.
It manages deployment requests, expressed through templates written in TOSCA, the standard language for describing application topologies in cloud, and coordinates the deployment on the most suitable cloud site. To achieve this:
- it gathers SLAs, monitoring data and additional information from other platform services;
- it asks the cloud provider ranker for a list of the best cloud sites.
The INDIGO PaaS Orchestrator open source is a scientific gateway that allows users to easily access federated cloud systems, on top of which both simple and complex scientific virtual computational environments can be automatically deployed and configured. The provided dashboard implements a catalogue of services. When a user selects a specific service from the catalogue, the PaaS Orchestrator processes the inputs defined in the corresponding TOSCA template, completely automates the interaction with the backends, and hides the related complexity. The dashboard allows to simply define customised views of the Service Catalogue.
Release Notes
The Orchestrator collects all the information needed to deploy the virtual infra/service/job consuming other PaaS APIs. It depends on external services such as:
- SLAM Service: get the prioritised list of SLAs per user/group;
- Configuration Management DB: get the capabilities of the underlying IaaS platforms;
- Data Management Service: get the status of the data files and storage resources needed by the service/application;
- Monitoring Service: get the IaaS services availability and their metrics;
- CloudProviderRanker Service (Rule Engine): sort the list of sites on the basis of rules defined per user/group/use-case.
The orchestrator-dashboard Simple Graphical UI is a Python application built with the Flask microframework. Flask-Dance is used for Openid-Connect/OAuth2 integration supporting the following functionalities:
- IAM authentication
- Display user’s deployments
- Display deployment details, template, and log
- Delete deployment
- Create new deployment
Future Plans
The INDIGO PaaS Orchestrator will be enhanced in order to support a monitoring and Metering System. This will be a new component to collect metrics from the federated providers, not only for monitoring purposes but mainly to provide the Orchestrator with useful information for selecting the optimal deployment path. CMDB Component, an auxiliary service of the PaaS orchestration system that plays a crucial role in maintaining and managing configuration information of the federated providers, has been completely re-engineered to provide a more flexible and general solution to support even more heterogeneous infrastructures. The algorithm used by the orchestrator to choose the resources where to deploy services will be enhanced. To achieve this, we intend to leverage AI in order to optimise the deployment time and enhance workflow performance, especially when dealing with big data analysis. Various techniques, such as machine learning algorithms, optimization algorithms, or other artificial intelligence methods aimed at improving the decision-making process within the Orchestrator will be explored and evaluated.