why:
网络管理中的多因子,需要对接不同的系统;
不同的设备,NSO/AOC都能直接搞定,
设备数量大,需要很多的AOC管理不同区域的设备;
客户变更管理流程通常需要验证基本假设,例如进行网络扫描以确认已部署设备的类型和合规性,验证计划变更的就绪性,以及将变更前后的网络状态存档。所有这些都是成功的网络更新的关键,需要一个自动化工具,允许客户自动化和管理这些步骤。目标:使过程自动化,但使其风险较低。
[图片上传失败...(image-db4374-1700818951611)]
Figure 1.
Crosswork Workflow Manager - at a glance
通过Adapter对接Operations Support Systems (OSS) and Business Support Systems (BSS)
默认支持NSO Adapter和Rest Adapter,提供SDK自定义实现Adapter。
该系统构建在基于Kubernetes的云原生基础架构上,因此客户可以利用开源扩展带来额外的功能。=》云原生
Features and benefits
**Table 1. **CWM Features and Benefits
|
Feature
|
Benefit
|
| --- | --- |
|
Workflow scheduling and management platform
|
Enables execution of thousands of workflows in parallel.
|
|
Graphical user interface
|
The GUI provides controls for operational control of workflows, visibility to job scheduling and history, and administrative activities.
|
|
Workflow Authoring compliant with Serverless Workflow specification
|
Customers can build workflows to automate their operational needs. Serverless Workflow specification is used as the domain-specific language for writing such workflows.
|
|
Swagger-enabled REST APIs for northbound integration
|
The product can be controlled through REST APIs. Swagger is used to facilitate coding to those APIs.
|
|
Adapter: NSO
|
Adapter allows integration to drive NSO for device interaction
|
|
Adapter: REST
|
Adapter allows integration to REST-enabled applications
|
|
Adapter: SDK for building custom adapters
|
Customers can build adapters to enable integration to their existing OSS systems. A Software Development Kit (SDK) is provided for customers to use for this. Adapters are written in Golang.
|
|
High availability: Workflow recoverability
|
Workflows are recoverable from a failure within the system.
|
|
High availability: Platform active/standby
|
The Workflow Manager supports an active/standby configuration to allow recovery from a failure of the active system.
|
|
Management: Role-Based Access Control (RBAC)
|
Allows the administrator to define security levels differentiating administration, workflow creation, and operation
|
|
Management: Activity logging
|
Logging is made available through imbedded MinIO and Grafana Loki components
|
|
Management: Performance metrics
|
Metrics are made available through imbedded TimescaleDB
|
特性价值
工作流调度和管理平台,支持数千个工作流并行执行。=>并发涉及的可靠性&CPU占用;调度应该包含时间的设置。
图形用户界面,GUI为工作流的操作控制、作业调度和历史记录的可见性以及管理活动提供了控件。=》拖拽估计必不可少。如何引入三方系统在GUI的体现对于易用性比较关键
工作流编写符合无服务器工作流规范,客户可以构建工作流以自动化他们的操作需求。Serverless Workflow规范被用作编写此类工作流的领域特定语言。=》这种规范在高层次上能打击打击开发人员的积极性,就是不知道客户的决策层是否关注这个。
支持Swagger北向集成的REST API,可以通过REST API控制产品。Swagger是为了方便对这些API进行编码。=》不知道是否是yaml描述。
适配器:NSO,适配器允许集成以驱动NSO进行设备交互
适配器:REST,适配器允许集成到支持REST的应用程序
Adapter:用于构建自定义适配器的SDK,客户可以构建适配器以实现与现有OSS系统的集成。提供软件开发工具包(SDK)供客户使用。适配器是用Golang编写的。
高可用性:工作流可恢复性,工作流可从系统内的故障中恢复。=》这种恢复机制不知道是怎么做的,重试还是回滚?
高可用性:平台主用/备用,工作流管理器支持主用/备用配置,以允许从主用系统的故障中恢复。
管理:基于角色的访问控制(RBAC),允许管理员定义区分管理、工作流创建和操作的安全级别
管理:活动日志记录,通过嵌入式MinIO和Grafana Loki组件提供
管理:性能指标,通过嵌入式TimescaleDB提供指标
**Table 2. **Interoperability
|
Product Family
|
Versions supported
|
Comment
|
| --- | --- | --- |
|
NSO (Network Services Orchestrator)
|
V6.0
|
Using NSO adapter provided by Cisco
|
|
REST
|
NA
|
Using REST adapter provided by Cisco
|
**Table 3. **Compliance
|
Product Family
|
Versions supported
|
Compliance caveats
|
| --- | --- | --- |
|
Serverless Workflow Specification
|
v0.8
|
Partially compliant. Detailed compliance statement is available upon request.
|
|
Swagger
|
v2.0
| |
|
Protocol Buffers (Protobuf)
|
v3
|
Partially compliant. Detailed compliance statement is available upon request.
|
Serverless Workflow Specification这个看起来有点用,其他两个是拿来凑数的。
除了用于本地监控Crosswork Workflow Manager (CWM)的内置功能外,还包括以下基础架构组件以允许与外部监控的接口:
**Table 4. **Infrastructure components used for monitoring the system
|
Component
|
Version
|
Role
|
| --- | --- | --- |
|
TimescaleDB
|
2.9.1-pg15
|
Metrics storage
|
|
MinIO
|
2022-12-12T19-27-27Z
|
Log storage
|
|
Grafana Loki
|
2.6.1
|
Log aggregation
|
这个一般不作为自动化的部分,我司涉A比较难搞
通过使用上述组件提供的接口,客户可以通过Prometheus和Grafana集成到他们的管理系统中,以进行可视化表示、自定义管理视图和产生告警。
[图片上传失败...(image-62fd8b-1700818951611)]
DEMO:
https://www.youtube.com/watch?v=uBl7XMC-JT4
怎么编排只是展示,没有具体代码的介绍;SDK能同步看到代码与编排的步骤;
编排完之后可以在GUI页面直接操作,看到运行结果。可以重复执行;
[图片上传失败...(image-8aef5d-1700818951611)]
[图片上传失败...(image-2c4c17-1700818951611)]
[图片上传失败...(image-5ab4dc-1700818951611)]