You are on page 1of 7

TOSCA 101

A primer on TOSCA modeling and concepts

hello@cloudify.co | cloudify.co
Table of Contents 

TOSCA: An Overview 2

What is TOSCA? 3

TOSCA as a Concept 3

TOSCA: A Relevant Piece of the NFV Puzzle 5

Summary 6
TOSCA: An Overview 
The rise of cloud computing over these past few years has been immense, supported by technology
developments and use by numerous sectors. Scalability and flexibility, or the pay-as-you-grow
principle, provided by cloud computing have also made it very attractive and have provided a wide
range of use cases for all industries. And this in turn has led to the development of new technologies
based on cloud computing such as ​NFV and SDN​, which are seen as the next step in network
development and solutions for service providers to be more efficient and deliver new services faster.

Nevertheless, a lack of standardization in the way cloud services are operating, portability of cloud
services, and cloud security can potentially slow down further development. The ability to move cloud
services between different cloud environments, standardize service definitions, and be vendor
independent can help technologies based on cloud computing reach the next level. ​TOSCA​ helps
providers do just this. It can model networks in a standardized manner, improve automation, enable
portability, and more easily overcome interoperability issues.

Watch the TOSCA Orchestration webinar!​ ​

What is TOSCA? 
Topology and Orchestration Specification for Cloud Applications​ (TOSCA) represents a standard created
by the industry group OASIS. OASIS is a nonprofit consortium that is engaged in the development of
open standards supported by most vendors and major players in the cloud world as well as the telecom
market. TOSCA is known as one of the fastest growing standards in OASIS and has numerous use cases
and implementations that have already been announced.

The idea behind the TOSCA standard is to render improvements in the deployment, termination, and
any other management function of cloud applications. By defining service templates consisting of
different components and the relationships between these different parts, TOSCA helps configure
applications and their underlying infrastructure as well as enable moving applications in the cloud in a
very unique way. Also, all required orchestration policies and resources can be defined using templates
dedicated for that purpose.

The TOSCA standard has the main goal of answering the need for automation, portability, and
interoperability along with the management challenges of complex cloud applications. Until now there
have been two versions of TOSCA code introducing a unique language to describe its Service Template:
the first is based on XML (2013), and the second one is based on YAML (2016). With the use of these
two, there exist mechanisms that can then broader define services in order to describe vendor-specific
or domain-specific information.

TOSCA as a Concept 
The TOSCA metamodel allows for the definition and description of services by building up a topology
and a way to manage it as well. The whole idea is to deploy services as a unique structure where nodes
are part of the Node Template and the relationships between nodes are part of the Relationship
Template. The combination of these two yields the Topology Template, which, with the addition of
Plans, gives us the Service Template as the main aspect of the TOSCA model as shown in Figure 1.

Figure 1: Structural Elements of a Service Template and their Relations

Node Types form a basic part of the model and provide a description of service components that can
be reused and can also be referred to multiple times when defining nodes used for one particular
service. Alternatively, Node Types can be declared as abstract (cannot be instantiated in order to have
common properties and behavior for reuse) or final (cannot be derived by other Node Types). The
Node Template adds additional information to Node Types, such as how often components can occur
or how often they can be reused in order to operate properly.

Relationship Types, same as Node Types, represent reusable entities that create dependency between
two Node Types and defines the interaction between Node Types. In the same manner, the
Relationship Template refers to Relationship Types and offers additional information about relations
and optionally additional constraints regarding these relations. Similar to nodes and relationships,
TOSCA also uses a Policy Type and Template that define different non-functional behavior or QoS that
Node Types can declare. In this way, high availability can described.

These (Node Types and Template, Relation Types and Template) are part of a larger structure called the
Topology Template, creating a collection of specific nodes and relationships in order to give all
necessary information pertaining to the described service.

In order to define the Service Template as a basic structure of the TOSCA standard, we also need to
explain the use of Plans. Plans are used to manage service lifecycles and provide data in order to create
a running instance of the specific service. The main purpose of the Plans is to define the management
part of service instances, with an accent on creation and termination. These Plans are defined as
workflows, using existing language similar to BPMN or BPEL instead of providing a new language. By
referring tasks to Node Templates and Relationship Templates, Plans can directly control the nodes and
relationships that define a running service and also define interactions with external services. Via
Service Templates, the TOSCA standard introduces reusable knowledge by defining services in detail as
well as by setting rules and plans for the standard’s use. Also, in this way, the portability of cloud
services should not be a problem, allowing for the possibility of any vendor being able to understand
defined services in any environment that supports the TOSCA standard.

Read the Open vCPE with TOSCA whitepaper!​ ​

TOSCA: A Relevant Piece of the NFV Puzzle 


Network Function Virtualization (​NFV​), known as a software-based technology widely adopted by most
vendors and service providers, is seen as the answer to the high demand for scalable and flexible
networks and networks capable of answering quickly and efficiently to any demands they face. But
they still struggle with the main challenges of orchestration, management of services, and the
definition of uniform automation rules, which are the most important qualities of NFV technology.
TOSCA’s model-driven approach is proving to be a very good way of overcoming these issues via a
proper design of the network and by giving a comprehensive view of the services as well. TOSCA’s open
standard should be flexible enough to model VNFs (using Service Templates) in a simplified manner,
allowing for an easier way of deploying a new VNF slice.

Furthermore, TOSCA should also make it easier to modify services and combine different services,
having already described everything in the different TOSCA Templates. Using the TOSCA standard,
service providers can have a standardized model for all of their services, enabling faster onboarding of
new VNFs, service designs, and required definitions of hardware in order to achieve the desired
performance. It also prevents vendor dependency, making service providers’ networks more
standardized and able to overcome interoperability issues.

Even more, the use of TOSCA can bring cost savings since service providers will operate a well-modeled
network, a network that can easily adapt to different vendors and new VNFs or allocate additional
resources to VNFs when needed (by defining different policies). TOSCA can resolve problems of VNF
portability between different cloud environments that support the standard as well.

Summary 
By adopting a model-driven standard like TOSCA, it becomes easier to create an application-centric
playground, where any application instance can be deployed faster, using the same set of
configurations and with high reliability. Furthermore, ​TOSCA​ has the capability to resolve major issues
surrounding cloud applications, such as automation and deployment in different environments, which
are of great importance for further development in this field.
hello@cloudify.co | cloudify.co

You might also like