COVID-19引爆遗留问题COVID-19的全球传播无疑对经济产生了毁灭性影响。仅在美国,从2020年3月底到4月初,就有2200万人申请失业。为帮助失业者维持基本生活,美国政府于2020年3月底通过了一项2.2万亿美元的救助法案,其中包括每周增加600美元的失业救济金。然而不幸的是,由于需求激增导致许多州政府网站瘫痪,许多人在处理失业申请时面临严重延误。根据信息技术与创新基金会(ITIF)的调查数据,到2020年4月中旬,超过一半的州失业网站经历了严重的中断。佛罗里达州的网站甚至一度宕机16个小时。这部分是因为许多组织没有考虑到这种需求激增,部分是因为联邦和州的失业IT系统过时且不兼容。据悉,这些系统大多可以追溯到1980年代,有的甚至可以追溯到更早。例如,佛罗里达州的失业网站正在运行旧版本的InternetInformationServices(基于Windows的Web服务器),并使用旧版本的ASP.net设计其系统;岁的编程语言称为“COBOL”。COBOL人才短缺多年来一直在增长。市场研究公司Gartner估计,COBOL程序员的平均年龄超过60岁,而且绝大多数已经退休。为了解决这个问题,州政府正在与专家合作更新COBOL代码以实施政府救助计划。2020年4月中旬,新泽西州州长菲尔墨菲甚至在新闻发布会上公开呼吁/恳求COBOL程序员帮助解决该州的计算机问题。不仅仅是州/地方系统存在问题,联邦层面也存在类似问题。作为联邦政府冠状病毒救助计划的一部分,符合条件的美国纳税人将从美国国税局(IRS)获得1,200美元的付款。但由于美国国税局的计算机系统甚至比州失业系统还要古老,有些可以追溯到60年前,所以支付所有款项需要20多个星期。遗留系统的状态正如传奇投资者沃伦巴菲特曾经说过的那样,“直到潮水退去,你才知道谁在裸泳。”COVID-19就像潮汐一样,暴露了政府对遗留IT系统的依赖。当然,在过时的IT系统重压下苦苦挣扎的不只是政府,还有航空公司、银行、保险公司和其他商业实体,它们的系统也在运行不再受供应商支持的软件或硬件,甚至还有有许多无法修复的错误。根据调查数据,自2010年以来,全球企业和政府在IT产品和服务上的支出估计达35万亿美元。其中,约有3/4用于运营和维护现有的IT系统。至少有2.5万亿美元用于更换遗留IT系统,其中约7200亿美元浪费在失败的更换工作上。但令人惊讶的是,很少有人真正关注这些IT系统,尽管企业和公共机构每年在这些系统上花费数千亿美元。从起床到入睡,短短一天时间,我们不知不觉地与数十个IT系统交互。更不用说污水处理厂、电网、空中交通管制、电信服务和政府行政等基础设施,其服务甚至依赖于数以千计无形的IT系统。尽管这些系统存在于我们生活的方方面面,但它们很少引起我们的注意,因为它们在大多数时候都运行良好。我们甚至忘记了IT是需要持续关注才能保持运行的东西。英国历史学家大卫·埃杰顿在他的里程碑式研究《历史的震撼——1900之后的技术和全球历史》中声称,虽然维护和维修是我们与技术关系的核心,但它们是“我们宁愿不去思考的问题”。因此,技术维护是一个混乱的世界,几乎不会出现在现实世界的账户中。事实上,遗留IT系统的高度隐蔽性证明了这些系统的成功程度。遗留系统的成因事实上,“遗留系统”并没有正式的定义,但一般理解为“在某种程度上已经过时的关键系统”。它可能无法支持未来的业务运营;提供应用程序、操作系统或硬件的供应商可能不再运行或支持其产品;系统架构可能因脆弱或复杂而不适合升级或修复;或者系统不再是已知的操作模式等。是否对计算系统进行现代化改造几乎是困扰每个组织的问题。考虑到遗留IT系统带来的问题,您可能认为现代化是轻而易举的事。但这个决定并不像看起来那么简单。一些遗留IT系统最终进行了现代化改造,但一些组织不想或无法承担与现代化相关的成本和风险。显然,对日常运营至关重要的遗留系统通常不会在没有重大中断的情况下被替换或加固。因此,即使他们有一些小问题,管理层也往往会忽视它并延迟现代化进程。这些系统很长一段时间都没有出现灾难性的错误,因此它们仍然非常强大。这种“踢球”的做法无可厚非。大多数IT系统(无论是新的还是现代的)都非常昂贵,而且通常无法在不出现部分或完全故障的情况下轻易淘汰。而且,管理层真正需要的是任何新的IT系统都能提供投资回报并尽可能长时间地降低成本。这种需求通常会导致多年的日常维护投资不足。当然,批准投资新系统的高管可能在十年后跳槽,那些系统逐渐成为遗留系统。同样,系统的开发人员很清楚遗留系统的工作原理及其局限性,但他们很可能已经转移到其他项目或组织。对于寿命特别长的IT系统,大多数开发人员可能已经退休。随着时间的推移,该系统就像办公电梯一样成为用户日常生活的一部分。只要行得通,就无人问津,最终退居组织运作的阴影之下。遗留系统的后果每个月都有数百万人经历遗留IT系统带来的不便和折磨。(1)业务中断危机英国银行客户深切感受到这种挫败感。据美国金融业监管局称,2017年10月至2018年9月期间,该国银行报告了近600起IT运营和安全事件,比去年同期增长了187%。政府监管机构指出,银行对已有数十年历史的IT系统的依赖是此类事件反复发生的一个重要原因。航空公司乘客也感到沮丧。在过去几年中,美国航空公司的乘客平均每月经历近一次与IT相关的中断,其中许多是由遗留IT造成的。一些系统停机数日,导致数千次航班延误或取消。(2)数据泄露危机维护不善的遗留系统极易出现网络安全漏洞。信用报告机构Equifax遗留系统的复杂性使其无法修补公司“自动消费者访谈系统”(Equifax在1970年代开发的用于处理消费者纠纷的系统)中的严重漏洞,最终导致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系统,但美国政府问责局指出,支出的增加可能是由于支持过时的计算硬件——例如,美国国税局三分之二的硬件都有其使用寿命已经过去了,随着精通旧语言的程序员越来越少,维护用这些旧编程语言开发的软件和系统的成本越来越高。以COBOL为例,这是一种可追溯到1959年的编程语言。计算机科学专业的学生几十年前就停止教授COBOL。但据报道,美国社会保障局和国税局仍在运行约6000万条COBOL代码。此外,美国政府问责局2016年的一份报告发现,美国商务部、国防部、财政部、卫生与公众服务部以及退伍军人事务部仍在“使用1980年代和90年代的Microsoft操作系统到不再受支持的系统解决方案鉴于大量遗留IT系统仍在使用,解决遗留系统问题势在必行。(1)承认问题的存在解决遗留问题的第一步最大的问题是承认你有问题。至少一些政府和企业已经在这样做了。例如,2017年12月,特朗普总统签署了《政府技术现代化法案》。它允许联邦机构和部门从150美元中申请资金百万技术现代化基金来加速其IT系统的现代化。国会预算办公室最初表示每年需要接近18亿美元,但政客们担心关于这笔钱是否会被明智地使用,最终导致资金大幅减少。(二)新技术推动现代化进程在商业领域,云计算、人工智能等新技术成为推动IT现代化的重要动力。CAI的创始人TonySalvaggio说:“现在,每个人都知道IT可以推动组织创新。这些新技术将在未来几年内摧毁30%到40%的现有商业模式。背负着遗留IT系统的公司将无法快速竞争以提供改进的功能或客户服务,从而使自己陷入困境而无法脱身。值得注意的是,这种现象已经在银行业发生。传统银行正在努力与将大部分IT预算用于开发新产品而不是支持遗留系统的新兴银行竞争。例如,2014年开始运营的英国StarlingBank仅提供手机银行服务。它使用AWS来托管其服务,并且仅花费1800万英镑来创建其基础设施。相比之下,成立于1810年的传统全方位服务银行英国TSB银行在2018年花费4.17亿英镑迁移到新的银行平台。Starling维护自己的所有代码,平均每天发布一个软件。这是可能的,因为它没有错综复杂地连接到众多遗留IT系统。根据英国银行业监管机构的说法,每个新版本的IT系统都存在可衡量的操作失败风险。更简单的系统意味着更少的IT相关中断。自Starling开业以来,只发生过一次重大停电,而同期英国三大银行至少发生过十几次停电。(3)消除数据孤岛现代化过程本身也存在问题——将旧数据迁移到新系统。当TSB银行在2018年迁移到新的IT平台时,约190万在线和移动客户的账户被封锁了近两周。对一个遗留系统进行现代化改造通常意味着必须升级其他互连系统,这些系统也可能是遗留系统。例如,在美国国税局,最初安装于1960年代的主要税务主文件系统已被更现代、互连的系统所掩埋,每一个系统都更难取代以前的系统。自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)来监控和修复应用程序所在执行环境的所有元素。目标是通过能够在没有人为干预的情况下更新或升级应用程序来“降低维护成本”。目前,BRASS计划资助了九个项目,每个项目代表了资源自适应软件系统需要做的不同方面。其中一些项目涉及无人机、移动机器人和高性能计算。一旦开发完成,这些技术将应用于开源软件存储库、行业和国防部。结论COVID-19大流行暴露了依赖遗留IT系统提供基本服务的破坏性后果。不幸的是,即使在大流行结束之后,这种依赖性以及遗留IT的巨大成本仍将存在。即使仅靠美国政府的协调一致和执行良好的努力,更换数千个现有遗留系统也需要数十年的时间。随着时间的推移,当前的IT系统也将成为遗留系统,自身也需要更换。更糟糕的是,考虑到COVID-19大流行对当前预算的影响,未来政府部门可用于对遗留系统进行现代化改造的资金可能会更少。随着物联网的进一步成熟,与遗留系统相关的问题只会恶化。这些设备广泛连接到遗留系统中,使得替换和现代化这些系统变得更加困难。最终,这些物联网设备也将成为遗留设备。与今天的遗留系统一样,只要这些物联网设备继续工作,即使供应商不再支持它们也不会被替换。大量过时但仍在运行的物联网设备的潜在网络安全风险是未知数。由于已经在各个领域部署了如此多的物联网设备,而没有内置基本的网络安全,这种短视正在造成损失。对网络安全的担忧已经迫使美国食品和药物管理局召回植入式心脏起搏器和胰岛素泵,国家安全局已经对物联网智能家具等联网产品发出警告。想象一下在不远的将来,数亿甚至数十亿的遗留物联网设备将深深嵌入政府、企业办公室、学校、医院、工厂、家庭,甚至人体中。进一步想象一下,这些物联网设备没有修复网络安全或技术缺陷,并且在几乎没有供应商支持的情况下连接到遗留IT系统。在这样一个世界中,对日益相互关联和过时的系统的普遍依赖将产生比混乱更黑暗的事物。本文翻译自:https://spectrum.ieee.org/computing/it/inside-hidden-world-legacy-it-systems
