SlideShare a Scribd company logo
TOSCA Native Service
Orchestration Design
DeWayne Filppi, Cloudify
2
Agenda
• Declarative vs Imperative Approaches
• Brief TOSCA Concept Review
• Service Orchestration Modeling
• ONAP Service Orchestration Modeling
• R1 Review
• R2 and Beyond
3
Declarative vs Imperative : The false choice
• Declarative separates what from how
• Declarative defines a model (what) and an orchestrator (how)
• Model provides enough info for orchestrator to remain generic
• Pros
- The allure of no coding
- Orchestrator implementation hidden
- Simple versionable artifact(s)
- Designer focus on value/solution
• Examples: HOT, CloudFormation,
TOSCA, Kubernetes, Docker
Compose, etc...
4
TOSCA Concepts
• Defines modeler and orchestrator roles
• Object modeling basis ( Java like )
• Binds models to implementations (APIs)
• Imperative workflows in orchestrator interpret runtime model instance
VM
Port
Net
Generic Install Workflow
1
3
2
5
TOSCA Concepts - Types
• Types can be viewed as OO classes
• Concrete instances are called nodes
• Service templates/models consists of nodes and relationships
• Types are defined by:
- A name
- Optional properties
- Runtime properties (attributes)
- Interfaces (the connection to type
specific imperative processing)
- Requirements & Capabilities /
Relationships
web_app:
type: WebApp
properties:
port: 9090
requirements:
- host: web_server
interfaces:
Standard:
configure: scripts/configure.sh
start: scripts/start.sh
stop: scripts/stop.sh
6
TOSCA Concepts - Interfaces & Operations
• Nodes can have behavior ( imperative )
• Interfaces are the means. Interfaces have:
- Names (e.g. tosca.interfaces.Standard )
- Operations, which have
• An operation name
• A code reference (e.g. path to script)
• Workflows recognize interfaces
VM
Port
Net
Generic Install Workflow
1
3
2
Recognizes implemented
interface
tosca.interfaces.Standard
7
TOSCA Concepts - Relationships
• Relationships can be implicit or explicit
• Types in their own right
• Used by workflows to order operations
• Used to execute arbitrary code
VM
Port
Net
Generic Install Workflow
1
3
2
Order operation execution
based on relationships
8
TOSCA Concepts - Service Templates
• Service templates are node graphs
( DAGs)
• Service templates can define
inputs/parameters
• Service instances are created from
the combination of inputs and
service templates
• Service instances have runtime
state (attributes)
Inputs
Service
Template
Service+
9
TOSCA Service Orchestration Modeling
• Higher level than VNF modeling
• “Plane” thinking meets traversal orientation
- Data plane
- Control plane
- Infrastructure “plane”
- Networking “plane”
- App “plane”
• Critical consideration for ONAP
10
TOSCA Service Orchestration Modeling
• TOSCA implicitly defines a designer
role
• Opposing pressures: what is visible to
designer vs what does platform
supply
• TOSCA capable of modeling arbitrary
level
• Long running processes
Designer
Types
Template
Horizon
Hidden System
Internals
11
TOSCA Service Orchestration in ONAP
• TOSCA typically models APIs
as components
- Nouns are types
- Adjectives are properties
- Verbs are operations
• ONAP has many APIs, and
many potential
types/components
- SNDC, OF, MultiVIM, APPC, AAI,
etc…
• Naive approach: TOSCA types
for everything
Designer
AAI SDNC
APPC
OF
MultiVIM
IAAS
DCAE
12
TOSCA Service Orchestration in ONAP
Naive Approach Problems
• Exposes internals
- Knowledge problem
- Binding problem
• AAI connected to all
• SDNC & OF need entire
template as input
13
Realistic TOSCA Service Orchestration in ONAP
• Need orchestrations that are correct but designable
• Designer shouldn’t have to care about ONAP internals
• Hiding places:
- Base types
- TOSCA Orchestrator Workflows
- Behind the scenes BPMN
- Other ONAP internal code (e.g. adapters)
14
Realistic TOSCA Service Orchestration in ONAP
• AAI Hiding
- AAI interactions are ubiquitous
- Service instance creation
• First step in SO service orchestration
• Adapter, BPMN, or TOSCA workflow hiding
- MultiVIM interactions
• Either in MultiVIM, or in TOSCA base types
• SDNC/OF Hiding
- Requires complete TOSCA model as input
- Adapter, BPMN, or TOSCA workflow hiding
• MultiVIM : TOSCA base types
• APPC & others: TOSCA base types
15
Realistic TOSCA Service Orchestration in ONAP
TOSCA ONAP base types in depth
• A base type provides interfaces workflows recognize
- An interface for AAI related components might include operations
• register
• unregister
• with default implementations
• A base type provides common properties
- A base type for APPC might include connection information (with defaults)
• A VNF base type would have properties common to all VNFs
- User supplied config via template inputs
• MultiVIM types include IAAS basics (image, instance, network, etc..)
16
Realistic TOSCA Service Orchestration in ONAP
Potential flow:
SDC
ONAP
TOSCA
Types
ONAP
TOSCA
Types
ONAP
TOSCA
Types
Template/
CSAR
SO
VID
User
Inputs
BPMN
Get
assgns
Get
assgns
TOSCA
Orch.
SDNC OF
AAI MultiVIM
APPC
DCAE
17
TOSCA Orchestrator in SO: ARIA
ARIA Parser
TOSCA Simple
Profile 1.0
ARIA Workflow Engine
Graph
Declarative
Workflows
Imperative
Workflows
ARIA Plugins
Execution
Plugins
ARIA Command Line Interface
IaaS
Plugins
ARIA TOSCA App
Developer SDK
CSAR Packager
TOSCA Reference Example Templates
TOSCA App
Development
Guide
TOSCA for NFV
Profile 1.0(csd03)
Built-in
Declarative
Workflows
SDN
Plugins
NFV
Plugins
ARIA Store
Models Store
Artifacts Store
Storage Driver
(sqlalchemy)
18
ONAP R1 SO TOSCA
▪
○ https://gerrit.onap.org/r/gitweb?p=so.git;a=tree;f=aria/aria-rest-server
○
https://gerrit.onap.org/r/gitweb?p=so.git;a=tree;f=aria/aria-rest-java-client
▪
○
https://gerrit.onap.org/r/gitweb?p=so.git;a=blob;f=packages/docker/src/main/docker/docker-files/Dockerfile.aria
▪
○
https://gerrit.onap.org/r/gitweb?p=so.git;a=tree;f=aria/multivim-plugin
▪
○
https://gerrit.onap.org/r/gitweb?p=demo.git;a=blob;f=tosca/vCPE/infra/base_vcpe_infra_rackspace_tosca.yaml
Requirements and R1 Contributions
19
ONAP R2 SO TOSCA
Full Integration With Core BPMN
• Approach: Post SDNC/OF fork
• Implications:
- ONAP Base types for AAI, MultiVIM, APPC
- Python APPC/DMaaP API
- SDC ONAP Base type integration (potentially)
- SDNC & OF ONAP types recognition/compatibility
- SO/ARIA BPMN recognition and handoff (via inputs)
• includes mapping tenant info to ARIA template names & processing outputs
- ONAP aware workflows (at least install/uninstall)
- DCAE init ( BPMN or TOSCA workflow )
- Enhance/complete ARIA REST API, improve microservice impl
• Minimum proof of work: pure TOSCA vCPE install/uninstall
20
ONAP SO TOSCA Trajectory
• Validate/explore via other use/edge cases
• Track MultiVIM enhancements to true multi-cloud
• Enhance ARIA container for use as Kubernetes service
• Enhance ARIA availability/failure recovery
• Healing/Scaling/CLAMP integration
• Day 2+ custom workflow support
• Downstream/southbound BPMN operation invocation
THANK YOU

