走进遗留IT系统的阴暗世界

安全 网站安全
正如传奇投资者沃伦·巴菲特曾说过的那样,“只有当浪潮退去,你才能知道谁在裸泳。”新冠疫情就像一股大潮,暴露了政府对老旧IT系统的依赖。

新冠疫情引爆遗留系统问题

新冠疫情的全球性蔓延无疑对经济产生了毁灭性的影响。仅美国在2020年3月下旬至4月初之间,就有2200万人申请失业。为了帮助失业人士维持基本生活,美国政府于2020年3月底通过了2.2万亿美元救助法案,当中包括每周增加600美元的失业救济金。然而,不幸的是,由于需求激增,许多州政府网站崩溃,许多人面临着严重的失业救济申请处理延迟。

[[376159]]

根据美国信息技术和创新基金会(ITIF)的调查数据显示,到2020年4月中旬,超过一半的州失业网站经历了严重的停机。佛罗里达州的站点甚至一度宕机16个小时。

部分原因在于许多组织机构没有考虑过这种需求量的激增,另一方面则是由于联邦和地方州的失业IT系统过时且不兼容的问题。据悉,这些系统大多可以追溯到20世纪80年代,有些甚至可以追溯到更早以前。例如,佛罗里达州的失业网站正在运行旧版本的Internet Information Services(基于Windows的Web服务器),并使用旧版的ASP.net设计其系统;还有至少12个州在其系统中运行着一种有60年历史的被称为“COBOL”的编程语言。

多年来,COBOL人才短缺的状况一直在加剧。据市场研究公司Gartner估计,COBOL程序员的平均年龄超过60岁,绝大多数已经退休。

为了解决该问题,各州政府正在与专家们合作更新COBOL代码来实施政府救助计划。2020年4月中旬,新泽西州州长Phil Murphy甚至在新闻发布会上公开呼吁/恳求COBOL程序员来帮助处理该州的计算机问题。

出现问题的不只有州/地方系统,联邦级别同样出现了类似的问题。作为联邦政府疫情救助计划的一部分,符合条件的美国纳税人将从美国国税局(IRS)获得1200美元的付款。但是,由于国税局的计算机系统甚至比各州的失业系统还旧,有些还可以追溯到60年前,所以花了20多周的时间才支付所有款项。

遗留系统现状

正如传奇投资者沃伦·巴菲特曾说过的那样,“只有当浪潮退去,你才能知道谁在裸泳。”新冠疫情就像一股大潮,暴露了政府对老旧IT系统的依赖。

当然,在过时IT系统重压下苦苦挣扎的并非只有政府部门,还有航空公司、银行、保险公司以及其他商业实体,他们的系统同样在运行着供应商不再支持的软件或硬件,甚至存在很多无法修复的漏洞。

调查数据显示,自2010年以来,全世界的企业和政府在IT产品和服务上的支出估计为35万亿美元。其中,约3/4用于运营和维护现有的IT系统。至少有2.5万亿美元用于尝试替换旧的IT系统,其中约有7,200亿美元被浪费在失败的替换工作上。

但是令人惊讶的是,即便企业和公共机构每年在其上花费数千亿美元,却很少有人真正注意到这些IT系统。从起床到入睡,短短一天,我们就在不知不觉中与数十个IT系统进行了交互。至于污水处理厂、电网、空中交通管制、电信服务和政府管理等基础设施就更不用说了,它们的服务甚至取决于成千上万个看不见的IT系统。

虽然说这些系统存在于我们生活的方方面面,但却很少引起我们的关注,因为它们在大多数情况下都运行良好。我们甚至忽略了,IT是需要持续关注才能保持正常运行的东西。

英国历史学家David Edgerton在其里程碑式的研究《历史的震撼——1900之后的技术和全球历史》中声称,尽管维护和修复对于我们与技术的关系至关重要,但它们是“我们宁愿不考虑的问题”。结果,技术维护就如同身处混沌世界,在现实世界的账目中几乎看不到任何踪迹。

确实,遗留IT系统的强隐形性也证明了这些系统的成功程度。

遗留系统的成因

事实上,关于“遗留系统”尚未有正式定义,但通常被理解为“在某种程度上已经过时的关键系统”。它可能无法支持未来业务运营;提供应用程序、操作系统或硬件的供应商可能不再经营或支持其产品;系统架构可能因脆弱性或复杂性,不适合升级或修复的;或无从再获知系统的运行方式等等。

