TOSCA is a YAML file that describes a topology of a cloud application (just like the OpenStack HOT template, or the AWS Cloud Formation). The main difference is that TOSCA not only describes the cloud infrastructure but also the software components, and the relationships between the software components in one stack. Afterwards, a TOSCA orchestration engine read the topology description and deploy the applications in multiple cloud providers.
Figure 1 shows an example, whereby users describe their applications with three points:
- the cloud infrastructure (e.g., public / private
network
,compute
nodes, andblock storage
). - the software components (e.g., a
nodejs
software component is deployed on theCompute
node, amongodb
software component is deployed on theCompute_2
node). Here users can control the lifecycle of the software components (i.e., how they are installed, updated, deleted) with ansible, python, and shell script. - the relationships between the software components (e.g., a
nodecellar
web application connects to themongodb
on port 27017). Here users can configure thenodecellar
(i.e., the source node) andmongodb
(i.e., the target node) to setup the relationship between them with ansible, python, and shell script.
The following tutorial shows how users use TOSCA to do so.
- How to manage the lifecycle (create, update, delete) of a software component on a compute node?
- How to create a software component using an ansible playbook?
- How to define a
ConnectsTo
relationship between two software components? - How to define a custom capability?
- How to deploy a file or a folder (i.e., a
File
artifact) to a target compute node?
- How to define a docker container application?
- How to deploy a docker container on Kubernetes?
- TOSCA Tutorials brought to you by Open Telekom Cloud, T-Systems International GmbH.
- The examples we used in this tutorial are from Yorc.