The OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) is a standard created by the OASIS consortium to describe complex deployments, from cloud resources selection to final applications interactions and dependencies. The TOSCA specification allows DevOps and architects to define reusable components and topologies that can be easily ported across clouds and orchestrators. It is currently supported by big companies such as IBM, Microsoft, EMC and RedHat.
The PrEstoCloud TOSCA parser is based on the latest open-source Alien4Cloud implementation, which is compliant with OASIS’s TOSCA standard to model components (computing nodes, capabilities, requirements and relationships).
For instance, the characteristics of all VM types for each targeted cloud (Amazon, Azure and OpenStack) are expressed into specific TOSCA topology documents and provided through the repository to all PrEstoCloud components. The location and characteristics of each potential resource of a PrEstoCloud application (both cloud and edge resources) are therefore modelled and may be used for computation. TOSCA modelling allows to register existing and upcoming edge devices along with their appropriate parameters.
Also, TOSCA “policy types” are used to express high level expectations into node or group of nodes from the topology template part of the TOSCA document. The normative policy types defined in the specification are the following:
- Placement: govern placement of TOSCA nodes or groups of nodes
- Scaling: govern scaling of TOSCA nodes or groups of nodes
- Update: govern update of TOSCA nodes or groups of nodes
- Performance: declare performance requirements for TOSCA nodes or groups of nodes
In PrEstoCloud, the policy types are used to express placement constraints in order to be interpreted by the Application Placement & Scheduling Controller. The resulting policy constraints are based on the normative policy type “tosca.policies.Placement”.
These are some examples that illustrate the interest of well-designed topology description language. Moreover, usage of an open standard like TOSCA, enhance the interoperability and the extensibility of the PrEstoCloud project.