Workflow Design and Implementation Challenges in Change Management
This content explores the workflow design and implementation challenges in change management requirements, focusing on activities like stopping and draining traffic, creating VNF instances, and using RESTful APIs. It discusses the use of BPMN service tasks with groovy scripts in executing workflows and the need for flexible language support due to multilingual microservices environments.
- Workflow design
- Change management
- Implementation challenges
- BPMN service tasks
- Multilingual microservices
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
SDC Workflow Designer Solution for Change Management Requirement Huabing Zhao
Change Management Requirement Use Case: Update Image VNF Change Management Vendor has a new Image for the VNF requiring Image upgrade for all the existing VNF Instances Vendor works with the VNF Owner to define the workflow for upgrading the VNF Image New VNF version includes the updated image and the workflow to upgrade the image from the previous VNF version to the current VNF version Service is updated with the new VNF version and distributed SO deploys the workflow On SO receiving the VNF Upgrade request from a north bound system. SO executes the workflow previously deployed to Upgrade VNF
Change Management Requirement Stop traffic is a API call to controller so controller can actually take the necessary steps to stop traffic Drain traffic is an API call to controller to allow for controller to confirm completion of all the in-progress activity in the VNF Create VNF is an API call to Openstack to instantiate the VNF All the steps are API calls from SO to various systems with inter-dependencies
Workflow Design Roles Business designer Business workflow design Developer Activity Definition Stop traffic Drain traffic Stop VNF . Restful API Open Stack Developer APP-C SDN-C . Business designers use the activities as building blocks to design a workflow Developers define and implement the activities
Workflow used in SO Workflow solution in SO: SO Process Workflow Execution Engine Workflow execution engine is embed in SO. The extended activities are done by BPMN service tasks via groovy scripts. Workflow execution engine uses groovy script to invoke the service task implementation written in java. Service Task1 groovy Service Task2 groovy Service Task3 groovy Implementation 1(java) Implementa tion 1(java) Implementa tion 1(java) VF-C SDN-C APP-C AAI The challenges: Highly coupling between workflow design and SO, SO and other downstream modules. Have to add an implementation java class for every extended activity in SO, even workflow engine only need to call a service of other modules. Language restriction Microservices are multilingual, the implementation of activities could be python, go or other languages. So we can t assume all the implementation are written in java.
Workflow used in VF-C Standalone workflow engine. Workflow engine can be deployed as a cluster to share heavy work load. Workflow Execution Engine Stop Traffic Stop Traffic Stop Traffic Drain Traffic Drain Traffic Drain Traffic Stop VNF Stop VNF Stop VNF Groovy Groovy Groovy Uses REST interface instead of in-process java call to avoid coupling between the execution engine and the implementation. So the workflow engine can be deployed outside of the process in which the implementation resides. BPMN BPMN BPMN REST Task Execution Extension REST Task Execution Extension REST Task Execution Extension REST Interface This approach add more scalability to activity implementation as well. The implementation can be deployed as a cluster to share work load. SO SDN-C APP-C AAI VF-C Standalone Workflow execution engine . Workflow engine can be scaled out on independently on heavy workload.(Workflow engine cluster) The extended activities are REST tasks. Workflow execution engine has an generic REST task execution extension. (This approach has already been implemented in Amsterdam and leveraged by VF-C for network service instantiation workflow, in which workflow engine is a standalone microservice)
Current workflow Designer Architecture BPMN Converter SDC Catalog Storage Adapter REST REST Workflow Designer UI Workflow Designer Server UI: Pure frontend codes including Js/html/css files, hosted in a Tomcat server. Framework: Angular 4 Server: a small code base including: Converter: convert json output of UI to BPMN standard workflow Storage Adapter: Save the generated workflow into SDC catalog/Get workflow form SDC catalog-WIP
Workflow designer supports generic REST Tasks Choose a Restful service API REST Task Setting Set input/output parameters The current workflow design process is difficult for business designer Business designers have no technical background about rest APIs. Too many input/output parameters.
Enhance workflow designer to support pre-defined rest tasks Add pre-defined Rest tasks to designer as building blocks (Note: should also supports pre-defined groovy/java task) Task definition: Name: Create Snapshot Category: VNF Description: Create a snapshot of a VNF instance REST Service: Name: vnf service URL: / Input Parameter: -VNF ID: String . Designers just drag and drop tasks to design a business process Designer don t have to understand REST APIs Simplify the input parameter setting by default value configuration
Customized workflow tasks in a model-driven approach Every task is a wrapper of a Restful API call, which includes user-friendly name, description, input/output definition, etc. Tasks Stop Traffic Drain Traffic Design Time Stop VNF Create VNF Task definitions can be imported to workflow designer. Stop Traffic Drain Traffic Stop VNF Start VNF Start Traffic Any existing ONAP Restful API can be wrapped as tasks. Copy Snapshot Workflow Engine has an common extension which can execute arbitrary REST Task.(Already supported and used in Amsterdam) Workflow Engine with REST Task extension Stop Traffic Drain Traffic Stop VNF Run Time Don t have to re-compile/re-deploy ONAP to add new customized restful API wrapper tasks. REST Task Execution Extension REST API Developer can opt to write new task(Rest service) in ONAP to extend existing ONAP functionalities(need to re-compile and release ONAP). ONAP Microservices SO SDN-C APP-C AAI
Additional requirements Versioning Template Storage for Draft Shared workflow template which can be associated to multiple VNFs/Services Asyn communication Quickly fix of operation issues