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跨平台部署效率和算法迭代速度也有所提升。希望每个人都能享受到云原生架构为我们带来的便利。”