关键基础设施所面临的挑战——面向长远生命周期的软件开发与支持

新闻动态

关键基础设施所面临的挑战——面向长远生命周期的软件开发与支持

- Gareth Noyes

软件内容在各个技术领域都不断增长,并且已经成为一种催化剂,推动着全新市场的开疆辟土。在过去的十年里,面向企业和云计算应用的软件得到大规模开发与部署,其成熟度显著提高。这种提高主要得益于以下要素:

  • 计算基础设施的统一化(例如工业标准的PC和服务器平台)。
  • 通过虚拟化实现了硬件和软件之间依赖性的解耦。
  • 大规模采用种类更少的标准化操作系统环境(当今世界的主流仅有Windows、Linux和Android,与10年前的UNIX或五花八门的专有工作站OS形成鲜明对比)。
  • 采用云服务和丰富的应用软件框架和编程语言,实现了复杂度的抽象,加速了系统开发。
  • 精益开发和部署过程(Lean Development and Deployment Processes)支持在生产运行环境中快速创新和部署新的软件特性。

在IT领域,基础设施的完整拓扑结构被定义为具有相对清晰的流程和责任范围,以便对各类资产进行开发和维护。例如,典型的做法是把硬件和操作系统的更新维护责任指派给IT部门,他们则从平台供应商方面获得支持,而应用软件则是由独立软件供应商(ISV)以自动更新的方式来管理。在这样的环境中,软件开发人员可以快速且频繁地部署新的功能特性,并确保通过持续更新来消除Bug或安全漏洞。这也意味着,对整个平台进行常规性的修改有可能让门户洞开,以至于让新的潜在安全威胁造成更广泛的影响,因为同一个通用非定制版本软件通常会部署在更多不同场景之中。

反观关键基础设施,其软件维护的挑战与上述情况存在极大的差异。

首先,复杂的硬件和软件工作责任通常全部归属于单一的关键基础设施供应商,他们建立了某种固定不变的功能设备来执行特定的任务,例如汽车中的电子控制单元、医学成像用的高性能CAT扫描仪或飞机内用于控制航空电子设备的飞行管理系统。

第二,许多应用系统的关键性特质意味着需要采用非常不同的方法来开发,并且要求在很长时间内确保其部署和维护的高度可靠性。从传统上看,这种设备的生命周期比通常所熟知的IT系统要长很多,而且其支持工作常常必须针对设备供应商的独特需求来定制。

虽然这些系统也是由硬件和软件构成,但它们与通常的IT系统有很大的不同。其中典型的差异包括:

  • 硬件平台通常是完全定制或半定制的,以便实现功率消耗、性能、品质要求以及价格等诸多因素的最佳组合。因此,嵌入式系统很可能使用多种不同的处理器体系结构、硬件加速器或定制IO,这些功能特性自然也就会要求高度定制的软件。作为一种副产品,这些极为特殊的设备具备高度定制化的特质,如果遭受某种网络攻击后,由此造成的影响范围也不容易超出被做为攻击目标的设备。
  • 这种设备所采用的软件通常也不同于典型的IT系统软件,要求具备某些特殊的能力,例如会在确定性、低延迟、高可用性或被认证方面,以满足严格的标准(如商用航空电子系统中的DO-178C或工业环境中的IEC61508)。
  • 关键基础设施的部署生命周期通常超过10年甚至几十年,而且班次难以接近和更新,例如核反应堆、大坝之下的水力发电机组以及部署在崇山峻岭的通信设施。
  • 可靠性和性能通常比灵活性更为重要,因此,系统通常更多处于静态,并且需要在长时间内保持为固定配置。

鉴于关键基础设施系统的严格要求和长使用寿命,对部署设备的整个生命周期进行持续性的支持与维护是必不可少的。与IT领域不同的是,通常需要为支持长期生命周期产品而提供专门定制的实施方法。由于实际困难很难经常更新软件版本来保持设备处于更新状态,客户很可能需要厂商对较旧版本的软件提供支持,或者需要针对其环境而提供得到一段独一无二的快照(或“冻结分支”),以便在对应的这段时间内进行维护。即使有可能对设备的软件进行更新,产品的回归测试或由于相互依赖而造成的复杂度也可能会需要提供软件更新的独特组合,这样就很可能需要非常特殊的迁移支持。嵌入式软件供应商已经开发出了满足上述要求的技巧和独特的流程,这往往是他们商业模式的重要支柱。

在过去的35年来中,风河一直支持着关键基础设施应用的发展。我们的旗舰产品VxWorks产品仍然是在许多关键基础设施(航空、国防、工业、电信/网络、运输系统等)常用RTOS的事实标准。这些基础设施对延迟和系统故障都是零容忍的。同时,我们的Wind River Linux和Titanium Cloud系列产品不仅也是建立在这份宝贵遗产之上,而且为客户的边缘设备提供了更大可扩展的开源解决方案。风河在发展历程中的每一步都把功能安全和信息安全置于最优先重要的地位,并长期坚持严谨正确的方法。

通过这种方法,我们在所有产品和开发过程中都确保了安全性,以满足许多关键基础设施部分的严格要求。我们以严谨的咨询流程来提供安全审计和威胁评估,以便为客户项目提供最适当的安全类型和级别。此外,我们的主动安全监控和漏洞修复流程为客户提供了脆弱性、影响以及解决方案的详细分析。

我们的产品开发和客户支持流程都已经在长期实践中不断优化,以支持广泛的硬件使其适用于在很长一段时间内实现高度定制的部署。在正常的商业软件生命周期结束之后,我们还特别提供了多种选项,以保持客户支持和维护的延续性,确保其在关键基础设施环境中继续部署所要求的可靠性、信息安全性和功能安全性。我们还可以帮助客户升级到更新的软件版本,并提供定制的迁移路径。

关键基础设施软件的开发和维护节奏与IT系统不同,需要一整套独特的技能。实际上,经过几十年来的磨练,这套技能已经成为风河DNA的一部分。尽管如此,我相信,在关键的基础设施中,仍然必须接纳现代IT软件开发和部署的优势,并使其成为这个生态系统中的核心能力。