是否推进计算系统现代化是困扰几乎每个组织的问题。考虑到老旧IT系统造成的种种问题,你可能认为推行现代化是无需思考的问题。但是这个决定并不像看起来那么简单。有些遗留IT系统最终会以现代化的方式结束,但是有些组织却并不想或负担不起与现代化相关的成本和风险。

显然,对于日常操作至关重要的遗留系统,如果没有发生重大破坏一般是不会进行更换或强化的。因此,即便它们存在一些小问题,管理层还是倾向于忽略它并推迟现代化进程。在过去很长时间里,这些系统并没有发生灾难性的错误,因此它们仍然顽强的坚挺的存在着。

这种“踢皮球”的做法是可以理解的。大多数IT系统(无论是新的还是现代化的)都是十分昂贵的,如果没有部分或完全失效,通常不会轻易被淘汰。

而且,管理层真正需要的是任何新的IT系统都能够提供投资回报,并尽可能长时间地降低成本。这样的需求往往导致多年来对日常维护的投资不足。当然,那些批准对新系统进行投资的高管十年后可能发生职位变动,这些系统也逐渐变成了老旧系统。

同样地,系统的开发人员很清楚遗留系统的运行方式和局限性,但是他们很可能已经去到其他项目或组织。对于寿命特别长的IT系统来说,大多数开发人员可能已经退休。随着时间的推移,这个系统就像办公电梯一样,成为用户日常生活的一部分。只要它起作用,就不会有人特别注意它,最终它缩进组织运营的阴影之中。

遗留系统的后患

每月都有数百万人经历着遗留IT系统带来的不便和折磨。

(1) 业务中断危机

对于这种挫败感,英国银行客户深有感触。据英国金融行业监管局的数据显示,2017年10月-2018年9月期间,该国的银行报告了近600起IT运营和安全事件,比去年同期增长了187%。政府监管机构指出,银行依赖已有数十年历史的IT系统是造成此类事件反复发生的重要原因。

同样感到挫败的还有航空公司的乘客。在过去的几年中,美国航空乘客平均每月经历近一次与IT相关的停机事件,其中许多是传统IT造成的。有些系统持续宕机数天,造成数千航班的延误或取消。

(2) 数据泄露危机

维护不佳的遗留系统极易出现网络安全漏洞。信用报告机构Equifax公司就曾因其遗留系统的复杂性,导致未能及时修补公司“自动消费者访谈系统”(Equifax于20世纪70年代为处理消费者纠纷开发的系统)中的一个严重漏洞,最终致使1.46亿人的敏感个人信息泄露。

(3) 勒索攻击危机

老旧的IT系统也为勒索软件攻击提供了方便。在这种类型的攻击中,网络入侵者会侵入关键IT系统后并加密所有系统数据,直到支付赎金为止。在过去两年中,勒索软件袭击了美国亚特兰大和巴尔的摩的城市以及佛罗里达州的里维埃拉海滩和湖城的两个城市。后两个城市同意分别向攻击者支付60万美元和50万美元。此外,还有数十个州和地方政府以及学校系统和医院都遭遇了勒索软件攻击。

(4) 高昂的运营和维护成本

即便没有遭遇运营中断和安全事件,企业组织仍然需要面对遗留IT系统不断攀升的运营和维护成本问题。例如,美国政府问责局(GAO)最近的一份报告发现,美国政府在2019财年的900亿美元开支中,近80%用于现有信息系统的运营和维护。此外,在GAO详细审查的7,000笔联邦信息技术投资中,有5,233笔资金全部用在了运营和维护,没有任何资金用于现代化。

从2010财年到2017财年,IT现代化支出减少了73亿美元,而运维支出增长了9%。不断增长的IT遗留成本将继续吞噬政府IT现代化的“种子”。

尽管并非所有的运营和维护成本都归因于遗留IT系统,但美国政府问责局指出,支出的增加很可能是由于支持过时的计算硬件所致,例如,美国国税局2/3的硬件已经超过了其使用寿命,而且因精通较旧语言的程序员越来越少,维护这些较旧编程语言开发的软件和系统的成本也越来越高。

以COBOL(一种可以追溯到1959年的编程语言)为例,计算机科学专业早在几十年前就停止了COBOL语言的教学。但是据报道,美国社会保障局和国税局仍在运行大约6000万条COBOL代码。而且,美国政府问责局在2016年的一份报告显示,美国商务部、国防部、财政部、卫生和公众服务部以及退伍军人事务部仍在“使用上世纪80年代和90年代的微软操作系统,这些操作系统在十多年前就不再得到供应商的支持”。

