ONAP与TOSCA模型驱动编排实践

需积分: 10 14 下载量 138 浏览量 更新于2024-07-17 收藏 2.13MB PDF 举报
"ONAP Model Driven Orchestration with TOSCA[HANDS ONAP].pdf" 这篇文档主要探讨了ONAP(开放网络自动化平台)如何利用TOSCA(Topology and Orchestration Specification for Cloud Applications)进行模型驱动的编排,并强调了TOSCA在ONAP中的核心地位。以下是对这一主题的详细说明: 1. **为什么TOSCA是ONAP的主要支柱?** TOSCA被选为ONAP的关键组成部分,是因为它提供了一种标准化的方法来定义、部署和管理云环境中的应用程序和服务。TOSCA提供了一种模型化的方式来描述服务组件、它们的依赖关系、以及如何对这些组件进行操作。这使得跨多个厂商的互操作性和自动化成为可能,这对于ONAP实现网络服务的快速设计、部署和生命周期管理至关重要。 2. **模型驱动的愿景** 在ONAP中,模型驱动的愿景意味着通过定义服务的结构、行为和策略,系统可以自动处理复杂的操作任务。TOSCA的模型化能力允许开发者创建服务的抽象表示,然后由ONAP的各个模块使用这些模型进行编排和自动化。 3. **TOSCA如何工作?** TOSCA使用一种元模型来描述服务的组成元素,如计算、存储和网络资源,以及相关的部署和运行时策略。模型包含了服务组件的类型、属性、操作和关系,使得系统能够理解如何在不同环境下部署和管理这些组件。 4. **TOSCA在ONAP中的应用** 在ONAP架构中,TOSCA用于服务设计和服务编排。例如,服务设计阶段,SDC(服务设计与编排)利用TOSCA模型来创建和验证服务蓝图;在运行时,通过OA&M(运营和管理)、DCAE(数据收集和事件引擎)等组件,实现基于TOSCA模型的服务实例化和自动化运维。 5. **ONAP的版本和TOSCA** 文档提到了ONAP的两个版本:R1(阿姆斯特丹)和R2(北京)。在这些版本中,TOSCA被进一步集成到ONAP的不同模块中,比如Apache ARIA-TOSCA用于实现运行时编排。 6. **ONAP架构** ONAP的架构分为设计时间和运行时两部分,包括了如SDC、VNF SDK、VID(虚拟基础设施设计器)、A&AI(应用和人工智能)、控制器、DCAE、SDN-C、APP-C等多个组件。这些组件共同协作,利用TOSCA模型实现从服务设计、策略创建、分析应用到运维的全生命周期管理。 7. **TOSCA与其他系统的集成** ONAP不仅与OpenStack、Azure、VMware等云基础设施平台集成,还通过NFV-ONFV Collector监控服务,以及通过ESR(外部服务注册)、DMaaP(数据消息应用平台)进行数据交换和API交互,确保整个生态系统的无缝连接和协同。 8. **安全与高可用性** TOSCA模型也考虑了安全性和高可用性,通过模型化的安全规范和多VIM(虚拟基础设施管理器)支持,确保服务的可靠性和安全性。 ONAP利用TOSCA实现了网络服务的标准化模型化,促进了跨厂商的自动化和互操作性,极大地提升了网络服务的设计、部署和管理效率。

Use c # to complete the following code,Creating a Car class A class is a self-contained piece of software that is able to function on it own. We will model a car in software. Car Class Properties Year : int «private set» Manufacturer : string «private set» Model : string «private set» IsDrivable : bool «private set» Price : double «private set» Methods«constructor» Car(year : int, manufacturer : string, model : string, price : double, isDrivable: bool = true) PrintInfo() : void Description of field members: 1. year: this private member represents the year value of this object 2. manufacturer: this private member represents the manufacturer of this car 3. model: this private member represents the model of this car 4. isDrivable: this private member indicates if this car be driven 5. price: this private member represents the selling price of this car Constructor: 1. public Car(int year, string manufacturer, string model, double price, bool isDrivable = true): this is the constructor of this class. It takes five arguments and assigns them to the appropriate fields. You will assume that all the arguments will be sane (i.e. the values will not break your program). Apology: UML and some newer languages specify the type after the identifier. C# on the other hand requires that you specify the type and then the identifier. To restrict access fields are normally decorated with the private modifier. Programming II Car: fields, constructor, ToString() n.k.p Page 2 of 2 Description of action member: 1. public void PrintInfo(): this method does not take any argument but it will print all information about this object. You get to decide how the output will look like. It is expected that all the values be displayed. In your main method write the code to do the following: 1. Create at least four cars and print them. Remember to call the constructor with 4 or 5 parameters.

2023-06-12 上传