華為云計(jì)算 云知識(shí) 華為云Stack南向開放框架,幫助生態(tài)伙伴高效入云
華為云Stack南向開放框架,幫助生態(tài)伙伴高效入云

華為云Stack通過建立南向開源社區(qū),基于生態(tài)化運(yùn)作,使華為云Stack和生態(tài)伙伴責(zé)權(quán)清晰,共同制定和建立南向開放標(biāo)準(zhǔn),構(gòu)筑全生態(tài)差異化競(jìng)爭(zhēng)力。

背景

從外部環(huán)境來看,政企客戶存在軟硬件分層的訴求;且南向開放能力也是競(jìng)爭(zhēng)要求,能促進(jìn)市場(chǎng)生態(tài)的繁榮。

從自身來看,華為云Stack不依靠單一封閉來參與競(jìng)爭(zhēng),而是追求硬件設(shè)備的效率最大化。華為云Stack要定義云平臺(tái)下硬件需滿足的功能、性能以及接口規(guī)范,是為了形成一個(gè)南向規(guī)范。通過開源社區(qū)來定義南向規(guī)范,讓硬件廠商都能參與進(jìn)來,共同制定標(biāo)準(zhǔn)規(guī)范。

這個(gè)標(biāo)準(zhǔn)規(guī)范,包括各廠商實(shí)現(xiàn)的能力對(duì)接驅(qū)動(dòng),都是開源的、可以參考的。

南向規(guī)范的總體方案

華為云Stack南向規(guī)范的總體要求是,建立一個(gè)華為云Stack南向開源社區(qū),通過生態(tài)化運(yùn)作,使華為云Stack和生態(tài)伙伴責(zé)權(quán)清晰,共同制定和建立南向開放標(biāo)準(zhǔn),構(gòu)筑全生態(tài)差異化競(jìng)爭(zhēng)力。

生態(tài)伙伴來開發(fā)自己的驅(qū)動(dòng)包、自檢完成后,生成華為云Stack規(guī)范包;華為來進(jìn)行安裝部署、并測(cè)試通過,和華為云Stack產(chǎn)品一起,安裝部署在客戶處。也就是說,生態(tài)產(chǎn)品本身的部署、擴(kuò)容、運(yùn)維和管理員操作,都是生態(tài)伙伴自己維護(hù)和操作的;華為負(fù)責(zé)部署華為云Stack系統(tǒng),并和生態(tài)伙伴對(duì)接,同時(shí),服務(wù)化的操作和運(yùn)維入口在華為的統(tǒng)一界面。(注:當(dāng)前為定向開源,面向部分合作伙伴)

南向規(guī)范的用戶使用流程

    南向設(shè)備的引入會(huì)產(chǎn)生很多復(fù)雜的問題,比如引入了海光、飛騰、鯤鵬三種服務(wù)器,又引入華為分布式存儲(chǔ)和第三方分布式存儲(chǔ)兩種存儲(chǔ)設(shè)備,如果設(shè)備與業(yè)務(wù)邏輯不解耦,就需要3*2種交叉組合,導(dǎo)致協(xié)同效率低下,影響客戶的使用體驗(yàn)。另外,業(yè)務(wù)邏輯和驅(qū)動(dòng)邏輯解耦不夠徹底、設(shè)備和系統(tǒng)之間的運(yùn)維責(zé)任界面不清晰等一系列問題也會(huì)伴隨產(chǎn)生。

為解決這些問題,CloudBonder生態(tài)社區(qū)通過一系列生態(tài)項(xiàng)目來簡(jiǎn)化對(duì)接流程、降低對(duì)接成本、縮短對(duì)接時(shí)間。主要由CloudBonder南向框架、Magpie驗(yàn)證認(rèn)證體系、Silkworm部署對(duì)接模塊、Woodpecker監(jiān)控運(yùn)維四個(gè)子項(xiàng)目組成。

1)CloudBonder