解决方案

鉴于大量遗留IT系统仍在使用中,解决遗留系统的问题势在必行。

(1) 承认问题的存在

解决一个大问题的第一步就是承认自己存在这个问题。至少一些政府和企业已经开始这么做了。例如,2017年12月,特朗普总统签署了《政府技术现代化法案》。它允许联邦机构和部门从1.5亿美元的技术现代化基金中申请资金,以加速其IT系统的现代化。国会预算办公室最初表示,每年的需求接近18亿美元,但政客们担心这笔钱是否会得到合理利用,最终导致资金大幅减少。

(2) 新技术推动现代化进程

在商业领域,云计算和人工智能等新技术成为推动IT现代化的驱动力。CAI创始人Tony Salvaggio表示,“现在,所有人都知道IT可以推动组织创新。这些新技术在未来几年内将会摧毁现有商业模式的30%至40%。背负遗留IT系统的公司在快速交付改进功能或客户服务方面将毫无竞争能力,只能将自己困在其中,无法脱身。

值得注意的是,这种现象已经在银行业中发生了。传统银行在与新兴银行竞争时感到非常吃力,这些新兴银行将大部分IT预算用于创建新产品而不是支持遗留系统。例如,2014年开始运营的英国Starling 银行只提供手机银行服务。它使用AWS托管其服务,并且仅花费1800万英镑来创建其基础设施。相比之下,英国的TSB银行(一家成立于1810年的传统全方位服务银行)在2018年花了4.17亿英镑转移到一个新的银行平台。

Starling 会维护自己所有的代码,平均每天进行一次软件发布。之所以能这样做,是因为它与众多的老旧IT系统没有错综复杂的连接。根据英国银行监管机构的说法,每个新版IT系统都存在可衡量的操作失败风险。更简单的系统意味着与IT相关的中断越来越少。自从Starling营业以来,仅发生了一次重大停机,而同一时间段,英国三大银行中的每家至少都有十几次停机事故。

(3) 杜绝数据孤岛

现代化进程本身也存在问题——将旧数据迁移到新系统。当TSB银行在2018年转移到新的IT平台时,大约190万在线和移动客户的账户被封锁了将近2个星期。对一个遗留系统进行现代化改造通常意味着必须升级其他互连系统,而其他互连系统也可能是遗留系统。例如,在美国国税局,最初安装于20世纪60年代的主税务主文件系统已被埋藏在更现代化,更相互关联的系统之下,每个系统都使得更换之前的系统变得更加困难。自1968年以来,该机构一直在尝试对其相互关联的遗产税系统进行现代化改造,以目前的汇率计算,累计成本至少为200亿美元,但到目前为止,收效甚微。该组织计划在未来五年内再投入27亿美元用于现代化建设。

另一个常见的问题是,各种遗留系统可能具有重复的功能。美国海军正在安装价值1.67亿美元的海军薪酬和人事系统,该系统旨在整合驻留在55个独立的IT系统中的223个应用程序,其中10个应用程序的使用寿命已经超过30年,还有一些已经使用了50年之久。这些不同的系统使用21种编程语言,在跨越73个数据中心和网络的9个操作系统上执行。

如此庞大的重复和数据孤岛听起来很荒谬,但却非常普遍。而造成这一切的方式很简单:政府发布一项新的授权,其中包括对某种类型的自动化的要求,并且该政策附带了用于实施该自动化的新资金。相关部门或机构发现,相比升级现有系统所需的成本以及可能造成破坏的意外成本,不如直接创建一个新的IT系统更容易,即使这些新系统的部分(甚至大部分)功能都与现有系统相同。最终的结果就是,同一个组织内的不同部门最终部署了具有功能重复的IT系统。

长期以来,缺乏对系统工程思维以及协调IT开发的能力,使得重复建设问题深深困扰着政府和企业。

(4) 保持关注,永远不要让IT成为遗留问题

处理遗留IT的最佳方法是永远不要让IT成为遗留问题。人们越来越认识到遗留IT系统的许多成本问题,由此引发了对软件维护的重新思考。美国国防创新委员会于2019年5月发布的一份报告《软件没有结束》阐述了一种新方法。它认为软件应被视为“一种持久的能力,必须在其整个生命周期中予以支持并不断加以改进”。这包括能够在短时间内持续不断地测试、集成和提供改进软件系统的能力。

目前,软件开发、操作和支持被视为独立的活动。但是,如果将这些独立的活动集成起来(DevOps范式),那么操作系统将始终处于“开发中”的状态,并且每天不断地进行改进、测试和部署,甚至会出现一天迭代多次的现象。

