趙純利:CloudOpera IES總體架構以及北向開放能力
夏日炎炎,HDG華為開發者匯線下沙龍的第四站在杭州一家靜謐的咖啡館舉行。來自華為SPO運營部的系統設計專家趙純利的演講時間并不長,但是內容卻非常豐富。他表示,CloudOpera IES產品是華為針對運營商打造的ICT運營系統,CloudOpera生態圈也是今年第一次啟動運作。在杭州站,面向開發者介紹的內容十分全面,涵蓋了CloudOpera IES的概念、價值、產品設計架構、應用場景、北向開放能力,他希望開發者對CloudOpera IES產品能力有一個全面了解。
現場實錄如下:
大家上午好,我首先自我介紹一下,我叫趙純利,來自華為公司SPO業務運營部,目前也在做CloudOpera IES產品的設計工作。
我們今天介紹的這個產品叫CloudOpera IES,CloudOpera是我們產品解決方案商標的一個名字,叫CloudOpera。IES是我們系統的名字,IES叫做基礎設施操作系統,這個IES的產品是我們華為公司最近兩年給運營商構建的電信的操作系統。之所以叫它操作系統,我們希望通過操作系統的模式,能夠讓電信的基礎設施的資產,包括它CT的網絡,以及IT的資產,能夠統一的協同和編排,統一的使用進來。同時通過IES系統的平臺,把電信運營商的IECT的基礎設施的能力,以API的方式提供給行業開發者,我們基于這些API能夠構建更多的開放能力的APP的應用。
我們來看一下今天交流的幾個主題,首先我們花點時間講一下IES系統的架構,為什么我們來設計這個系統,以及它未來在電信網絡里面處在一個什么樣的位置。這樣一個系統對于開發者來說是它開放了哪些能力能夠給我們使用,基于這樣的能力我們能做什么事情。后面的兩個議題會分別來介紹一下目前我們實驗室的環境,我們知道這樣一個系統對于開發者來說要搭建這樣一個系統代價是非常大的,所以我們在實驗室為大家準備了實驗室的環境,大家可以基于遠程實驗室的環境做我們的開發驗證。后面會介紹一下如何基于北向的IES做一些APP的應用開發,里面結合了具體的例子,看一些具體的步驟。
我們開始第一個議題,我們知道過去的幾十年里面電信運營商每年都投資了大量的資產用于構建電信的基礎網絡,我們對這些基礎網絡大概做一下歸類,它主要包含了幾類的資產。首先有一個面向全國構建全國互聯省際和城際的互連網絡,包括城市接入的MS網絡。在這個網絡里面用到的一些主要設備,包括了IP的路由器,包括交換機,也包括光傳輸的設備。另外就是基于這個骨干網絡之上,它的一個無線和有線的接入網絡。包括大家現在手里面拿到的手機,所用到的3G和4G的網絡,以及從企業的辦公地點,包括企業的園區,到運營商的城際接入網,這一段的專線網絡。除了這些網絡的資產之外,其實運營商還投資了大量的資金,用于建設運營商的IT的資產,用于建設它的數據中心,但是這一塊它目前還沒有完全開放出來,主要還是自由的IT的系統在用。
我們說這樣一個電信基礎設施龐大的網絡,電信的運營商每年投入了大量的成本在這個上面,但是實際上它目前面臨著一些問題。首先我們在使用這張網絡的時候,它的業務開通的速度,我們說現在企業如果在這張網絡上開通一個專線業務,通常需要三天,甚至七天的時間。另外這張龐大的網絡它的維護基本上是分地域、團隊,按專業分,并沒有一個統一的系統,能夠把整張網統一的管起來,進行自動化的運維。所以在維護上也面臨著一些問題。由此而帶來的是它的開放性,因為它沒有這樣一個系統,導致它的這些網絡的,雖然有很多基礎設施的資產,但是它沒有辦法把這種能力使用起來,以API的方式,以開放API的方式把它提供給我們的行業開發者。所以正因為有這些問題,在面臨互聯網實時的在線的消費,這種體驗的時候它就面臨著很大的壓力。所以這也是為什么我們提出CloudOpera IES這個產品的初衷。
我們希望通過這樣一個操作系統,能夠幫助運營商把它的基礎設施的資產,把它CT的資產,IT的資產,統一的管理起來,進行統一的使用。對于我們開發者來說,提供統一的開放的API,我們可以在這個API的平臺之上,開發更多的行業的應用,行業的APP。我們也希望借助這個產品,能夠把大家,把運營商,包括華為的專家,包括開發者,匯集在一起,大家一起基于這個產品來構建一個生態的系統,就像我們基于安卓或者基于windows操作系統所構建出來的一個生態一樣。
基于這樣一個系統,有一些關鍵的部件來滿足上面的訴求。首先需要有一個統一的接入能力,能夠把運營商各種網絡資產,以及它未來的SDN、NFV的資產,包括它IT的資產,能夠統一納入到這個系統里面,統一管理。另外在這個上面有Orchestration的部件,其實它就是協同和編排。協同和編排大家怎么去理解呢,上面講到我們開通一個專線,企業專線需要三天甚至七天的時間,原因就在于一條專線很可能是跨了不同的地市,跨了不同的網絡,在開通的時候沒有一個系統,它需要配置。我們希望它在這個系統上面,通過這種操作進行統一的協同,我只需要在這個上面,由這個系統可以直接的操作下面的設備,和這些設備完成交互。
這個是保障的部件,這個部件做什么用呢?它用來監控網絡的運行狀態,網絡有沒有出故障,故障點在哪兒,如何有效的在下次資源協同的時候規避這種故障,是用來做這個作用。在這個之上就是我們openAPI的開放,我們基于這些基礎設施的能力,通過API的方式把它提供給我們的開發者。
我們再來看一下這樣一個系統在未來的運營商網絡中的位置,現在運營商的網絡也在不停的發生變化,運營商的網絡本身也在通過這種SDN、NFV的技術來改造傳統的電信網絡。所以未來電信的網絡不會是純粹的物理網絡,它通過SDN和NFV的技術,會把一些現在設備商運行的軟件化的東西,包括電信的服務,以軟件的方式,來它未來部署到各種節點的IT的數據中心里面去,通過這種方式來提升網絡的靈活性。IES的系統未來在整張網絡里面的樞紐的位置,我們可以看到它未來所有的,它是未來我們所有運營商的團隊,包括我們的開發者,包括行業的用戶,去使用下面的基礎而是資產的橋梁。所以這樣一個系統未來的位置非常重要。
這個是它的系統架構,這個架構非常復雜,我們不打開來看,但是我們記住幾個關鍵的要素,幾個關鍵的點就可以了。首先這個系統要能夠把我們所有的基礎設施統一的進行協同編排,如果還是像以前那種運營商各自的網絡,各自的運維團隊去運維,是不可能拉通的,對于資產的使用效率也不可能提升。另外一個是如何把這些資產統一的接入到這個系統里面來,我們知道其實運營商的資產,下面的基礎設施資產不可能由某一個設備廠商完全提供,它不同類型的網絡,不同類型的資產,都是由各自的設備廠商來提供的。如何把這些設備的資產都能夠以一種無差別的方式接到我們的系統里面來,進行統一的使用和編排,這是面臨的一個問題。這個第二個議題會詳細的展開講,我們是如何做到這一點的,怎么快速的修復,有沒有一些自動化的手段來完成這一事情。這塊我們剛才也提到了,面向運營商的,面向傳統的OSS、DSS的集成對接,面向第三方開發者的開發,我們希望大家在這個位置能夠開發出更多的APP,滿足不同行業的要求,使得我們在電信資產的使用上,能像我們使用互聯網的資源一樣,這么快速,這么方便。
我們說這樣一個IES的系統實際是一個全服務化的架構設計,所以它所有的能力都是以服務的方式對外呈現。我們先來看一下Orchestrator ,就是協同的這部分,它的能力。它是一個開放系統,首先這塊安全的接入非常重要,因為它要避免非法的潛入,非法的用戶的訪問,所以要有安全的接入。HA這塊包含了我們本地和異地的備份,我們剛才也看到了IES系統處于運營商網絡的關鍵位置,未來它是運營商的關鍵的運營資產,這個資產如果是沒有很好的可靠性的保障機制,一旦出了問題,對運營商的影響是非常大的。
工程能力,我們這個系統是和公有云,和亞馬遜的云,和阿里云的關鍵的區別,因為像亞馬遜或者阿里他們維護公有云的系統,一直在這個系統上面構建能力。但是對于我們IES系統來說,未來是要不放在運營商那兒,可能每個運營商都需要有這樣一套系統。這樣在工程的復制能力上對它來說是非常有特性的。我剛才提到統一的業務生命周期管理,包括業務的地域,就保證了我們能夠快速的開發新的業務,以及快速的把運營商的基礎設施的盈利,提供新的API。
多廠商的接入這個部件,其實就是用來解決這種異構系統,比如說我們底下的這種設備,接入的設備有不同的設備廠商來提供,有不同的特性,怎么把這些不同廠商的設備,不同的硬件的備件能夠快速的接到我們IES系統里面來,這就是這個架構,這個服務所完成的工作。它實際上允許我們基礎設施的提供商,能夠以自定義的方式,就是自己開發驅動插件,接到這個系統里面去。就像我們在windows開發驅動一樣。
這個統一的資源管理和統一portal,是我們給運營商提供的一個運維的界面,就像操作系統里面,我們進到操作系統里面有資源的管理,有保障的管理,有驅動的管理,我們可以通過portal完成這個工作。這個是我們在Orchestrator上面提供的服務。
這塊是保障,Assurance,這個保障我剛才講了,主要就是監控運營資產,就是電信基礎設施資產它的運營情況,主要包含了報警啊,性能的指標是否正常,包括一些數據中心里面的資產以及使用,它的流量的管理,包括資源的健康性,來完成這些監控。一旦這種出了問題,它如何快速的修復。SDN也有保障,主要保障這些管道,包括Cloudvpn的健康監控,SDN的網絡質量分析,以及它的流量預測,提供這些能力。這個服務化的服務目前可以看到已經有很多了,但是在這個服務化的架構下面,我們未來還會有越來越多的服務開放出來,對我們行業也會體現出越來越多的基礎設施的API的能力。
我們上面講了IES的一些架構,包括它的一些服務能力,我們下面來看一下它實際的案例。這個是我們的一個應用案例,這個案例講的什么呢?因為我們很多時候流量是有突發性的,比如說開辦一個體育賽事,或者現在巴西開奧運會,在短時間內,一定周期內在某一個點的流量是有很大突發的,如果是按照傳統的方式,比如說就需要提前在這個節點購置新的物理的設備,然后提前很長的周期把它庫存下去,然后進行調測。它借助NFV的手段,虛擬化的手段,通過軟件的方式實現動態的部署,根據需要的時候在流量突發的時候,又把新的電信的運營軟件布存在數據中心里面。在賽事完了之后,就可以把部署的資產,不需要在這么大的里面,就可以把電信服務去掉。但是底下的數據中心虛擬化的運行的硬件平臺是通用的,那一部分硬件資產可以被其他的應用。這樣一個是它播放的時間、周期大量的縮短,另外一個它對于硬件資產的使用率會大幅的提升。
這個例子是我們在上海聯通的一個解決方案,上海聯通現在在做一個什么事情呢,我們知道上海聯通有它自己的運營資產,有自己的網絡,現在在IES的平臺之上構建了一個園區服務的平臺,通過這個服務的平臺來打通聯通的數據中心到企業的園區這樣一個管道,以及數據中心里面的資產。對于企業來說,他只需要在這個平臺上,根據自己的要求來申請帶寬,申請他的存儲,他的虛機的資產,就可以實現企業的,可以說你只需要準備你業務的東西,拎包入住就可以了,不需要重新購置IT的資產,搭建自己IT的網絡。所以這種對于企業來說,它的成本,IT的構建成本,以及構建企業的效率上面會有很大的提升。
我們上面講的是CloudOpera IES的系統架構,這個架構主要是為了助大家更好的理解北向的開放能力,上面對于架構的部分大家可以記住幾個關鍵的點,首先它的定位在未來的電信網絡里面是處在運營商運營樞紐的位置,會把運營商所有的電信的基礎設施資產、IT的基礎設施資產統一的協同起來,并且以API的方式把這種能力開放給開發者。我們下面再看一下它開放了哪些能力。
這樣一個開放系統它的開放性體現在兩個方面,一個是南向的開放,南向的開放就是我們把運營商的各種基礎設施資產,不同廠商的設備,不同廠商的業務特性,能夠接到我們IES系統里面來,這是IES系統往上面提供服務的一個基礎。另外一個開放性就是在北向上面,我們會基于這些基礎設施的能力,編排出我們開發者、我們行業需要的API的能力,在這一層上我們都是以rest的API的方式提供給大家使用。在這個上面面向的是個人啊,家庭啊,以及企業啊,包括行業啊,都可以進行API去做創新。
我們看一下它目前開放的能力,目前開放的能力包含了兩個層面,一個是原子化的能力,一個是場景化的能力。這兩個區別在哪兒呢?首先就是原子化的能力,其實是更貼近基礎設施的能力,它提供了云的服務。我們說IES是一個基礎設施,未來會整合云的,包括CT的服務,所以包括這種公有云,像VDC,DC的連接,以及虛擬化的VService服務,包括像防火墻啊,DHCP的一些服務。這個智慧監控就是提供給我們系統自運維、自監控的能力。這個里面除了這些以外,還有一些管道的能力,像傳統的SDN的管道,傳統的光傳輸的管道。這個operation的API是我們開放給運維的,因為要保證這張網絡的正常運行,運維是很重要的方面,借助這個API可以更好的運維整張網絡。上面場景化的API是在原子的API基礎之上我們進行了編排,編排之后對于大家的使用會更(22:27),一站式啊,帶寬調整啊,三屏VPN的硬管道,還有很多新的特性,一些防DOS的攻擊配置。在這個位置可以通過Service線的方式編排在云化的管道里面,提供這個服務。還有一些在管道之上提供一些安全設備的傳輸,因為像金融、銀行類的服務對于安全性的要求是很高的。
這個是視頻會議,視頻會議有一個特點,就是對于帶寬、時延,要求高帶寬、低時延的質量,這樣的話都可以通過這種CloudVPN的專線,針對不同的要求,滿足不同場景的使用。而且通過這些API,不像我們原來這種,直接向運營商申請,在運營商內部需要走一個人和人溝通協調的流程。可以直接基于這個系統,完成自動化的構建,所以可以實現類似互聯網實時按需的體驗。
這個就是云網一站式的協同,這個例子就是剛才我們講到上海聯通的時候,它就是這個產品。運營商把自己的數據中心,以及它的管道都開放出來,通過一個智慧園區的平臺都開放出來,開放給中小企業。中小企業可以在這個平臺上根據自己的要求,實時的申請這種帶寬,申請云里面的資源。
視頻分發加速這個地方大家怎么去理解呢?我們都有經驗,以前看視頻的時候,其實很好在線的看視頻,至少在十年前我們很少在線看。有兩個原因,一個是經常卡頓,看著看著就斷了,要么就停在那兒了,要么突然花屏了。為什么會有這個原因呢?關鍵的原因有兩個,第一個原因是網絡帶寬不夠大,當大家都看這個視頻的時候,所有的內容都從這個視頻源服務上面過來,到最終的開發者,這個地方會把帶寬瞬間撐大,會導致它的帶寬的擁堵。另外一個原因,本身視頻的位置一般放的是比較高的,比如我們在杭州看一個視頻,這個視頻源的位置了可能在北京,如果大家都走這兒請求,傳輸的線路是非常長的,它的時延保障不了。針對這種情況,IES做了一個事情,一個它會通過(26:18)的保障系統實時的監控鏈路上的帶寬,一旦發現某些帶寬的配置被撐大,會根據一些配置的策略,來實時的調整,把這個帶寬調整到和流量,和這個視頻所需要的流量相適應,這是一種。另外一種它可以通過VCDN的動態部署,在末端的用戶看視頻之前,提前把這個視頻源的內容下載到本地,這樣我們本地的用戶再看這個視頻的時候,直接拉取的是本地視頻的資源,這樣保障了時延。
這個叫智能的WAN分流,這個怎么理解呢?我們知道從企業的分支,它實際上發出的流量,它的訪問對于互聯網,對于寬帶的訪問訴求有很多。而且對于一個企業來說,經常為了保障網絡的可靠性,很多時候是租用不同運營商的寬帶。它的訪問訴求也不同,有訪問internet的,有訪問公有云的,以及訪問企業數據中心的。以及企業內部的應用里面也分很多種,有視頻的,有辦公的。針對這些應用的流量,以及怎么樣合理的調度到這個帶寬上面去,合理的WAN網絡資源上面去,使得這個流量和帶寬達到最優的配比。
自監控的API實際上是提供給租戶和運營商運維的,我們前面講這么多的服務,它實際上都是在做資源發放的配置。這些資源發放到基礎設施的設備上面之后,它的運行狀態是怎么樣的,運行是不是正常,在哪個節點有沒有出問題,這些是需要監控的,一旦出了問題,要采取一些自動的,或者是人工的修復手段。所以自監控的管理就是提供給企業,和提供給運營商這樣一種監控和管理網絡的一種手段。
這個可以說是我們目前開放的API的分類,我就不一個個的解釋了,像這種就是原子化的API,大家用起來是需要有一些比較深厚的技術背景。但是有一些場景化的API,相對來說簡單一點,目前情況下大家可以基于這些場景化的API,做一些開發。
我們來看一下目前在實驗室準備的情況,這個是實驗室的環境,在這個實驗室的環境下我們提供了幾個關鍵的部件。首先是底層網絡的模擬,這塊網絡的模擬包含了幾個部分,首先是企業辦公位置的模擬,相當于企業的辦公環境。這個中間是一個VPN,就是企業的分支,因為企業到數據中心里面有一段網絡的,所以這個是一個VPN的網絡。這一塊模擬的是運營商數據中心的資產,在這樣的情況下,企業可以通過IES的系統,來申請和使用運營商所開放的數據中心的資產。這個就是我們的IES系統了。
上面這一塊是什么呢?這是我們基于我們的行業,或者我們的開發者基于IES的開放能力,它所開發的APP。針對這個實驗室環境的使用,大家可以在開發者網站上申請,或者通過郵件的方式,然后我們會根據大家的要求,在實驗室里面盡量準備一個環境,滿足大家的開發訴求。
這個是目前我們實驗室里面所開放的能力,因為實驗室的環境準備沒辦法把目前我們產品所有的能力都在實驗室的環境里面呈現給大家,所以個是我們挑的一個最主要的場景。包括主要是CloudVPN的服務,這個是一個場景化的API的使用接口,下面這個是原子化的服務的接口。原子化服務的接口也可以完成上面CloudVPN業務的一些能力,但是使用起來就會相對復雜一點。如果大家對技術研究比較深入,可以去用這塊的能力,甚至可以基于這一塊的能力,編排出更多的場景化的API。
我們再來看一下基于這樣一個環境怎么去開發,這個是整個基于IESAPI開發的一個流程。其實這個過程很簡單,首先我們現在有一個華為開發者的網站,里面有一個ACT能力的開放,我們在這個網站上就可以獲取到IES所開放的一些API的詳細介紹,所以這次我們在這個之后就可以在我們本地開發APP,或者用我們IES實驗室所提供的開發者的環境,完成這種APP的開發和調測。這個是我們實驗室環境的調測,對于我們調測完的APP有一個上線的過程。
APP環境在準備的,我們剛才說實驗室的環境有企業的分支,有數據中心,有VPN,有我們的IES的系統,還有APP應用的服務器。實際上我們開發的APP不存在這兒,這個APP會調用CloudOpera IES的API,來完成下面資源的調度。這個地方是一個CloudOpera IES的例子,這個例子里面用到了三個API,一個是創建這個CloudVPN的業務,就是從這個企業的站點到云的數據中心里面,打通這一部分的管道,同時包括這個里面虛機的配置,都可以在這個開通的布置里面完成申請。這個開通完成之后會有一個激活的步驟,怎么把這個業務實際真正的讓它運行起來。這里是一個查詢運行的結果,為什么需要這個步驟,因為我們知道下面這個資源編排涉及到很多,涉及到網絡,涉及到運營,涉及到企業站點,這個執行是需要一些時間的。所以在這個上面我們可以根據它的指令下發之后,它的一些響應,實時的查看它的一些進度。
這個是我們目前這個demo所涵蓋的一些內容,大家可以看到從開發的準備,到APP的開發,以及到完整的數據代碼,大家都可以在這個網站上去獲取。我們這個沒有語言的要求,但是我們這個demo的事例是基于java的環境,因為它的接口本身是基于resd,是完全開放的,其實對我們應用的開發沒有任何語言的要求。
我們看一下,這個就不展開講了,這個只是大家理解一下,它的請求和響應都是基于,一個是基于resd,然后請求響應的報文全部都接上。這個我們搞互聯網的都是比較容易理解的。幾個關鍵的地方大家可以關注一下,一個是這個接口,這個是創建VPN的接口,里面有一個配置的策略,因為這個配置有可能是不成功的,不成功之后如何消除下面被占用的資源,有一些策略。在這個命令執行之后會返回兩個數據,一個數據是業務的標識,就是業務創建成功之后會有一個標識,這個業務是什么。另外一個就是這個業務操作的標識,這個操作標識我們剛才講到這兒會有一個查詢VPN的執行結果,因為你下下去之后,要實時的看它的執行的進度。這個地方會通過(36:55)的ID來調用這個接口,我們可以看到這兒填的就是(37:02),來查詢業務執行的情況,看看有沒有執行成功,執行的進度是執行成功了,還是執行失敗了,執行失敗了有沒有恢復成功。
我們的demo就講完了,其實整個今天上午這個議題的介紹我已經介紹完了,最后說一下除了上面的技術之外,我們還有一些開發者的其他執行渠道,包括我們現在海法者社區的,微信的群,大家如果過程中有什么問題,都可以隨時的通過這個群進行求助。