1. 程式人生 > >混合雲場景下容器技術在新能源功率預測產品中的最佳實踐

混合雲場景下容器技術在新能源功率預測產品中的最佳實踐

研發 container orf 技術分享 五個 作用 並且 保護 proc

能源互聯網是物聯網和“互聯網+”在能源行業深度融合的產物,是中國制造2025的重要組成部分,我們現在還處於能源互聯網的早期階段。絕大部分能源行業的應用都部署在私有局域網內,並且網絡結構異常復雜,這是阻礙互聯網技術在能源行業落地的最大挑戰。

6月28日,金風科技數據平臺架構師張利出席了Rancher Labs舉辦的Container Day 2018容器技術大會,並做了題為《混合雲場景下容器技術在新能源功率預測產品中的最佳實踐》的演講。

金風科技是中國成立最早、自主研發能力最強的風電設備研發及制造企業之一。作為金風科技數據平臺架構師、Team Leader,張利自2014年加入金風科技後,主要負責公司新能源功率預測產品的研發、數據平臺的搭建、以及解決方案的規劃。他帶領基礎架構團隊建立多雲和混合雲場景下的持續交付平臺、搭建能源氣象平臺,實現功率預測產品的微服務化改造、完成該產品端到端的交付,實現產品到解決方案的平臺化改造。

在演講中,張利從金風科技的實戰經驗出發,為大家解讀了容器技術如何應用在傳統能源行業中,如何實現混合雲場景下功率預測產品的快速落地。本文由演講內容整理而成。

金風科技主要做的產品是新能源功率預測產品,是一家典型的制造業公司,軟件並不是主業。但是隨著能源互聯網的發展,能源企業開始轉型,我們的軟件產品也開始變得非常豐富起來,同時有很多場景想強大現有軟件的產品線,於是我們開始一點點進行轉型,並基於現在的互聯網技術去做傳統制造業的業務。

技術分享圖片

金風科技是國際化清潔能源和節能環保的整體解決方案提供商。公司成立了20年,現在管理著38GW的風電場的裝機容量,現有風機數量2.5萬臺,整個在全球排名第3,已經連續至少5年中國市場排名第一。這是目前我們對整個環保做的一些貢獻。


業務背景


技術分享圖片

功率測產品是個什麽樣一個場景?它是基於天氣預報加上AI兩個技術進行預測。天氣預報得到了時間跟風速的曲線,然後之後是用AI去訓練功率曲線,將風速跟功率的曲線組合,得到的結果就是一個預測的基於時間的功率,也就是整體的發電量的情況,這是我們大概的業務場景。

技術分享圖片

實際上,我們的軟件在網絡層非常復雜。我們有嚴格的安全保護,將網絡分成了兩個區,一般所有的系統不能部署在外網,都是部署在隔離區內,中間放了一個應景的防火墻,數據只能通過文件的形式往裏進,出去是基於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 公眾號的最新推送~


混合雲場景下容器技術在新能源功率預測產品中的最佳實踐