DevOps只是防止关键IT系统变成遗留系统的一种方法。美国国防部高级研究规划局(DARPA)一直在探索另一种可能更有效的方法,因为它认为IT系统一旦实施便具有持续性。自2015年以来,DARPA资助了资源自适应软件系统构建(BRASS)研究课题,旨在寻找能够使软件能够使用100多年的解决方案,构建能够动态适应所依赖资源和运行环境变化的长寿命软件系统。

创建这种永不过时的系统需要一种“从头开始”的软件设计方法,该方法不会对应如何设计,编码或维护IT系统做出假设。这将需要确定软件程序执行所需的逻辑(库、数据格式、结构)和物理资源(处理、存储、能源)。此类分析可以使用高级AI技术来发现并显示应用程序的操作以及与其他应用程序和系统的交互。这样一来,就可以在问题发生之前主动管理导致许多系统故障或低效操作的资源更改或与其他系统的交互。开发人员还需要创建一种功能(同样可能用到AI)来监视和修复应用程序所在的执行环境的所有元素。

其目标是能够在无需人工干预的情况下更新或升级应用程序,从而“降低维护成本”。

目前,BRASS计划已经资助了9个项目,每个项目都代表了资源自适应软件系统需要做的不同方面。其中一些项目涉及无人机、移动机器人和高性能计算。研发成功后,这些技术将被应用到开源软件仓库、各行各业以及国防部。

总结

新冠疫情暴露了依赖遗留IT系统提供基本服务所造成的破坏性后果。不幸的是,即便疫情结束后,这种依赖以及遗留IT的巨额成本仍将存在。仅就美国政府而言,即便经过各方协调一致且执行良好的努力,也需要花费数十年才能取代成千上万的现有遗留系统。并且随着时间的推移,当前的IT系统也将成为遗留系统,并且本身也需要更换。更糟糕的是,鉴于当前新冠疫情对预算的影响,未来政府部门用于遗留系统现代化的资金可能更少。

随着物联网的进一步发展成熟,与遗留系统相关的问题只会恶化。这些设备已被广泛连接到遗留系统上,这使得更换和现代化这些系统变得更加困难。最终,这些物联网设备也将成为遗留设备。就现在的遗留系统一样,只要这些物联网设备能够继续工作,即使供应商不再提供支持也不会被替换。大量陈旧但仍在运行的物联网设备的潜在网络安全风险是一个未知数。

目前,各个领域已经部署了许多物联网设备,而这些设备却没有内置基本的网络安全性,这种短视正在给人们造成巨大的损失。对网络安全的担忧已经迫使美国食品和药物管理局召回了植入式心脏起搏器和胰岛素泵,美国国家安全局对物联网智能家具等互联网产品也发出了警告。

想象一下,在不远的未来,数亿甚至数十亿的遗留物联网设备已经深深地嵌入到了政府、企业办公室、学校、医院、工厂、家庭甚至人体之中。再进一步想象一下,这些物联网设备的网络安全或技术缺陷没有得到修复,而且正与几乎不受供应商支持的遗留IT系统相连。再这样的世界中,对不断增长的互联和过时系统的普遍依赖将创造出比混沌世界更加阴暗的东西。

本文翻译自:https://spectrum.ieee.org/computing/it/inside-hidden-world-legacy-it-systems

 

责任编辑:赵宁宁 来源: 嘶吼网
相关推荐

2011-08-29 09:59:26

2010-09-14 10:15:24

2011-06-02 09:39:29

ADO.NET

2022-07-08 09:41:20

遗留系统服务拆分

2010-07-05 09:07:42

2010-09-06 16:35:58

SQL函数

2022-01-13 09:49:40

遗留系统交接开发

2010-08-26 09:01:27

Infobright

2021-01-21 15:40:45

VRARVR眼镜

2023-06-25 12:22:25

IT领导者CIO

2018-05-03 15:34:34

组件测试遗留系统微服务

2009-11-13 16:19:22

ADO.NET教程

2024-02-26 09:13:35

WebComponents开源项目

2010-03-16 17:30:14

Java多线程编程

2022-10-18 07:33:57

Maven构建工具

2021-07-09 05:25:48

CIO遗留系统现代化用户体验

2022-08-24 09:50:40

系统运维

2012-10-08 10:35:10

OpenStack开源云

2023-11-20 14:32:48

大数据企业
点赞
收藏

51CTO技术栈公众号