华为云 Stack 南向开放框架,帮助生态伙伴高效入云
本文分享自华为云社区《【华为云Stack】【大架光临】第12期:华为云Stack南向开放框架,帮助生态伙伴高效入云》,作者: 大架光临 。
背景
从外部环境来看,政企客户存在软硬件分层的诉求;且南向开放能力也是竞争要求,能促进市场生态的繁荣。
从自身来看,华为云 Stack 不依靠单一封闭来参与竞争,而是追求硬件设备的效率最大化。华为云 Stack 要定义云平台下硬件需满足的功能、性能以及接口规范,是为了形成一个南向规范。通过开源社区来定义南向规范,让所有的硬件厂商都能参与进来,共同制定标准规范。
这个标准规范,包括各厂商实现的能力对接驱动,都是开源的、可以参考的,没有独家秘密可行。
南向规范的总体方案
华为云 Stack 南向规范的总体要求是,建立一个华为云 Stack 南向开源社区,通过生态化运作,使华为云 Stack 和生态伙伴责权清晰,共同制定和建立南向开放标准,构筑全生态差异化竞争力。
生态伙伴来开发自己的驱动包、自检完成后,生成华为云 Stack 规范包;华为来进行安装部署、并测试通过,和华为云 Stack 产品一起,安装部署在客户处。也就是说,生态产品本身的部署、扩容、运维和管理员操作,都是生态伙伴自己维护和操作的;华为负责部署华为云 Stack 系统,并和生态伙伴对接,同时,服务化的操作和运维入口在华为的统一界面。
南向规范的用户使用流程
南向设备的引入会产生很多复杂的问题,比如引入了海光、飞腾、鲲鹏三种服务器,又引入华为分布式存储和第三方分布式存储两种存储设备,如果设备与业务逻辑不解耦,就需要 3*2 种交叉组合,导致协同效率低下,影响客户的使用体验。另外,业务逻辑和驱动逻辑解耦不够彻底、设备和系统之间的运维责任界面不清晰等一系列问题也会伴随产生。
为解决这些问题,CloudBonder 生态社区通过一系列生态项目来简化对接流程、降低对接成本、缩短对接时间。主要由 CloudBonder 南向框架、Magpie 验证认证体系、Silkworm 部署对接模块、Woodpecker 监控运维四个子项目组成。
(1)CloudBonder
CloudBonder 的是业务对接的框架,包括 API 和设备模型抽象,可支持存储、网络、计算数据面等方式的对接。可以对接很多种硬件设备,各厂商只要按照我们的模型和接口,实现自己设备的能力就好。
主要模块有 WSGI API 框架、统一的 API 框架、Manager 层和 Driver 层。
• WSGI API 框架:提供一个标准的 API 框架模型,让生态伙伴更多的关注自身的业务逻辑,而不是公共框架模型;
• 统一的 API 框架:主要负责参数检查等动作,封装 API 的返回值;
• Manager 层:可加载驱动、支持 CloudBonder 的一些公共逻辑;
• Driver 层:实现对接设备的逻辑、实现 API 定义的能力;不同厂商实现不同的 Driver,接口和返回值在 API 中有规范的定义,而实现的能力是可选和可扩充的。
(2)Magpie
Magpie 是厂商兼容性认证系统,可以规范和验收 CloudBonder 的能力,主要支持厂商的兼容性认证,其功能包括:
• 功能和性能的本地测试验证:Magpie 的 Driver 测试不需要华为云 Stack 环境,可减少自身设备环境下的成本。另外,设备测试验证的控制,也都有对应的定义;
• 环境模拟:支持特定的环境模拟,比如 DPU 和裸机环境的模拟;
• FakeDriver:定义了一些 FakeDriver,主要是测试 Magpie 框架本身
本地测试验证通过后,可以生成验证结果的报告,直接对比结果来调整。所有测试通过后,还会生成离线和在线的测试报告,证明对接过华为云 Stack。
(3)Silkworm 架构与技术
生态软件产品(包括驱动)以 VM 隔离方式部署在华为云 Stack 上;提供软件包的制作、OS 部署升级和补丁推送,运维系统对接,监控告警日志诊断,依赖拓扑关系生成,服务控制启停等能力。
生态伙伴的软件部署在华为云 Stack 的系统中,目前有三个原则需要遵守:
一是:生态伙伴提供 CloudBonder 发行件采用 VM 部署。
如果部署在 HostOS 上,HostOS 的升级会导致“非必要”的生态伙伴配套,影响现网局点和新部署局点。而 HostOS 的升级是由华为云 Stack 的业务规划的,相互之间最好不要影响。
二是:为考虑 OS 的维护能力,GuestOS 采用商用 OS,另外至少支持一款非涉 A OS。
GuestOS 目前由生态伙伴来提供;且必须在华为的兼容性范围内(可通过https://doc.华为云Stack.huawei.com/solution-cqs-gw/#/cqs 来查询);同时要满足用户的安全要求;由于安全或者其他问题,给用户带来损失,由生态伙伴负责赔付;建议提供商用 OS,而不是生态伙伴自己维护的 OS。
三是:安装包的规范,按照 DMK 的要求来。
DMK 是华为云 Stack 安装部署规范,是华为云 Stack IaaS 层提供的自动化部署工具,基于 Ansible 开发,部署脚本由接入方提供,同时需要按照 DMK 约束提供合规的 zip 包。DMK 包支持安装,部署,升级,并支持界面化操作。
(4)Woodpecker 架构和技术
Woodpecker 是一套工具链,包含合作厂商运维数据接入 ManageOne OC 的开发框架和调测工具,目前支持的开发语言为 Java。支持接入的数据范围包括:资源、监控(性能)、告警;合作厂商通过基于 Woodpecker 开发驱动,完成数据接入 ManageOne OC 侧。
写在最后
可以看到,CloudBonder 的生态社区通过一系列生态项目,解决提交叉组合、架构分层不清晰、运维界面不清晰等问题,简化对接流程,降低生态伙伴对接成本,缩短对接时间。
从而让华为云 Stack 实现云平台南向设备框架设计分层解耦,生态伙伴设备模型标准化对接。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/a07c81d817970b4bb61c1a351】。文章转载请联系作者。
评论