2018年11月14日,由雲原生計算基金會(CNCF)主辦的世界頂級容器盛會KubeCon在上海跨國採購會展中心正式拉開了帷幕,國內外領先的雲計算企業,數千名容器領袖和技術專家齊聚一堂,共同分享交流在Kubernetes、微服務、DevOps等領域的技術發現。算法
活動首日,Rancher Labs聯合創始人及CEO梁勝、金風慧能副總經理張偉、金風慧能首席架構師張利共同爲現場的觀衆帶來了《Kubernetes提供可再生能源》的Keynote演講,以金風科技對Kubernetes的應用實踐爲切入點,講述新能源企業如何將帶有AI能力的邊緣計算應用部署在多區域的Kubernetes集羣。數據庫
「大概在半年之前,有一個Rancher的用戶給咱們辦公室打了個電話,說他們使用了徹底開源的Rancher軟件,如今已經進入生產了。可是他們碰到了一些問題,但願咱們能幫他解決。這個用戶就是金風慧能。」Rancher聯合創始人及CEO梁勝介紹道:「當咱們瞭解金風是怎麼在他們的環境當中使用Kubernetes以及Rancher以後,我以爲這個場景很是有意思,因此在這一次活動,特地邀請了金風慧能的同事來現場作應用實踐的內容分享,但願你們能學習到金風慧能是怎麼利用Kubernetes提供可再生能源的。」服務器
合做背景網絡
金風科技成立於1998年,是一家國際化的清潔能源和節能環保總體解決方案提供商。截至2017年年末,金風科技全球風電累計裝機容量超過44GW,裝機數量超過2.8萬臺(直驅機組超過2.4萬臺),連續七年國內排名第一,連續三年全球排名前三。其中,國內裝機遍及29個省市,累計容量超過42.7GW,國外裝機遍及全球六大洲十四個國家,累計容量達到1.45GW。金風科技每一年發出的清潔電力,至關於再造森林4940萬立方米,減小9040萬噸二氧化碳排放。架構
金風慧能是金風科技的全資子公司,是全國領先的新能源數字化、智能化專業服務提供商,致力於幫助新能源發電企業優化資產性能,提升運營效率,提高發電收益。框架
2015年,金風慧能創建了金風科技全球監控中心,接入了包括風力發電機之內的超過3萬臺設備,並實時將傳感器的程序採集數據送到全球監控中心,打造了全國最大的新能源物聯網。分佈式
從數據資產上看,金風慧能擁有幾百TB以上的設備運行數據,而這一數據庫還在以每一年百TB的規模增加;除此以外,金風慧能累積了全國30年氣象模擬數據,天天還在進行大量的數據預測,數據資產規模很是龐大。微服務
基於大量的數據資產,金風慧能開展了氣象及功率預測服務,同時,金風慧能也爲發電企業客戶提供預測服務,包括預測設備當中的潛在故障,幫助客戶進行主動防護性的維護工做。「新能源的發電,尤爲是能量的輸入是不穩定的,因此咱們必須去作氣象評估,包括風速、輻照度預測等工做,好比24小時內,每15分鐘這颱風力發電機能發多少電,電網將會承受多少的負荷側重、如何平衡波谷等等。」金風慧能副總經理張偉解釋道。性能
在張偉展現新能源氣象預報圖當中,咱們能夠看到在不一樣比例的網格,氣象狀況會千差萬別。在中尺度1000m×1000m的網格展現當中,只能看到模糊的氣象狀態;但在微尺度100m×100m的網格展現當中,氣象狀態則顯得相對清晰不少。張偉補充:「好比說風速,每0.1級的誤差,風力發電機的發電量誤差會在10%以上。我國南北地理特性差別巨大,南方的地形更是尤爲複雜,若是沒法精準預測氣象狀況及將來發電量,將形成比較大的風險和損失。」學習
對於氣象狀態及將來發電量的精準預測需求,金風慧能不只將數據服務和產品部署在雲端,還將這些服務部署在了各個區域以及電廠。而在不一樣地方的應用部署,向金風慧能的技術能力提出了很是大的挑戰。「最終咱們選擇了Rancher以及微服務架構去解決這些問題。」
解決方案
早在4年之前,金風慧能就已經預測到了新能源的發展趨勢,並開始着手從新構建功率預測的雲原生框架。
位於最底層的是電力企業的風機、光伏電廠的逆變器或者是電網的實時數據。往上一層,金風慧能則將PaaS應用在全部的基礎設施層。採集層採用了採集網關、協議轉換等內容。在採集層上面是存儲層,經過MangoDB等技術實現。「最上面會展現出業務,第一大業務就是公司的業務運營,第二部分是咱們的能源氣象業務,包括天氣預報、觀測設備等。」金風慧能首席架構師張利分享道:「還有一部分是預測業務,裏面包括核心的AI算法業務,主要涉及到在線預測和離線預測兩部分。」
積累了三四年的時間,金風慧能功率預測業務已經涵蓋了集團級電力運營商,而且服務了幾十個區域性的業務,以及幾百個場站的業務。在這些場站當中,除了風電場,還包括光伏電場和分佈式的光伏電站。
這些功率預測業務須要同時處理場站側、區域側、集團側的不一樣場景,場站側通常只有一臺服務器,區域側是一個機架上的幾臺服務器,集團側是公有云或私有云的混合環境,而整個業務對資源的要求是不同的。這也爲金風慧能的技術選型帶來了比較大的困難。
第一種部署架構方案是將全部區域和場站創建成一個大的集羣,第二種方案是將每一個區域或者是場站當成是獨立集羣。兩種方案各有優劣,最終金風慧能選擇了第二種方案。
張利介紹,從帶寬的角度出發,通常的專線只有2MB的帶寬。這些帶寬大部分時間是用來提供數據的,若是將整個架構作成大的集羣的話,在網絡傳輸層會有很大的風險。除此以外,資源利用率也是一個須要考量的問題,一個大集羣在運行的過程中資源佔用率是比較低的,但若是每一個區域創建一個獨立集羣的時候,它的系統資源佔有率正好是相反的。
對於複雜的業務場景,Rancher爲金風慧能提供了中心化管理全部Kubernetes集羣的功能,也下降了金風慧能對於Kubernetes的部署難度。對於集團側,每一個集團部署一套Rancher Server 2.0實例,對於區域側,每一個區域部署一套Kubernetes集羣,對於場站側,也是每一個場站部署一套Kubernetes集羣,區域和場站側的Kubernetes集羣都掛到所屬集團的Rancher Server中。
「雲原生架構給咱們帶來的價值也是很是顯而易見的。DevOps從2週一次提高至1天一次,效率提高10倍以上。並且微服務化具備更強的適應性和更靈活的業務拆分能力。」演講的最後,張利總結道:「AI跨平臺部署效率和算法迭代速度也有所提高。但願每一個人都能享受到雲原生架構爲咱們帶來的便利。」