TOSCA (Topology and Orchestration Specification for Cloud Applications)
What is TOSCA (Topology and Orchestration Specification for Cloud Applications)?
The Topology and Orchestration Specification for Cloud Applications (TOSCA) is an open source language used to describe the relationships and dependencies between services and applications that reside on a cloud computing platform.
TOSCA can describe a cloud computing service and its components, and document the way those components are organized as well as the orchestration process needed to use or modify those components and services. This provides administrators with a common way to manage cloud applications and services so that they can be portable across different cloud vendors' platforms. It's also an important element in DevOps initiatives and the application development lifecycle.
How does TOSCA work?
The TOSCA language describes cloud services using templates and plans. Templates define the structure of a cloud service. Plans define the processes that start, stop and manage that cloud service over its lifetime. For example, TOSCA could be used to describe the relationship between Docker containers, virtual machines, server components, endpoints and services within a cloud environment. This enables faster, repeatable and scalable application deployments.
The model in Figure 1 shows how TOSCA combines various design elements into an overall framework or template for developing an application in the cloud.
TOSCA is a highly extensible language, enabling developers to add vendor- or domain-specific mechanisms to accommodate specific use cases. For example, a cloud provider could use TOSCA to define and compose a specific cloud service.
TOSCA facilitates simpler application deployment to any cloud platform, cloud bursting and support for multi-cloud environments. TOSCA can also facilitate the standardization of cloud-based services, which enables cloud providers to offer ubiquitous services that users can map to their respective infrastructures.
More about the TOSCA standard
The TOSCA standard is currently part of cloud-related platforms and orchestration tools including Cloudify, Ubicity and Alien4Cloud. Other projects such as OpenStack Heat offer template-based cloud application orchestration, while the Amazon Web Services CloudFormation template is based on JavaScript Object Notation standards to create collections of AWS resources in CloudFormation.
The TOSCA open standard is supported by the Organization for the Advancement of Structured Information Standards (OASIS). The OASIS TOSCA Technical Committee approved the TOSCA 1.0 standard in January 2014. Cloud service and application developers can benefit from a working knowledge of the TOSCA language and grammar, which they can review in TOSCA documentation.
TOSCA is still in active development, with the committee approving the TOSCA Simple Profile for YAML version 1.3 in 2020, as well as expanding support for containers, load balancing, scaling, monitoring, network functions virtualization and other software-defined networking initiatives for future iterations of the standard.
The importance of TOSCA
Cloud computing and related cloud technologies have grown dramatically over the past dozen or so years. Numerous products and services have been developed to facilitate the development and deployment of cloud-based systems. A standard framework for cloud design and deployment provides a structure for improving automation, ensures portability of apps across different platforms, facilitates greater interoperability and improves workflows.
Standards establish a common set of definitions, ensure vendor independence, enable cloud administration and maintenance, and simplify the overall process of cloud system development and cloud orchestration. TOSCA establishes a foundation for vendors and users to leverage cloud technologies and deploy cost-effective systems.
Learn all about the what, why and how of the TOSCA cloud standard.