More Related Content

PPTX
Kanban in Action Workshop
PDF
Introducing ONAP (Open Network Automation Platform) - Bay Area Meetup
PDF
Amdocs NFV Powered by ONAP
PDF
Introducing ONAP for OpenStack St Louis Meetup
PDF
Deep Work For Programmers - Reversim Summit 2017 - Pavel Brodksy
PPTX
Intro to Cloudify
PPTX
Module 7: Installation and Getting Started
PDF
SAP ABAP Online Training
Kanban in Action Workshop
Introducing ONAP (Open Network Automation Platform) - Bay Area Meetup
Amdocs NFV Powered by ONAP
Introducing ONAP for OpenStack St Louis Meetup
Deep Work For Programmers - Reversim Summit 2017 - Pavel Brodksy
Intro to Cloudify
Module 7: Installation and Getting Started
SAP ABAP Online Training

Similar to ONAP TOSCA Orchestration with Cloudify (20)

PDF
SAP ABAP Online Training
PDF
Summit 16: Open-O Mini-Summit - TOSCA and YANG Data Modeling for NFV
PPTX
Beyond sparql linked data, software, services and applications. Keynote at D...
PPTX
DEVNET-1175 OpenDaylight Service Function Chaining
PPTX
Cloudify workshop at CCCEU 2014
PPTX
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
PDF
SDN Framework and APIs
PDF
Aria 1.0 roadmap
PPTX
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
PPTX
Apache Thrift, a brief introduction
PPTX
ProcessFlow/IPA Differences
PPTX
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
PPTX
OFC2016 SDN Framework and APIs
PDF
Ekon20 mORMot SOA Delphi Conference
DOC
Sap abap online training course
PDF
Current & Future Use-Cases of OpenDaylight
PDF
【EPN Seminar Nov.10.2015】 Services Function Chaining Architecture, Standardiz...
PPT
SOAJavaHour 2 for software architecture support
PDF
TS-2614 - Jini™ Network Technology-Enabled Service-Oriented Architecture, A L...
PPTX
Evolution of a cloud start up: From C# to Node.js
SAP ABAP Online Training
Summit 16: Open-O Mini-Summit - TOSCA and YANG Data Modeling for NFV
Beyond sparql linked data, software, services and applications. Keynote at D...
DEVNET-1175 OpenDaylight Service Function Chaining
Cloudify workshop at CCCEU 2014
Getting Started, Low Hanging Fruit: Our First Experiences with Oracle Managem...
SDN Framework and APIs
Aria 1.0 roadmap
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Apache Thrift, a brief introduction
ProcessFlow/IPA Differences
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
OFC2016 SDN Framework and APIs
Ekon20 mORMot SOA Delphi Conference
Sap abap online training course
Current & Future Use-Cases of OpenDaylight
【EPN Seminar Nov.10.2015】 Services Function Chaining Architecture, Standardiz...
SOAJavaHour 2 for software architecture support
TS-2614 - Jini™ Network Technology-Enabled Service-Oriented Architecture, A L...
Evolution of a cloud start up: From C# to Node.js
Ad

