能源互聯網是物聯網和「互聯網+」在能源行業深度融合的產物,是中國製造2025的重要組成部分,咱們如今還處於能源互聯網的早期階段。絕大部分能源行業的應用都部署在私有局域網內,而且網絡結構異常複雜,這是阻礙互聯網技術在能源行業落地的最大挑戰。算法
6月28日,金風科技數據平臺架構師張利出席了Rancher Labs舉辦的Container Day 2018容器技術大會,並作了題爲《混合雲場景下容器技術在新能源功率預測產品中的最佳實踐》的演講。數據庫
金風科技是中國成立最先、自主研發能力最強的風電設備研發及製造企業之一。做爲金風科技數據平臺架構師、Team Leader,張利自2014年加入金風科技後,主要負責公司新能源功率預測產品的研發、數據平臺的搭建、以及解決方案的規劃。他帶領基礎架構團隊創建多雲和混合雲場景下的持續交付平臺、搭建能源氣象平臺,實現功率預測產品的微服務化改造、完成該產品端到端的交付,實現產品到解決方案的平臺化改造。安全
在演講中,張利從金風科技的實戰經驗出發,爲你們解讀了容器技術如何應用在傳統能源行業中,如何實現混合雲場景下功率預測產品的快速落地。本文由演講內容整理而成。網絡
金風科技主要作的產品是新能源功率預測產品,是一家典型的製造業公司,軟件並非主業。可是隨着能源互聯網的發展,能源企業開始轉型,咱們的軟件產品也開始變得很是豐富起來,同時有不少場景想強大現有軟件的產品線,因而咱們開始一點點進行轉型,並基於如今的互聯網技術去作傳統制造業的業務。架構
金風科技是國際化清潔能源和節能環保的總體解決方案提供商。公司成立了20年,如今管理着38GW的風電場的裝機容量,現有風機數量2.5萬臺,整個在全球排名第3,已經連續至少5年中國市場排名第一。這是目前咱們對整個環保作的一些貢獻。運維
業務背景微服務
功率測產品是個什麼樣一個場景?它是基於天氣預報加上AI兩個技術進行預測。天氣預報獲得了時間跟風速的曲線,而後以後是用AI去訓練功率曲線,將風速跟功率的曲線組合,獲得的結果就是一個預測的基於時間的功率,也就是總體的發電量的狀況,這是咱們大概的業務場景。oop
實際上,咱們的軟件在網絡層很是複雜。咱們有嚴格的安全保護,將網絡分紅了兩個區,通常全部的系統不能部署在外網,都是部署在隔離區內,中間放了一個應景的防火牆,數據只能經過文件的形式往裏進,出去是基於UDP跟閹割版的TCP的協議,這裏面不少協議是不能用的,這是很是複雜的部分,因此發佈軟件的時候是十分困難的,大部分時間只能人爲地發佈軟件產品。學習
還有另一點是,部署架構也特別複雜。在2010年以前,大部分的電場是分佈在中國各個偏遠山區、戈壁之類的地方,由於那裏的太陽能和風能十分豐富。到了2010年的時候,出現了一些區域的中心,他們會把這些散落在各個電場的數據所有都拿上來進行統一的風電場監控。2010年到2015年之間,這些電場開始有集中化的監控。到了2015年,功率測的產品開始變成一個集中化的產品,我大概是那個時候入職金風,開始作集中式的功率測產品。有一個複雜的地方是,全部的軟件系統既要部署在邊緣節點的電場,也要部署在省中心的一個小機房,還要部署在客戶的總部。大數據
最佳實踐
如今咱們在邊緣節點的架構已經徹底的容器化了。在業務層會有一些標準的IOT的場景,好比說採集、存儲、ETL展現,這是標準的一個作法。另外一方面,因爲咱們是基於AI進行預測,所以有一部分是基於TensorFlow去作預測,而那個部分是由一個獨立的團隊進行,所以實際上發佈十分困難,尤爲是AI的部分。下邊會再詳細分析這個問題。
這個AI分兩部分,一個是離線的AI,這個咱們在2015年已經實現了在雲端的預測,是短時間一天發佈一次。在線的預測是15分鐘,咱們稱爲超短時間的預測,這個業務如今仍是在邊緣節點,也就是分佈在各個場站和省中心、區域中心,咱們如今是計劃一點點把它部署到公有云上來計算,進而提升預測準確度。
在業務系統上邊,如今正在面臨一些挑戰,好比,客戶的需求不穩定。咱們從2015年纔開始開發這個系統,並且每一個客戶的需求不徹底一致,所以這個系統更新的次數很頻繁。你們可能認爲一個傳統的企業,它的軟件的產品發佈不該該那麼頻繁,可是事實上並不是如此,隨着能源互聯網,包括可再生能源這些綠色清潔環保的能源受到中國政府的重視,爲了實現平價的上網,考覈的力度在不斷加大。若是這些新能源要平價的上網,包括功率測的準確度,是在其中起到重要支撐做用的一個業務,所以客戶的需求不斷的變,系統更新的頻率也在不斷的增長。另一點,就是以前提到AI算法,其實想放到雲端,可是這是一個在線的業務,涉及到數據的回傳,若是算完以後再下發下去,整個過程會變得很是複雜。從偏遠山區到一個省中心,再到客戶的數據中心,通常是在一個大城市,而後再到咱們的公有云上,整個鏈路很是長,數據的回傳跟下發十分複雜,再加上剛纔說的網絡的結構也很是複雜,致使若是在線AI算法十分麻煩。
另外有一條是在公有云上的業務,底層也是基於容器雲平臺,咱們本身作了一套,數據弧的這一層稍微簡單,也分了採集進存儲,存儲裏邊是咱們本身用的,業務數據庫用的是MongoDB,有一部分是Hadoop,GlusterFS,S3。上面分了三部分,一部分是咱們作功率測的業務層,包括它的運營也是一條ETL展現。另一個部分,其中一個核心是天氣預報,紫色的那個顏色WRF其實是天氣預報裏一個核心的高效能的計算,相似於HPC那樣,它通常跑在超算中心或者是公有云上。通常狀況下,運行在超算中心,這個超算中心是沒有云化的,因此那個業務也比較複雜。另一點就是一個獨立的AI模塊,將它作了一個訓練進預測的拆分。整個業務是三大業務,再加上底層的容器雲平臺,把那個存儲層做爲一個公共的池子,這是現有的業務架構,但實際上這會不斷的變化,並且也在不斷的擴大。
在公有云上這套業務系統裏邊,目前最大挑戰是要實現跨業務部門,好比作功率測的,還有一些集中監控、預警等不少個部門,整個產品線大概包括10個到20個產品,所以各個部門之間數據要常常的相互流動,要作成公共的平臺性的業務。此外,還要實現對外服務,對客戶可以發佈一個通用的服務。
關於能源氣象這個部分,咱們開始把它作成一個國際化的能源氣象服務。另外,風能和太陽能能夠同時去提供服務。雖然咱們自己是作風力發電的,可是實際上在功率測方面是不分風和太陽能的,因此這個服務是把兩個所有加到一塊兒。
除了在AI算法裏邊的挑戰,在公有云上的挑戰就是此前提到的在線的預測系統如何搭建,包括數據的傳輸層是很複雜的。另一點就是在大數據跟AI一個總體的解決方案的搭建。
機遇與挑戰
咱們現有的機遇跟挑戰,從DevOps角度來看,以前咱們大概是兩週一次的發佈頻率,速度很慢,由於涉及到不少個電場同時去發佈是十分複雜的,可是如今幾乎能作到一天一次,這是用容器化的平臺的優點,便可以實現更高的發佈速度。另一個挑戰是,因爲咱們是傳統企業,大部分的運維人員實際上對新的技術瞭解得比較少,所以對他們來講要求較高。如今整個運維團隊有十幾我的,可是實際上真正懂這個技術的只有一兩我的,因此這個挑戰很大。另一部分就是在微孵化改造的過程當中遇到一些問題,好處是系統擴展性變強了,可是隨着業務不斷地迭代,業務不斷地增長的時候,拆分力度很難把握。如今有些服務開始拆掉,有些服務要合併,這對整個架構是一個很是大的挑戰。另一點挑戰就是爲了提升準確率,在AI層面會有一些很大的困難。機遇就是對於算法工程師來講,他們不須要再去部署底層的架構,下降運維的成本。首先他們實際上不是在一個公有云、一個集中式的系統上,而是分佈在幾百個這種電場,運維成本很高。算法工程師在發佈這個算法的時候,實際上他們學習Docker技術是十分困難的,由於大部分算法工程師是學數學出身的。
總 結
金風科技如今大概使用這個系統已經有兩年的時間,目前可以實現運維成本能下降50%左右,迭代速度提升10倍,從兩週一次增快到一天一次,而且如今已經覆蓋50%的電場,大概的規模是200個左右,覆蓋的客戶有五個大的集團客戶,有十多個省中心的客戶。
後續將會爲你們帶來更多大會的演講實錄,請保持關注Rancher 公衆號的最新推送~