CloudBonder的是業(yè)務(wù)對(duì)接的框架,包括API和設(shè)備模型抽象,可支持存儲(chǔ)、網(wǎng)絡(luò)、計(jì)算數(shù)據(jù)面等方式的對(duì)接??梢詫?duì)接很多種硬件設(shè)備,各廠商只要按照我們的模型和接口,實(shí)現(xiàn)自己設(shè)備的能力就好。

主要模塊有WSGI API框架、統(tǒng)一的API框架、Manager層和Driver層。

WSGI API框架:提供一個(gè)標(biāo)準(zhǔn)的API框架模型,讓生態(tài)伙伴更多的關(guān)注自身的業(yè)務(wù)邏輯,而不是公共框架模型;

統(tǒng)一的API框架:主要負(fù)責(zé)參數(shù)檢查等動(dòng)作,封裝API的返回值;

Manager:可加載驅(qū)動(dòng)、支持CloudBonder的一些公共邏輯;

Driver:實(shí)現(xiàn)對(duì)接設(shè)備的邏輯、實(shí)現(xiàn)API定義的能力;不同廠商實(shí)現(xiàn)不同的Driver,接口和返回值在API中有規(guī)范的定義,而實(shí)現(xiàn)的能力是可選和可擴(kuò)充的。

2Magpie

Magpie是廠商兼容性認(rèn)證系統(tǒng),可以規(guī)范和驗(yàn)收CloudBonder的能力,主要支持廠商的兼容性認(rèn)證,其功能包括:

功能和性能的本地測(cè)試驗(yàn)證:Magpie的Driver測(cè)試不需要華為云Stack環(huán)境,可減少自身設(shè)備環(huán)境下的成本。另外,設(shè)備測(cè)試驗(yàn)證的控制,也都有對(duì)應(yīng)的定義;

環(huán)境模擬:支持特定的環(huán)境模擬,比如DPU和裸機(jī)環(huán)境的模擬;

FakeDriver:定義了一些FakeDriver,主要是測(cè)試Magpie框架本身

本地測(cè)試驗(yàn)證通過后,可以生成驗(yàn)證結(jié)果的報(bào)告,直接對(duì)比結(jié)果來調(diào)整。所有測(cè)試通過后,還會(huì)生成離線和在線的測(cè)試報(bào)告,證明對(duì)接過華為云Stack。

3Silkworm架構(gòu)與技術(shù)

生態(tài)軟件產(chǎn)品(包括驅(qū)動(dòng))以VM隔離方式部署在華為云Stack上;提供軟件包的制作、OS部署升級(jí)和補(bǔ)丁推送,運(yùn)維系統(tǒng)對(duì)接,監(jiān)控告警日志診斷,依賴拓?fù)潢P(guān)系生成,服務(wù)控制啟停等能力。

生態(tài)伙伴的軟件部署在華為云Stack的系統(tǒng)中,目前有三個(gè)原則需要遵守:

一是:生態(tài)伙伴提供CloudBonder發(fā)行件采用VM部署。

如果部署在HostOS上,HostOS的升級(jí)會(huì)導(dǎo)致“非必要”的生態(tài)伙伴配套,影響現(xiàn)網(wǎng)局點(diǎn)和新部署局點(diǎn)。而HostOS的升級(jí)是由華為云Stack的業(yè)務(wù)規(guī)劃的,相互之間最好不要影響。

二是:為考慮OS的維護(hù)能力,GuestOS采用商用OS,另外至少支持一款非涉A OS。

GuestOS目前由生態(tài)伙伴來提供;且必須在華為的兼容性范圍內(nèi);同時(shí)要滿足用戶的安全要求;由于安全或者其他問題,給用戶帶來損失,由生態(tài)伙伴負(fù)責(zé)賠付;建議提供商用OS,而不是生態(tài)伙伴自己維護(hù)的OS。

三是:安裝包的規(guī)范,按照DMK的要求來。

DMK是華為云Stack安裝部署規(guī)范,是華為云Stack IaaS層提供的 自動(dòng)化 部署工具,基于Ansible開發(fā),部署腳本由接入方提供,同時(shí)需要按照DMK約束提供合規(guī)的zip包。DMK包支持安裝,部署,升級(jí),并支持界面化操作。

4Woodpecker架構(gòu)和技術(shù)

