OASIS TOSCA

Last updated

Topology and Orchestration Specification for Cloud Applications (TOSCA) is an OASIS standard language to describe a topology of cloud based web services, their components, relationships, and the processes that manage them. [1] The TOSCA standard includes specifications of a file archive format called CSAR.

Contents

History

On 16 January 2014, OASIS TOSCA Technical Committee approved TOSCA 1.0 as a standard. Version 1.3 was approved on 26 February 2020 [2] and work is ongoing to define version 2.0 [3]

Specification

The specification is fully described in the standard [4] and has been cited in academic papers such as [5] [6]

Commercialization of cloud computing offerings has required manageability of tenant applications, particularly on a large scale. As such, vendors who offer their services to a wide market have written related standards that predate, or have been developed concurrently, with the OASIS TOSCA standard.

Amazon AWS CloudFormation template

The AWS CloudFormation template is a JSON data standard to allow cloud application administrators to define a collection of related AWS resources.

It is worth noting that CloudFormation is a proprietary format from AWS, that is not TOSCA based, and therefore does not bring the promise OASIS TOSCA is targeting. Check this grammar [7] compared to the OASIS TOSCA one . [8]

OpenStack Heat

The OpenStack Foundation has also defined a similar standard for specifying resources and the orchestrations for managing infrastructure, and application lifecycles. The heat-translator project was one of the first to adopt TOSCA for standardized templating.

Cloudify

Cloudify allows organizations an effortless transition to public cloud and Cloud-Native architecture by enabling them to automate their existing infrastructure alongside cloud native and distributed edge resources. Cloudify also allows users to manage different orchestration and automation domains as part of one common CI/CD pipeline.

Cloudify is an open source, multi-cloud orchestration platform featuring unique technology that packages infrastructure, networking, and existing automation tools into certified blueprints. It is an open-source cloud orchestration framework. which enables you to model applications and services and automate their entire life cycle.

Alien4Cloud

Application LIfecycle ENabler for Cloud (Alien4Cloud) is an open-source TOSCA based designer and cloud application lifecycle management platform. It is integrated with Yorc [9] for runtime orchestration though other orchestrators can be plugged to it.

Opera (xOpera orchestrator)

The xOpera project [10] provides a set of tools for orchestration and automation of the cloud applications. The xOpera includes Opera orchestrator (Python library [11] ), a lightweight, open-source and state-aware orchestrator based on Ansible and TOSCA Simple Profile in YAML v1.3. The project also includes a tool, called Template Library Publishing Service, [12] for publishing TOSCA components and templates. In 2021 xOpera project was presented on the TOSCA TC implementation stories [13] webinar. [14]

Yorc

Ystia Orchestrator (Yorc) is an open-source TOSCA orchestration engine. It aims to support the whole application lifecycle, from deployment, scaling, monitoring, self-healing, self-scaling to application upgrade, over hybrid infrastructures (IaaS, HPC schedulers, CaaS).

Ubicity

Ubicity provides tooling and orchestrators based on TOSCA.

MiCADOscale

MiCADOscale is an open-source TOSCA-based cloud resource orchestration framework for applications using Docker. [15]

Infrastructure Manager

Infrastructure Manager (IM) [16] is an open-source TOSCA-based orchestration framework based on YAML.

CloudCycle

CloudCycle was funded by the German Federal Ministry for Economic Affairs and Energy and ran from November 2011 to October 2014. [17] It covered an open source TOSCA modeler and an open source TOSCA interpreter [17]

SeaClouds

SeaClouds is an EU FP7 funded project whose mission is to provide adaptive multi-cloud management of service-based applications. It natively supports TOSCA, and it is participating in the standardization of such standard.

DICE

DICE is an EU H2020 funded project offering a model-driven DevOps toolchain to develop big data applications. TOSCA acts as the pivot language between modelling notations and the deployment, monitoring, etc., by offering standard infrastructure-as-code that can be generated automatically from models.

COLA

Cloud Orchestration at the Level of Application (COLA) is an EU H2020 funded project to develop a generic pluggable framework that supports the optimal and secure deployment and run-time orchestration of cloud applications. The developed framework (MiCADOscale) is a cloud-agnostic solution that allows existing applications to be scaled dynamically in real-time based on the current demand. The definition of the application is done in a TOSCA-based application description.

RADON

RADON [18] is an EU H2020 project focusing on providing the DevOps framework for creating and managing microservices-based applications. The project uses TOSCA with Ansible for defining IaC blueprints that can be graphically edited with Eclipse Winery. [19] The application lifecycle management was managed with the xOpera SaaS. [20]

See also

Related Research Articles

