ECMWF软件战略和路线图译注:1.4 安全性

目录

本文为《论文阅读:ECMWF软件战略和路线图2023-2027》的译注

原文

译注段落:1.4 安全性

译注

安全是软件开发必须要考虑的关键问题之一。本节从四个方面介绍了安全方面的策略,包括软件开发过程的安全性、数据的安全性、对外服务的安全与代码安全。

国际主要气象中心都在使用版本控制系统管理数值预报模式软件开发工作。 CEMC 十多年来一直使用 Perforce 管理模式软件的开发过程,第一次提交记录是 2010 年 8 月 10 日,截止 2023 年底已有 2 万 6 千多条提交记录。 不过,因为 Perforce 的授权用户数量限制,代码提交以组为单位进行,无法追溯到个人。 再加上 Perforce 授权到期后没有进一步采购计划,考虑到 ECMWF 已经从 Perforce 切换到 Git,最终决定将模式代码库从 Perforce 迁移到 Git。 CMA 最新建设的 Metcode 版本管理系统与统一身份认证系统集成,可以为每个研发人员提供个人账户,也就能实现对个人作者的追溯。 但软件开发不仅仅是引入一个新的工具就能解决问题,更是一个管理问题,如何将上百人团队的代码成果集成到一个软件系统中将极大考验对软件开发过程的管理水平。 CEMC 仍在探索适合自己的模式系统软件版本管理策略,正在将代码仓库从 Perforce 切换到 Git,面临开发模式从集中式管理到分支式管理的演变,并逐步推进业务系统的代码版本管理。

本节提到的数据安全同样是 CMA 关注的重点领域。 CMA 对数据流出的管理非常严格,有力地保障了国家安全和知识产权。 不过也带来另一个问题,获取 CMA 制作的数据产品的门槛非常高,往往需要严格的身份验证。 译者观察到针对 CMA 数据的开源软件很少配置自动测试工作流,包括译者自己开发的项目也有同样的问题,原因之一就是很难从外部获取 CMA 的开放数据,导致无法构建针对特定数据的测试工作流。 本节提到的方法可以借鉴,比如提供特殊处理过的测试数据并使用版本控制系统管理测试数据。 译者认为随着越来越多 CMA 主导开源项目的逐步涌现,最终会找到一种提供测试数据的合理方案。