Woodpecker是一套工具鏈,包含合作廠商運(yùn)維數(shù)據(jù)接入ManageOne OC的開發(fā)框架和調(diào)測(cè)工具,目前支持的開發(fā)語言為Java。支持接入的數(shù)據(jù)范圍包括:資源、監(jiān)控(性能)、告警;合作廠商通過基于Woodpecker開發(fā)驅(qū)動(dòng),完成數(shù)據(jù)接入ManageOne OC側(cè)。

操作類型

功能點(diǎn)

說明

注冊(cè)類型

驅(qū)動(dòng)注冊(cè)

通過REST接口調(diào)用,只執(zhí)行一次。注冊(cè)的信息中包括了驅(qū)動(dòng)的名稱、URL前綴、驅(qū)動(dòng)能夠提供的接口以及SNMP協(xié)議包括的認(rèn)證信息(告警通過SNMP上報(bào))

連通性檢測(cè)

ManageOne定時(shí)調(diào)用此接口檢測(cè)驅(qū)動(dòng)狀態(tài)(REST接口)

資源采集

注冊(cè)資源模型

ManageOne本身已經(jīng)包括許多資源模型,如果需要新增數(shù)據(jù)模型,可調(diào)用REST接口注冊(cè)

采集任務(wù)

驅(qū)動(dòng)提供接口給ManageOne調(diào)用,ManageOne下發(fā)資源采集任務(wù),參數(shù)中包括任務(wù)ID

按任務(wù)上報(bào)資源

驅(qū)動(dòng)按照任務(wù)ID主動(dòng)調(diào)用ManageOne的資源上報(bào)接口上報(bào)數(shù)據(jù)

性能采集

注冊(cè)性能模型

驅(qū)動(dòng)按照規(guī)范注冊(cè)需要上報(bào)的性能模型、指標(biāo)組和具體的指標(biāo)

定時(shí)上報(bào)性能

性能模型注冊(cè)成功后,ManageOne會(huì)定時(shí)進(jìn)行性能采集任務(wù)調(diào)度,大約30min執(zhí)行一次,新注冊(cè)的性能采集任務(wù)被成功調(diào)度后,驅(qū)動(dòng)上報(bào)的性能數(shù)據(jù)才會(huì)被ManageOne處理入庫

告警采集

心跳檢測(cè)

ManageOne定時(shí)調(diào)用此接口檢測(cè)驅(qū)動(dòng)狀態(tài)(SNMP接口)

告警操作

接收ManageOne對(duì)告警的操作,如告警同步、告警確認(rèn)、告警清除等,可再調(diào)用底層第三方系統(tǒng)做對(duì)應(yīng)的告警操作

告警靜態(tài)上報(bào)

上報(bào)告警靜態(tài)信息給ManageOne,即告警字典,后續(xù)上報(bào)的告警只需要包括告警ID即可

告警數(shù)據(jù)上報(bào)

1、接收到告警同步任務(wù)后,根據(jù)任務(wù)的條件上報(bào)告警;2、底層第三方系統(tǒng)有新的告警時(shí)主動(dòng)實(shí)時(shí)上報(bào)

 

可以看到,CloudBonder的生態(tài)社區(qū)通過一系列生態(tài)項(xiàng)目,解決提交叉組合、架構(gòu)分層不清晰、運(yùn)維界面不清晰等問題,簡(jiǎn)化對(duì)接流程,降低生態(tài)伙伴對(duì)接成本,縮短對(duì)接時(shí)間。

從而讓華為云Stack實(shí)現(xiàn)云平臺(tái)南向設(shè)備框架設(shè)計(jì)分層解耦,生態(tài)伙伴設(shè)備模型標(biāo)準(zhǔn)化對(duì)接。


 
華為云Stack
華為云Stack是部署在政企客戶本地?cái)?shù)據(jù)中心的云基礎(chǔ)設(shè)施,通過持續(xù)創(chuàng)新,打造安全、可靠、高效的混合云,以用戶視角一朵云的能力,助力客戶從業(yè)務(wù)上云邁向深度用云,釋放數(shù)字生產(chǎn)力。