The Organization for the Advancement of Structured Information Standards is a nonprofit consortium that works on the development, convergence, and adoption of projects - both open standards and open source - for Computer security, blockchain, Internet of things (IoT), emergency management, cloud computing, legal data exchange, energy, content technologies, and other areas.

Scaffolding, as used in computing, refers to one of two techniques:

Tosca is an opera by Giacomo Puccini.

The Multicore Association was founded in 2005. Multicore Association is a member-funded, non-profit, industry consortium focused on the creation of open standard APIs, specifications, and guidelines that allow system developers and programmers to more readily adopt multicore technology into their applications.

Security token service (STS) is a cross-platform open standard core component of the OASIS group's WS-Trust web services single sign-on infrastructure framework specification.cf. Within that claims-based identity framework, a secure token service is responsible for issuing, validating, renewing and cancelling security tokens. The tokens issued by security token services can then be used to identify the holder of the token to services that adhere to the WS-Trust standard. Security token service provides the same functionality as OpenID, but unlike OpenID is not patent encumbered. Together with the rest of the WS-Trust standard, the security token service specification was initially developed by employees of IBM, Microsoft, Nortel and VeriSign.

<span class="mw-page-title-main">Open Services for Lifecycle Collaboration</span>

Open Services for Lifecycle Collaboration (OSLC) is an open community, originally proposed in 2008, to define a set of specifications that enable integration of software development. It has evolved, and continues to evolve, to areas such as Application Lifecycle Management (ALM), Product Lifecycle Management (PLM), IT Operations and more. The intention is to make life easier for tools users and tools vendors, by making it easier for tools to work together.

<span class="mw-page-title-main">OpenShift</span> Cloud computing software

OpenShift is a family of containerization software products developed by Red Hat. Its flagship product is the OpenShift Container Platform — a hybrid cloud platform as a service built around Linux containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux. The family's other products provide this platform through different environments: OKD serves as the community-driven upstream, Several deployment methods are available including self-managed, cloud native under ROSA, ARO and RHOIC on AWS, Azure, and IBM Cloud respectively, OpenShift Online as software as a service, and OpenShift Dedicated as a managed service.

Ansible is a suite of software tools that enables infrastructure as code. It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality.

HP CloudSystem is a cloud infrastructure from Hewlett Packard Enterprise (HPE) that combines storage, servers, networking and software.

AWS Elastic Beanstalk is an orchestration service offered by Amazon Web Services for deploying applications which orchestrates various AWS services, including EC2, S3, Simple Notification Service (SNS), CloudWatch, autoscaling, and Elastic Load Balancers. Elastic Beanstalk provides an additional layer of abstraction over the bare server and OS; users instead see a pre-built combination of OS and platform, such as "64bit Amazon Linux 2014.03 v1.1.0 running Ruby 2.0 (Puma)" or "64bit Debian jessie v2.0.7 running Python 3.4 ". Deployment requires a number of components to be defined: an 'application' as a logical container for the project, a 'version' which is a deployable build of the application executable, a 'configuration template' that contains configuration information for both the Beanstalk environment and for the product. Finally an 'environment' combines a 'version' with a 'configuration' and deploys them. Executables themselves are uploaded as archive files to S3 beforehand and the 'version' is just a pointer to this.

Network functions virtualization (NFV) is a network architecture concept that leverages IT virtualization technologies to virtualize entire classes of network node functions into building blocks that may connect, or chain together, to create and deliver communication services.

Cloud Infrastructure Management Interface (CIMI) is an open standard API specification for managing cloud infrastructure.

Many universities, vendors, institutes and government organizations are investing in cloud computing research:

<span class="mw-page-title-main">BOSH (software)</span>

BOSH is an open-source software project that offers a toolchain for release engineering, software deployment and application lifecycle management of large-scale distributed services. The toolchain is made up of a server and a command line tool. BOSH is typically used to package, deploy and manage cloud software. While BOSH was initially developed by VMware in 2010 to deploy Cloud Foundry PaaS, it can be used to deploy other software. BOSH is designed to manage the whole lifecycle of large distributed systems.

<span class="mw-page-title-main">Apache Brooklyn</span> Distributed computing management software

Apache Brooklyn is an open-source framework that is used for modeling, deploying, and managing distributed applications defined using declarative YAML blueprints. The design is influenced by Autonomic computing and promise theory, and implements the OASIS CAMP.

Infrastructure as code (IaC) is the process of managing and provisioning computer data center resources through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The IT infrastructure managed by this process comprises both physical equipment, such as bare-metal servers, as well as virtual machines, and associated configuration resources. The definitions may be in a version control system, rather than maintaining the code through manual processes. The code in the definition files may use either scripts or declarative definitions, but IaC more often employs declarative approaches.

