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 and 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 those applications and services can be portable across different cloud vendors' platforms.
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 allows for faster, and more repeatable and scalable, application deployments.
TOSCA is a highly extensible language, allowing developers to add vendor- or domain-specific mechanisms, as needed, 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 multicloud environments. TOSCA can also facilitate the standardization of cloud-based services, allowing cloud providers to offer ubiquitous services that users can map to their respective infrastructures.
TOSCA 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 AWS CloudFormation template is based on JSON standards to create collections of AWS resources in CloudFormation. The language is still in active development, with the committee moving ahead with the TOSCA Simple Profile for YAML v1.0, as well as expanding support for containers, load balancing, scaling, monitoring, network function virtualization and other software-defined networking initiatives for future iterations of the standard.
The TOSCA open standard is supported by the Organization for the Advancement of Structured Information Standards (OASIS). The OASIS TOSCA Technical Committee approved TOSCA 1.0 as a standard in January 2014. Cloud service and application developers will benefit from a working knowledge of the TOSCA language and grammar, which they can review in TOSCA documentation.