overview and update...sep 09, 2020 · alien 4 cloud and yorc application lifecycle enabler for...
TRANSCRIPT
Overview and UpdateSeptember 9, 2020
Chris Lauwers—TOSCA Chair and CEO, Ubicity Corp.
Tal Liron—Principal Software Engineer, Red Hat
Presented by:
What is TOSCA?
For automating the Lifecycle Management of application,
network, and infrastructure services.
That defines a Domain-Specific Language (DSL)
TOSCA is an OASIS Standard
2
TOSCA History and Milestones
▪ TOSCA Version 1.0 Specification approved as an OASIS
Standard
▪ Published in Nov 2013, XML format
▪ Focused on orchestrating application-level services
▪ Focused on portability across multiple clouds
▪ TOSCA Simple Profile v1.0 Specification (YAML format)
▪ First published as an OASIS Standard in 2016
▪ Provided a more human-readable encoding
▪ Included Simple Profile types for rapid development of cloud
applications
▪ Current version: TOSCA Simple Profile v1.3
▪ Mature standard, published in 2020
▪ Adopted by ETSI NFV with the goal of lowering OpEx
associated with managing VNFs and virtual network services
▪ TOSCA Version 2.0 (Planned for Late 2020)
3
Why is TOSCA the Go-To Choice?
4
Open Standard
Model-Driven Lifecycle Management
Rich Feature Set
Domain-Independent
Growing Ecosystem
TOSCA is an OASIS Open
Standard
▪ Global, nonprofit member-driven organization
▪ Promotes interoperability, innovation, and freedom of choice
▪ Federation of autonomous working groups
▪ Broad agenda: cloud computing, cybersecurity, privacy,
blockchain, IoT, emergency management, legal…
▪ Member of European Multi-Stakeholder Platform on ICT
Standardization→ EU allows OASIS specs to be referenced in
public procurement.
▪ Liaison relationships offer path to de jure standardization:
ISO, IEC (JTC 1), ITU, ETSI
▪ Home of TOSCA, SAML, PKCS, CAP, OpenDocument, OData,
MQTT…
5
6CONTINENTS
70+COMMUNITIES`
150+STANDARDS
2000+PARTICIPANTS
TOSCA uses Model-Driven
Lifecycle Management
▪ TOSCA assumes a model of deployed service instances
(Service Instance Model)
▪ As context for handling faults and events
▪ As starting point for Moves, Adds, Changes, and
Deletions (MACDs)
6
TOSCA Feature SetMeta-Model for Fully-
Automated Model-Driven
Lifecycle Management
7
Abstractions in Support of General-
Purpose Lifecycle Management
• Topology, Nodes, and Relationships
• Reusable Types
• Requirements and Capabilities
• Composition
• Recursive Decomposition
• Lifecycle Management Interfaces
• Workflows
• Policies
TOSCA Application Domains
▪ Infrastructure-as-a-Service Clouds
▪ Automate the deployment and management of workloads in IaaS clouds
such as OpenStack, Amazon Web Services, Microsoft Azure, and others
▪ Network Functions Virtualization
▪ Define the management of Virtual Network Functions and their
composition into complex network services
▪ Cloud-native applications
▪ Deploy containerized applications and micro-services, for example by
interfacing to orchestration platforms such as Kubernetes
▪ Software Defined Networking
▪ Support on-demand creation of network services (for example SD-WAN)
▪ Functions-as-a-Service
▪ Define abstract software applications without any deployment or
operational considerations
▪ IoT and Edge computing
▪ Deploy services at the network edge with the goal of minimizing latency
▪ Process automation
▪ Support open and interoperable process control architectures
8
TOSCA EcosystemTOSCA Committee:
170+ people
45+ companies/orgs
9
Associated Companies
Alien 4 Cloud and Yorc
▪ Application LIfecycle ENabler for Cloud
▪ High-level design-focused cloud orchestrator
▪ Powers Open Telekom Cloud's Cloud Topology Designer tool
▪ TOSCA 1.0 variant
▪ Written in Java
▪ Native low-level orchestrator is Yorc
▪ Written in Go
▪ Uses TOSCA 1.2
▪ Supports AWS, GCP, OpenStack, Kubernetes
▪ Other than Yorc can also work with Cloudify, Kubernetes,
Mesos/Marathon
▪ Developed since 2014 by French companies FastConnect
and Atos
▪ Apache 2.0 license
10
Cloudify
▪ End-to-end multi-cloud orchestrator
▪ TOSCA variant
▪ Written in Python
▪ Extensible plugin-centric architecture
▪ Built-in plugins for Chef, Puppet, Ansible, NETCONF,
Kubernetes, and more
▪ Developed since 2012 by Israel-based company
▪ Supported the AriaTosca Apache Software Foundation
incubation project (2016-2017)
▪ Apache 2.0 licensed community edition (limited
functionality)
11
DICER
▪ Generates TOSCA from UML
▪ Eclipse plugin written in Java
▪ Supported by the European Union Horizon 2020 program
(DICE)
▪ BSD 3-clause license
12
Eclipse Winery
▪ Web-based TOSCA modeler
▪ TOSCA 1.3 (TOSCA 1.0 in XML is deprecated)
▪ Eclipse Foundation incubation project
▪ Part of OpenTOSCA project
▪ Written in Java and JavaScript
▪ Supported by:
▪ Federal Ministry for Economic Affairs and Energy
(Germany)
▪ European Union Horizon 2020 program (RADON)
▪ Apache 2.0 or Eclipse 2.0 licenses
13
EnterpriseWeb
▪ Application fabric
▪ Translates TOSCA to internal unified object model
▪ Written in JavaScript
▪ Developed since 2014 by a US-based company
▪ Proprietary software
14
ETSI NFV
▪ ETSI NFV published a complete set of requirements,
information model, protocols, data model, OpenAPI,
testing guidelines, API conformance specifications
▪ Adopted TOSCA Simple Profile in YAML 1.1, 1.2, 1.3:
▪ To fulfil VNF, Network Service, and PNF descriptor
requirements
▪ Standardized VNF, NS, and PNF type definitions and
service template design for VNFD and NSD
▪ Adopted TOSCA Simple Profile in YAML 1.1 and 1.3 CSAR
portions:
▪ To fulfil VNF Package and NS File Structure requirements
▪ Release 2 and 3 Deployment Templates and Packaging
specifications
15
Itential
▪ Multi-cloud network automation
▪ Can consume YANG and TOSCA
▪ “Low code” architecture
▪ Large collection of pre-built adapters and automations
▪ Developed since 2014 by UK-based company
▪ Proprietary software
16
ONAP
▪ Open Network Automation Platform
▪ Network services and edge computing
▪ Relies on TOSCA for design and orchestration
▪ Primarily written in Java
▪ Supports VNFD and VNF Packaging of ETSI NFV
▪ Developed since 2017 as a Linux Foundation project
▪ Successor to OpenECOMP and OPEN-O projects
▪ Major global telecommunications companies and
equipment providers
▪ Apache 2.0 license (and others)
17
Open Baton
▪ Network service orchestration
▪ Adheres to ETSI MANO specifications
▪ Written in Java
▪ Developed since 2015
▪ Supported by Fraunhofer Fokus and Technische
Universität Berlin
▪ Apache 2.0 license
18
Opera
▪ General-purpose lightweight TOSCA orchestrator
▪ TOSCA 1.3
▪ Initial focus on OpenStack
▪ Written in Python
▪ Supported by the European Union Horizon 2020 program
(RADON and SODALITE)
▪ Developed since 2019 by Slovenia-based XLAB
▪ Apache 2.0 license
19
Puccini
▪ General-purpose stateless TOSCA compiler
▪ Aims to be strictly and fully compliant
▪ Supports all versions of TOSCA 1.0 to 2.0
(as well as Cloudify dialect and OpenStack HOT)
▪ Supports embeddable JavaScript scriptlets
▪ Provides online TOSCA mini-IDE
▪ Written in Go (wrappers for C, Java, Python, Ruby, WASM)
▪ Developed since 2018 by a Red Hat engineer
▪ Apache 2.0 license
20
TosKer
▪ Orchestrator for Docker
▪ TOSCA 1.0
▪ Can complete partial TOSCA from the runtime
environment (TosKeriser)
▪ Written in Python
▪ Developed since 2016
▪ MIT license
21
Turandot
▪ Integrates TOSCA into Kubernetes
▪ TOSCA 1.3 (looking towards 2.0)
▪ Multi-cluster workload composition via TOSCA
substitution mapping
▪ Architecture is the Kubernetes operator pattern
▪ Uses standard Docker or OCI registries as CSAR
inventories
▪ Supports KubeVirt, Helm, Argo, and other Kubernetes
extensions
▪ Written in Go (uses Puccini TOSCA compiler)
▪ Developed since 2020 by a Red Hat engineer
▪ Apache 2.0 license
22
Ubicity Orchestrator
▪ General-purpose “pure” TOSCA orchestrator
▪ TOSCA 1.3 (looking towards 2.0)
▪ Automatic workflow generation
▪ Provides online TOSCA validator and type profile browser
▪ Written in Python
▪ Developed since 2015 by a US-based company
▪ Proprietary software
23
TOSCA Version 2.0
Introduce language support for defining, importing, and using additional (domain-specific) type profiles
Remove all language dependencies on the Simple Profile type system (e.g. “host”)
Clean up, remove gaps, and formalize the language specification
Align with modern cloud-native paradigms
Decouple Simple Profile type definitions from the TOSCA specification
Simple Profile to be maintained by the community using Open Source paradigm
(Late 2020)
24
TOSCA Ecosystem Resources
How to Get Involved
▪ TOSCA Simple Profile in YAML v1.3
▪ https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-
YAML/v1.3/TOSCA-Simple-Profile-YAML-v1.3.html
▪ TOSCA Version 2.0 (Committee Spec Draft 02)
▪ https://docs.oasis-open.org/tosca/TOSCA/v2.0/TOSCA-v2.0.html
▪ TOSCA Community Contributions
▪ https://github.com/oasis-open/tosca-community-contributions
▪ (Partial) List of Known TOSCA Implementations
▪ https://github.com/oasis-open/tosca-community-
contributions/wiki/Known-TOSCA-Implementations
▪ OASIS TOSCA Technical Committee
▪ https://www.oasis-open.org/committees/tosca
▪ TOSCA LinkedIn Group
▪ https://www.linkedin.com/groups/8505536/
25
Our community depends on
participation, as well as use.
If you benefit from open source
and open standards, consider
contributing to help them be
successful.
Q & A
26