ONAP is an open-source, orchestration and automation framework. It is hosted by The Linux Foundation.

A cloud-native network function (CNF) is a software-implementation of a function, or application, traditionally performed on a physical device, but which runs inside Linux containers. The features that differ CNFs from VNFs, one of the components of network function virtualization, is the approach in their orchestration.

The AWS Cloud Development Kit is an open-source software development framework developed by Amazon Web Services (AWS) for defining and provisioning cloud infrastructure resources using familiar programming languages. The AWS CDK aims to improve the experience of working with Infrastructure as Code by providing higher-level, reusable constructs that enable developers to create and manage AWS resources more efficiently and with less boilerplate code compared to traditional configuration files like AWS CloudFormation templates.

References

  1. "OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC". OASIS OPEN. OASIS. Retrieved 2 October 2021.
  2. "TOSCA Simple Profile in YAML v1.3 OASIS Standard published". OASIS TOSCA. OASIS. 28 February 2020. Retrieved 2 October 2021.
  3. "TOSCA Language Ad hoc working group 21 09 21". OASIS OPEN. OASIS. Retrieved 2 October 2021.
  4. "TOSCA Simple Profile in YAML Version 1.3". OASIS OPEN. OASIS. Retrieved 2 October 2021.
  5. Luzar, Anže; Stanovnik, Sašo; Cankar, Matija (7 September 2020). "Examination and Comparison of TOSCA Orchestration Tools". Software Architecture. Communications in Computer and Information Science. Vol. 1269. pp. 247–259. doi:10.1007/978-3-030-59155-7_19. ISBN   978-3-030-59154-0. S2CID   221743868 . Retrieved 2 October 2021.
  6. Cankar, Matija; Luzar, Anže; Tamburri, Damian A. (2020). "Auto-scaling Using TOSCA Infrastructure as Code". In Muccini, Henry; Avgeriou, Paris; Buhnova, Barbora; Camara, Javier; Caporuscio, Mauro; Franzago, Mirco; Koziolek, Anne; Scandurra, Patrizia; Trubiani, Catia (eds.). Software Architecture. Communications in Computer and Information Science. Vol. 1269. Cham: Springer International Publishing. pp. 260–268. doi:10.1007/978-3-030-59155-7_20. ISBN   978-3-030-59155-7. S2CID   221743435.
  7. "AWS CloudFormation Sample Template EC2InstanceWithSecurityGroupSample" (JSON).
  8. "TOSCA Simple Profile in YAML Version 1.1". docs.oasis-open.org.
  9. "ALIEN 4 Cloud".
  10. xOpera TOSCA orchestrator, XLAB d.o.o., 2021-11-23, retrieved 2021-11-26
  11. d.o.o, XLAB, opera: Lightweight TOSCA orchestrator , retrieved 2021-11-26
  12. "Template Library GUI". template-library-xopera.xlab.si. Retrieved 2021-11-26.
  13. "TOSCA Implementation Stories - webinar series".
  14. How can the TOSCA practitioners benefit from xOpera project? , retrieved 2021-11-26
  15. DesLauriers, James; Kiss, Tamas; Ariyattu, Resmi C.; Dang, Hai‐Van; Ullah, Amjad; Bowden, James; Krefting, Dagmar; Pierantoni, Gabriele; Terstyanszky, Gabor (2021-10-10). "Cloud apps to‐go: Cloud portability with TOSCA and MiCADO". Concurrency and Computation: Practice and Experience. 33 (19). doi: 10.1002/cpe.6093 . ISSN   1532-0626. S2CID   226404900.
  16. "IM - Infrastructure Manager a TOSCA Cloud Orchestrator".
  17. 1 2 Niehues, Peter (2014). "Verbundvorhaben: CLOUDCYCLE - Bereitstellung, Verwaltung und Vermarktung von portablen Cloud-Diensten mit garantierter Sicherheit und Compliance während des gesamten Lebenszyklus : Teilvorhaben: Analyse und Konzeption von cloudfähigen Services für den Einsatz in einer Bildungscloud : Schlussbericht : Laufzeit des Vorhabens: 01.11.2011-31.10.2014". regio iT gesellschaft für informationstechnologie mbh. doi:10.2314/GBV:866106324.
  18. "radon-h2020.eu – Unlocking the benefits of serverless FaaS" . Retrieved 2021-11-26.
  19. "Eclipse Winery documentation".
  20. "xOpera SaaS — xOpera documentation". xlab-si.github.io. Retrieved 2021-11-26.
Standards