华为云Stack南向开放框架,帮助生态伙伴高效入云
摘要:CloudBonder的生态社区通过一系列生态项目,解决提交叉组合、架构分层不清晰、运维界面不清晰等问题,简化对接流程,降低生态伙伴对接成本,缩短对接时间。
本文分享自华为云社区《【华为云Stack】【大架光临】第12期:华为云Stack南向开放框架,帮助生态伙伴高效入云》,作者: 大架光临 。
背景
从外部环境来看,政企客户存在软硬件分层的诉求;且南向开放能力也是竞争要求,能促进市场生态的繁荣。
从自身来看,华为云Stack不依靠单一封闭来参与竞争,而是追求硬件设备的效率最大化。华为云Stack要定义云平台下硬件需满足的功能、性能以及接口规范,是为了形成一个南向规范。通过开源社区来定义南向规范,让所有的硬件厂商都能参与进来,共同制定标准规范。
这个标准规范,包括各厂商实现的能力对接驱动,都是开源的、可以参考的,没有独家秘密可行。
南向规范的总体方案
华为云Stack南向规范的总体要求是,建立一个华为云Stack南向开源社区,通过生态化运作,使华为云Stack和生态伙伴责权清晰,共同制定和建立南向开放标准,构筑全生态差异化竞争力。
生态伙伴来开发自己的驱动包、自检完成后,生成华为云Stack规范包;华为来进行安装部署、并测试通过,和华为云Stack产品一起,安装部署在客户处。也就是说,生态产品本身的部署、扩容、运维和管理员操作,都是生态伙伴自己维护和操作的;华为负责部署华为云Stack系统,并和生态伙伴对接,同时,服务化的操作和运维入口在华为的统一界面。
.png)
南向规范的用户使用流程
南向设备的引入会产生很多复杂的问题,比如引入了海光、飞腾、鲲鹏三种服务器,又引入华为分布式存储和第三方分布式存储两种存储设备,如果设备与业务逻辑不解耦,就需要3*2种交叉组合,导致协同效率低下,影响客户的使用体验。另外,业务逻辑和驱动逻辑解耦不够彻底、设备和系统之间的运维责任界面不清晰等一系列问题也会伴随产生。
为解决这些问题,CloudBonder生态社区通过一系列生态项目来简化对接流程、降低对接成本、缩短对接时间。主要由CloudBonder南向框架、Magpie验证认证体系、Silkworm部署对接模块、Woodpecker监控运维四个子项目组成。
.png)
(1)CloudBonder
CloudBonder的是业务对接的框架,包括API和设备模型抽象,可支持存储、网络、计算数据面等方式的对接。可以对接很多种硬件设备,各厂商只要按照我们的模型和接口,实现自己设备的能力就好。
主要模块有WSGI API框架、统一的API框架、Manager层和Driver层。
• WSGI API框架:提供一个标准的API框架模型,让生态伙伴更多的关注自身的业务逻辑,而不是公共框架模型;
• 统一的API框架:主要负责参数检查等动作,封装API的返回值;
• Manager层:可加载驱动、支持CloudBonder的一些公共逻辑;
• Driver层:实现对接设备的逻辑、实现API定义的能力;不同厂商实现不同的Driver,接口和返回值在API中有规范的定义,而实现的能力是可选和可扩充的。
.png)
(2)Magpie
Magpie是厂商兼容性认证系统,可以规范和验收CloudBonder的能力,主要支持厂商的兼容性认证,其功能包括:
• 功能和性能的本地测试验证:Magpie的Driver测试不需要华为云Stack环境,可减少自身设备环境下的成本。另外,设备测试验证的控制,也都有对应的定义;
• 环境模拟:支持特定的环境模拟,比如DPU和裸机环境的模拟;
• FakeDriver:定义了一些FakeDriver,主要是测试Magpie框架本身
.png)
本地测试验证通过后,可以生成验证结果的报告,直接对比结果来调整。所有测试通过后,还会生成离线和在线的测试报告,证明对接过华为云Stack。
(3)Silkworm架构与技术
生态软件产品(包括驱动)以VM隔离方式部署在华为云Stack上;提供软件包的制作、OS部署升级和补丁推送,运维系统对接,监控告警日志诊断,依赖拓扑关系生成,服务控制启停等能力。
.png)
生态伙伴的软件部署在华为云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侧。
.png)