More from Cloudify Community (20)

PPTX
Webinar: Dealing with automation tool overload!
PPTX
Intro to Environment as a Service - Cloudify 5.0.5 Webinar
PPTX
Cloudify 4.6 highlights webinar
PPTX
Cloudify 4.5 Webinar
PPTX
Edge Computing: A Unified Infrastructure for all the Different Pieces
PPTX
Cloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
PPTX
Why nfv and digital transformation projects fail!
PPTX
Orchestrating Complex Multi Cloud Enterprise Applications
PPTX
Making Your Apps Cloudy - Migrating to Microservices
PPTX
Multi tenancy RBAC in a multi-cloud world - webinar
PPTX
Onboarding and Orchestrating High Performing Networking Software
PPTX
ONAP Overview Webinar - Aarna Networks & Cloudify
PDF
Multi-Cloud Orchestration for Kubernetes with Cloudify
PPTX
Cloudify 4.2 Webinar - Agility & Control
PPTX
Multi-Cloud Orchestration for Kubernetes with Cloudify - Webinar Presentation
PDF
A David vs. Goliath Tale of Triumph - Reversim Summit 2017 - Nati Shalom
PPTX
2017 State Enterprise Multi Cloud Webinar
PDF
vCPE 2.0 – the business case for an open vCPE framework
PDF
Overcoming the five hybrid cloud adoption challenges
PDF
OpenStack and serverless - long shot or sure thing
Webinar: Dealing with automation tool overload!
Intro to Environment as a Service - Cloudify 5.0.5 Webinar
Cloudify 4.6 highlights webinar
Cloudify 4.5 Webinar
Edge Computing: A Unified Infrastructure for all the Different Pieces
Cloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
Why nfv and digital transformation projects fail!
Orchestrating Complex Multi Cloud Enterprise Applications
Making Your Apps Cloudy - Migrating to Microservices
Multi tenancy RBAC in a multi-cloud world - webinar
Onboarding and Orchestrating High Performing Networking Software
ONAP Overview Webinar - Aarna Networks & Cloudify
Multi-Cloud Orchestration for Kubernetes with Cloudify
Cloudify 4.2 Webinar - Agility & Control
Multi-Cloud Orchestration for Kubernetes with Cloudify - Webinar Presentation
A David vs. Goliath Tale of Triumph - Reversim Summit 2017 - Nati Shalom
2017 State Enterprise Multi Cloud Webinar
vCPE 2.0 – the business case for an open vCPE framework
Overcoming the five hybrid cloud adoption challenges
OpenStack and serverless - long shot or sure thing
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Electronic commerce courselecture one. Pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Per capita expenditure prediction using model stacking based on satellite ima...
Electronic commerce courselecture one. Pdf
Empathic Computing: Creating Shared Understanding
NewMind AI Monthly Chronicles - July 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
GamePlan Trading System Review: Professional Trader's Honest Take
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity

ONAP TOSCA Orchestration with Cloudify

  • 1. TOSCA Native Service Orchestration Design DeWayne Filppi, Cloudify
  • 2. 2 Agenda • Declarative vs Imperative Approaches • Brief TOSCA Concept Review • Service Orchestration Modeling • ONAP Service Orchestration Modeling • R1 Review • R2 and Beyond
  • 3. 3 Declarative vs Imperative : The false choice • Declarative separates what from how • Declarative defines a model (what) and an orchestrator (how) • Model provides enough info for orchestrator to remain generic • Pros - The allure of no coding - Orchestrator implementation hidden - Simple versionable artifact(s) - Designer focus on value/solution • Examples: HOT, CloudFormation, TOSCA, Kubernetes, Docker Compose, etc...
  • 4. 4 TOSCA Concepts • Defines modeler and orchestrator roles • Object modeling basis ( Java like ) • Binds models to implementations (APIs) • Imperative workflows in orchestrator interpret runtime model instance VM Port Net Generic Install Workflow 1 3 2
  • 5. 5 TOSCA Concepts - Types • Types can be viewed as OO classes • Concrete instances are called nodes • Service templates/models consists of nodes and relationships • Types are defined by: - A name - Optional properties - Runtime properties (attributes) - Interfaces (the connection to type specific imperative processing) - Requirements & Capabilities / Relationships web_app: type: WebApp properties: port: 9090 requirements: - host: web_server interfaces: Standard: configure: scripts/configure.sh start: scripts/start.sh stop: scripts/stop.sh
  • 6. 6 TOSCA Concepts - Interfaces & Operations • Nodes can have behavior ( imperative ) • Interfaces are the means. Interfaces have: - Names (e.g. tosca.interfaces.Standard ) - Operations, which have • An operation name • A code reference (e.g. path to script) • Workflows recognize interfaces VM Port Net Generic Install Workflow 1 3 2 Recognizes implemented interface tosca.interfaces.Standard
  • 7. 7 TOSCA Concepts - Relationships • Relationships can be implicit or explicit • Types in their own right • Used by workflows to order operations • Used to execute arbitrary code VM Port Net Generic Install Workflow 1 3 2 Order operation execution based on relationships
  • 8. 8 TOSCA Concepts - Service Templates • Service templates are node graphs ( DAGs) • Service templates can define inputs/parameters • Service instances are created from the combination of inputs and service templates • Service instances have runtime state (attributes) Inputs Service Template Service+
  • 9. 9 TOSCA Service Orchestration Modeling • Higher level than VNF modeling • “Plane” thinking meets traversal orientation - Data plane - Control plane - Infrastructure “plane” - Networking “plane” - App “plane” • Critical consideration for ONAP
  • 10. 10 TOSCA Service Orchestration Modeling • TOSCA implicitly defines a designer role • Opposing pressures: what is visible to designer vs what does platform supply • TOSCA capable of modeling arbitrary level • Long running processes Designer Types Template Horizon Hidden System Internals
  • 11. 11 TOSCA Service Orchestration in ONAP • TOSCA typically models APIs as components - Nouns are types - Adjectives are properties - Verbs are operations • ONAP has many APIs, and many potential types/components - SNDC, OF, MultiVIM, APPC, AAI, etc… • Naive approach: TOSCA types for everything Designer AAI SDNC APPC OF MultiVIM IAAS DCAE
  • 12. 12 TOSCA Service Orchestration in ONAP Naive Approach Problems • Exposes internals - Knowledge problem - Binding problem • AAI connected to all • SDNC & OF need entire template as input
  • 13. 13 Realistic TOSCA Service Orchestration in ONAP • Need orchestrations that are correct but designable • Designer shouldn’t have to care about ONAP internals • Hiding places: - Base types - TOSCA Orchestrator Workflows - Behind the scenes BPMN - Other ONAP internal code (e.g. adapters)
  • 14. 14 Realistic TOSCA Service Orchestration in ONAP • AAI Hiding - AAI interactions are ubiquitous - Service instance creation • First step in SO service orchestration • Adapter, BPMN, or TOSCA workflow hiding - MultiVIM interactions • Either in MultiVIM, or in TOSCA base types • SDNC/OF Hiding - Requires complete TOSCA model as input - Adapter, BPMN, or TOSCA workflow hiding • MultiVIM : TOSCA base types • APPC & others: TOSCA base types
  • 15. 15 Realistic TOSCA Service Orchestration in ONAP TOSCA ONAP base types in depth • A base type provides interfaces workflows recognize - An interface for AAI related components might include operations • register • unregister • with default implementations • A base type provides common properties - A base type for APPC might include connection information (with defaults) • A VNF base type would have properties common to all VNFs - User supplied config via template inputs • MultiVIM types include IAAS basics (image, instance, network, etc..)
  • 16. 16 Realistic TOSCA Service Orchestration in ONAP Potential flow: SDC ONAP TOSCA Types ONAP TOSCA Types ONAP TOSCA Types Template/ CSAR SO VID User Inputs BPMN Get assgns Get assgns TOSCA Orch. SDNC OF AAI MultiVIM APPC DCAE
  • 17. 17 TOSCA Orchestrator in SO: ARIA ARIA Parser TOSCA Simple Profile 1.0 ARIA Workflow Engine Graph Declarative Workflows Imperative Workflows ARIA Plugins Execution Plugins ARIA Command Line Interface IaaS Plugins ARIA TOSCA App Developer SDK CSAR Packager TOSCA Reference Example Templates TOSCA App Development Guide TOSCA for NFV Profile 1.0(csd03) Built-in Declarative Workflows SDN Plugins NFV Plugins ARIA Store Models Store Artifacts Store Storage Driver (sqlalchemy)
  • 18. 18 ONAP R1 SO TOSCA ▪ ○ https://gerrit.onap.org/r/gitweb?p=so.git;a=tree;f=aria/aria-rest-server ○ https://gerrit.onap.org/r/gitweb?p=so.git;a=tree;f=aria/aria-rest-java-client ▪ ○ https://gerrit.onap.org/r/gitweb?p=so.git;a=blob;f=packages/docker/src/main/docker/docker-files/Dockerfile.aria ▪ ○ https://gerrit.onap.org/r/gitweb?p=so.git;a=tree;f=aria/multivim-plugin ▪ ○ https://gerrit.onap.org/r/gitweb?p=demo.git;a=blob;f=tosca/vCPE/infra/base_vcpe_infra_rackspace_tosca.yaml Requirements and R1 Contributions
  • 19. 19 ONAP R2 SO TOSCA Full Integration With Core BPMN • Approach: Post SDNC/OF fork • Implications: - ONAP Base types for AAI, MultiVIM, APPC - Python APPC/DMaaP API - SDC ONAP Base type integration (potentially) - SDNC & OF ONAP types recognition/compatibility - SO/ARIA BPMN recognition and handoff (via inputs) • includes mapping tenant info to ARIA template names & processing outputs - ONAP aware workflows (at least install/uninstall) - DCAE init ( BPMN or TOSCA workflow ) - Enhance/complete ARIA REST API, improve microservice impl • Minimum proof of work: pure TOSCA vCPE install/uninstall
  • 20. 20 ONAP SO TOSCA Trajectory • Validate/explore via other use/edge cases • Track MultiVIM enhancements to true multi-cloud • Enhance ARIA container for use as Kubernetes service • Enhance ARIA availability/failure recovery • Healing/Scaling/CLAMP integration • Day 2+ custom workflow support • Downstream/southbound BPMN operation invocation