写在最后
可以看到,CloudBonder的生态社区通过一系列生态项目,解决提交叉组合、架构分层不清晰、运维界面不清晰等问题,简化对接流程,降低生态伙伴对接成本,缩短对接时间。
从而让华为云Stack实现云平台南向设备框架设计分层解耦,生态伙伴设备模型标准化对接。
华为云Stack南向开放框架,帮助生态伙伴高效入云的更多相关文章
- 华为云Stack首席架构师:打造“称手”的数字化工具,答好政企IT数字化转型这道必选题
摘要:数字化转型是一号位工程,数字化的工具本身就是企业的核心竞争力. 本文分享自华为云社区<华为云Stack首席架构师:打造"称手"的数字化工具,答好政企IT数字化转型这道必 ...
- Tapdata 与阿里云 PolarDB 开源数据库社区联合共建开放数据技术生态
近日,阿里云 PolarDB 开源数据库社区宣布将与 Tapdata 联合共建开放数据技术生态.在此之际,一直专注实时数据服务平台的 Tapdata ,也宣布开源其数据源开发框架--PDK(Plu ...
- 阿里云启动视频云V5计划,全面赋能生态合作伙伴
9月25 - 27日,主题为数·智的2019云栖大会在杭州举行.在第三天的智能视频云专场中,阿里云研究员金戈首次对外发布视频云V5计划,释放视频IT基础设施红利,赋能生态合作伙伴,共促大视频产业发展. ...
- Cloud Native Weekly | 华为云抢先发布Redis5.0,红帽宣布收购混合云提供商 NooBaa
1——华为云抢先发布Redis5.0 2——DigitalOcean K8s服务正式上线 3——红帽宣布收购混合云提供商 NooBaa 4——微软发布多项 Azure Kubernetes 服务更新 ...
- phpadmin 装了6666端口只能在IE打开,在阿里云改了 开放端口85好了
phpadmin 装了6666端口只能在IE打开,在阿里云改了 开放端口85好了 非常用端口谷歌浏览器识别不了phpadmin
- 阿里云服务器 端口开放问题 浏览器钟输入ip 访问服务器
在这里先用一堆粗口强烈吐槽阿里云服务器控制台,屎一样的界面,简直非人类的操作.想找一个功能简直无从下手. 场景: 今天刚在阿里云买了个服务器,打算愉快的用五分钟将数据库,apache,安装完毕,然后去 ...
- 微软与阿里云合作推出“开放应用模型(OAM)”
英文原文:Announcing the Open Application Model (OAM) 原文标题:微软与阿里云合作推出“开放应用模型(OAM)” 用于 Kubernetes 及更多平台的应用 ...
- 开放应用模型操作指南(一)| 云服务一键接入 OAM 体系
作者 | 邓洪超 阿里云容器平台软件工程师 导读:Open Application Model(OAM)是阿里云联合微软等国际顶级技术团队联合发布的开放应用模型技术.旨在通过全新的应用定义.运维.分 ...
- dio框架访问云函数参数传递问题(以腾讯云中的云函数为例子)第一部
dd云函数其实比较普及,这里以腾讯云的云函数为例,传递参数完成简单的账号注册. 一.第一步先注册腾讯云账号,这里不过多阐述,接着点击 控制台 进入开发者界面.(注意提前进行实名认证) 二.开发者界面如 ...
随机推荐
- Oauth的学习以及开发自助上课签到脚本
附上源码: https://github.com/taka250/auto_checkin_skl_hdu 首先了解学习oauth的知识 ...
- vue - git
今天差不多从中午开始下午一点才开始学的,把git学了一大半了,还好任务不是很多,但是我上午用的时间挺值的,因为我去搞了个cnblogs的背景主题,就是你们现在所看到的这套,这个没搞明白有一通研究的,只 ...
- Docker系列教程04-Docker构建镜像的三种方式
简介 创建镜像的方法主要有三种:基于已有镜像的容器创建.基于本地模板导入.基于Dockerfile创建. 今天就逐一讲述为大家讲述,如何构建属于自己的docker镜像. 1.基于容器构建镜像 基于已有 ...
- 测试覆盖率 之 Cobertura的使用
什么是代码覆盖率? 代码覆盖率是对整个测试过程中被执行的代码的衡量,它能测量源代码中的哪些语句在测试中被执行,哪些语句尚未被执行. 为什么要测量代码覆盖率? 众所周知,测试可以提高软件版本的质量和可预 ...
- 从 rails 窥探 web 全栈开发(零)
从 rails 窥探 web 全栈开发(零) 本文将讲述在学习之前几个必须要知道的概念,这些词汇在 rails 中都会出现. 本文前置条件:安装好 Ruby. 从 rails 窥探 web 全栈开发( ...
- Nacos源码系列—订阅机制的前因后果(下)
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 事件发布 在上一节中我们讲解了在Noti ...
- 用python实现自动化登录禅道系统 设置定时器自动执行脚本
由于各种原因,我想试下用python实现自动登录禅道系统,并且每天定时执行.(本人第一次接触自动化,在大佬眼中门槛都没摸到的类型) 首先缕清思路: 1.实现自动登录禅道系统,用selenium实现2. ...
- Calico网络插件
以下大部分是本人参考各种资料{官方文档.书籍}对知识的汇总和整理,其中有理解错误的地方请大神留言和指正,嘿嘿~~ 1.概述 参考文档:https://projectcalico.docs.tigera ...
- Java中如何快捷的创建不可变集合
在Java 9中又新增了一些API来帮助便捷的创建不可变集合,以减少代码复杂度. 本期配套视频:Java 9 新特性:快速定义不可变集合 常规写法 以往我们创建一些不可变集合的时候,通常是这样写的: ...
- 关于我学git这档子事(3)
对于如下报错: hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpa ...