0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

“老旧系统”没有正式的定义

IEEE电气电子工程师 来源:IEEE电气电子工程师学会 作者:IEEE电气电子工程师 2020-12-07 15:43 次阅读

美国19个州的失业申请处理延迟,包括阿拉斯加、亚利桑那、科罗拉多、康涅狄格、夏威夷、爱荷华、堪萨斯、肯塔基、新泽西、纽约、俄亥俄、俄克拉荷马、俄勒冈、宾夕法尼亚、罗德岛、得克萨斯、佛蒙特、弗吉尼亚和威斯康辛。其原因是州和联邦的失业信息系统过时且存在不兼容问题。这些系统大多可以追溯到20世纪80年代,有些甚至可以追溯到更早的年代。

新泽西州的情况非常糟糕,州长菲尔•墨菲(Phil Murphy)在新闻发布会上恳求COBOL(一种可以追溯到1959年的编程语言)程序员志愿者加快修复该州的残疾人自动福利系统(Disability Automated Benefits System)。墨菲生气地说,疫情过去后,将开展事后调查,看看“我们究竟是怎么到了需要COBOL程序员的地步?” 在联邦政府层面也出现了类似问题。作为联邦政府疫情救助计划的一部分,符合条件的美国纳税人可从国家税务局获得1 200美元的救助款。然而,这些款项花了20周的时间才被发放出去,原因是美国国税局的电脑系统比各州的失业系统还要古老,有些甚至可以追溯到60年前。 正如传奇投资者沃伦•巴菲特(Warren Buffett)曾经说过的那样:“只有当潮水退去的时候,你才知道谁在裸泳。”这场疫情就像一股强大的潮水退去,暴露出美国政府仍在依赖老旧IT系统。 但政府并不是唯一在过时IT系统重压下苦苦挣扎的机构。很容易发现,航空公司、银行、保险公司和其他商业实体也同样在继续依赖老旧的IT系统,应付着供应商不再支持或者因成本太高而无法修复的软件或硬件。这些系统很容易出现中断和错误,易受网络入侵的影响,而且维护成本越来越高,越来越困难。

自2010年以来,全世界的企业和政府在IT产品和服务上的支出估计为35万亿美元。其中约3/4用于运营和维护现有IT系统。至少有2.5万亿美元用于更换老旧的IT系统,其中约7200亿美元由于更换失败而被浪费。

但令人惊讶的是,人们很少注意到这些IT系统,即使公司和公共机构每年都会在这些系统上花费数千亿美元。从起床到睡觉,我们常常不知不觉地与几十个IT系统互动。在我们跳入载有嵌入处理器的汽车时,声控数字助理会为我们读新闻,有些处理器可以帮助我们开车,还有一些处理器则可为我们提供娱乐,让我们享用机器人煮的咖啡。污水处理厂、电网、空中交通管制、电信服务和政府行政管理等基础设施都依赖于数十万个看不见的IT系统,这些IT系统构成了另一个隐藏的基础设施。商业组织依靠IT系统来管理工资单、订购物品和核准无现金销售,这只是现代经济平稳运行所必需的数千项自动化任务中的区区3项。尽管这些系统几乎涉及我们生活的方方面面,但我们从来没有再考虑过它们,因为在大多数情况下,它们都在正常运行。我们甚至没有想到,IT需要持续关注才可以保证工作秩序。 英国历史学家大卫•艾杰顿(David Edger-ton)在其具有里程碑意义的研究《历史的震撼:1900年之后的技术与全球历史》(The Shock of the Old: Technology and Global History since 1900,牛津大学出版社,2007年)一书中表示,尽管维护和维修是我们与技术关系的核心,但它们是“我们不愿考虑的事情”。因此,技术维护“一直存在于一个朦胧的世界里,在由它们组成的社会中,几乎看不到它们的身影”。 事实上,老旧IT系统的隐形性恰恰证明了这些系统非常成功。当然,它们出现故障时则不然。

“老旧系统”没有正式的定义,但通常被理解为关键系统在某种程度上已经过时。它可能无法支持未来的业务运营;应用程序、操作系统或硬件的供应商可能不再营业或不再支持其产品;系统架构可能较为脆弱或复杂,不适合升级或修复;或者人们无法再去了解系统工作的细节。

计算机系统是否现代化几乎是困扰每个机构的问题。由于老旧IT系统带来的诸多问题,很多人可能认为现代化是一个无需考虑的问题。但这个决定并不像看上去那么简单。有些老旧IT系统会以这种方式走到最后,是因为它们在很长一段时间内都能正常工作。另一些则摇摆不定,因为该组织要么不想现代化,要么无力承担与现代化相关的成本和风险。 显然,对日常运营至关重要的老旧系统在没有重大故障的情况下是无法更换或改进的。因此,尽管该系统对机构运营的作用巨大,但管理层仍然往往忽视并推迟现代化。在大多数日子里,没有发生灾难性的错误,因此老旧系统仍然存在。 这种“踢罐子”的方法是可以理解的。大多数IT系统,无论是新建还是进行现代化改造都很昂贵,即使没有部分或全部出问题,也会出现延期或超支。许多前首席信息官和项目经理都证明,这些都不是有助于职业发展的经历。因此,只要一个IT系统能够可靠地运行,就不必计划让它退休。 然而,管理层真正需要的是,任何新的IT系统都能提供投资回报,花费越少越好,运行时间越长越好。这些要求会导致多年日常维护的投资不足。当然,10年后,当系统处于老旧状态时,当初那些批准投资这个新系统的高管们可能已经不在这个机构任职了。 同样,详细了解这个系统的运行模式及其局限性的开发人员很可能已经投入到其他项目或组织。对于寿命特别长的IT系统,它的大多数开发人员可能已经退休。随着时间的推移,这个系统就像办公电梯一样,成为用户日常生活的一部分。只要它能正常工作,就没有人注意它,最终,它退却到机构运营的阴影中。 IT系统就这样悄然进入老旧状态。

每个月都有数百万人会经历到老旧IT系统带来的故障和不便。

英国银行客户对这种故障太了解了。据英国金融行为监管局称,2017年10月至2018年9月,全国银行报告IT运行和安全事故近600起,比上一年增长了187%。政府监管机构指出,银行对拥有数十年历史的老旧IT系统的依赖是这些事故反复发生的原因。

航空公司的乘客也同样愤怒。在过去几年里,美国航空公司平均每月都会经历一次与IT相关的停机,其中许多都是由老旧IT系统造成的。有些持续了好几天,导致数千个航班延误或取消。

维护不善的老旧IT系统也容易出现网络安全漏洞。信用报告机构Equifax 的消费者自动访问系统(Automated Consumer Interview System)是20世纪70年代为处理消费者纠纷而开发定制的门户网站。由于这个老旧系统过于复杂,因此它的一个关键漏洞未能得到修补。2017年,这个漏洞造成了1.46亿人的个人敏感信息丢失。 老化的IT系统也为严重的勒索软件攻击打开了大门。在这类攻击中,网络入侵者侵入IT系统并对所有系统数据进行加密,直到支付赎金。在过去两年里,勒索软件攻击了亚特兰大和巴尔的摩,以及佛罗里达州的里维拉海滩和湖城的市政当局。后者分别向攻击者支付60万美元和50万美元。数十个州和地方政府以及学校系统和医院,都经历过勒索软件攻击。 即使没有经历令人尴尬和代价高昂的故障,各组织仍然需要应对老旧IT系统不断攀升的运营和维护成本。例如,美国政府审计署最近的一份报告发现,美国政府在2019财年的900亿美元IT支出中,近80%用于现有系统的运行和维护。此外,在美国政府审计署详细审计的7 000笔联邦IT投资中,有5233笔全部资金用于运营和维护,没有留下任何资金用于现代化。从2010财年到2017财年,IT现代化支出减少了73亿美元,而运营和维护支出增长了9%。托尼•萨尔瓦奇奥(Tony Salvaggio)是CAI(一家专门为政府和商业企业提供IT系统支持的国际公司)的创始人兼首席执行官,他指出,不断增长的老旧IT系统成本将继续吞食掉政府IT现代化的“谷种”。

虽然并非所有的运营和维护成本都归咎于IT系统的老旧,但美国政府审计署指出,支出的增长很可能是因为要支撑过时的计算机硬件(比如美国国税局2/3的硬件已经超出了其使用寿命),以及“维护使用古老编程语言的应用程序和系统,因为精通这些古老语言的程序员越来越少,所以也越来越贵”。

以COBOL为例,它是一种可以追溯到1959年的编程语言。几十年前计算机科学系就不再教COBOL了。然而,据报道,美国社会保障管理局仍在运行大约6000万行COBOL代码。美国国税局运行几乎一样多的COBOL编程代码,以及2000万行汇编代码。而且,根据美国政府审计署2016年的一份报告,美国商务部、国防部、财政部、卫生和公众服务部以及退伍军人事务部仍在“使用十几年前供应商就不再支持的20世纪80年代和90年代的微软操作系统”。 由于大量过时的软件仍在使用,它们的维护成本可能还会继续攀升,不仅是政府,商业组织亦是如此。

要解决这个大问题,首先要承认自己有问题。至少一些政府和公司终于开始这么做了。例如,2017年12月,美国总统特朗普签署了《政府技术现代化法案》(Modernizing Government Technology Act)使其成为法律。它允许美国联邦机构和部门向1.5亿美元的技术现代化基金申请资金,加快其IT系统的现代化。美国国会预算办公室最初表示,这一需求接近每年18亿美元,但政客们担心开支这笔钱是否能使得运行经费大幅减少。

美国和国外政府推动现代化是为了提供更有效的行政管理,提高福利交付的可靠性和速度,以及完善客户服务。相比之下,在商业领域,推动IT现代化更多地是因为竞争压力和新计算技术(如云计算机器学习等)的可用性。 萨尔瓦奇奥向本刊表示:“现在每个人都明白,IT能够推动机构创新。”他认为,未来几年创造的新技术“将摧毁30%至40%的现有商业模式”。在预期的快速交付改进功能或客户服务方面,背负着老旧IT系统的公司将无法与之竞争,因此“它们将发现自己被迫进入一个箱型峡谷,无法走出去”,萨尔瓦奇奥说。 这在银行业已经发生了。新企业将大部分IT预算用于开发新产品,而不是支持老旧系统,现有公司很难与这些企业竞争。例如,2014年开始运营的英国Starling银行只提供手机银行服务。它使用亚马逊网络服务托管其业务,仅花费1800万英镑就建起了它的基础设施。相比之下,英国的TSB银行,一家成立于1810年的传统全业务银行,在2018年花费4.17亿英镑才迁移到了新的银行平台。 Starling银行维护自己的所有代码,平均每天发布一个软件版本。它可以做到这一点,因为它不存在与无数老旧IT系统的复杂连接,根据英国银行监管机构的说法,每发布一款新的软件,老旧IT系统都存在重大操作失败的风险。简单系统意味着因IT系统导致的中断更少和更短。Starling银行自开业以来只发生了一次重大中断,而在同时期,英国三大银行的每一家至少发生了十几次。

现代化也带来了自身的问题。以将老旧数据迁移至新系统为例。2018年,当TSB迁移到新的IT平台时,大约190万的网上和移动客户发现自己的账户被锁了近两周时间。一个老旧系统的现代化通常意味着必须升级其他互连系统(这些系统也可能是老旧系统)。例如,美国国税局在20世纪60年代安装的原始税务主文件系统已经被埋在许多现代化的互连系统之下,每一个系统都使得取代之前的系统变得更加困难。自1968年以来,美国国税局一直在努力对其老旧的税务互连系统进行现代化,以当前货币计算,至少累计花费了200亿美元,但到目前为止成效不大。它计划在未来5年再投入27亿美元用于现代化建设。

另一个常见问题是老旧系统的功能重复。美国海军正在安装价值1.67亿美元的海军薪酬和人事系统,旨在整合55个单独IT系统的223个应用程序,其中10个应用程序的使用时间已超过30年,还有几个应用程序的使用时间超过了50年。这些不同系统使用了21种编程语言,运行9种操作系统,分布在73个数据中心和网络。

如此大规模的重复和数据孤岛听上去很荒谬,但却是个惊人的普遍现象。以下是一种常见原因:政府发布了一项新的命令,其中包括对某种自动化的要求,同时这项政策又带来了新的实施资金。相关部门或机构发现,与其升级现有系统造成危险,不如开发一个新的IT系统,即使新系统的部分或大部分功能与现有系统相同,操作起来也更容易。结果便是,同一个机构中的不同部门最终部署了功能重叠的IT系统。

萨尔瓦奇奥表示,长期以来“缺乏对系统工程的思考”以及缺乏能够避免重复的IT开发协调一直困扰着政府和企业。

解决老旧IT系统问题的最佳办法就是永远不要让它成为老旧IT系统。人们越来越认识到老旧IT系统的高昂费用,这引发了对软件维护作用的重新思考。2019年5月,美国国防创新委员会在发布的报告《软件永不止步》(Software Is Never Done)中阐述了一种新办法。它认为,软件应被视为“一种持久能力,须在其整个生命周期内得到支持和不断改进”。这包括在短时期内持续地测试、集成和提供软件系统的改进。

在实践中应该这样做。目前,软件开发、运行和支持都被视为独立的活动。但是,如果你使用DevOps将这些活动融合到一个单一的整体活动中,那么这个运行系统就会一直处于“开发中”,并不断地、渐进地进行改进、测试和部署,有时甚至一天好几次。 DevOps只是防止核心IT系统变成老旧系统的一种方法。美国国防部高级研究计划局(DARPA)一直在探索另一种可能更有效的方法,即认识IT系统实施后可使用的寿命。 自2015年以来,DARPA一直在资助旨在使软件可使用100多年的研究。项目经理桑迪普•尼玛(Sandeep Neema)表示,“资源自适应软件系统”(BRASS)项目正在努力寻找办法构建“能够动态适应所依赖资源和运行环境变化的长寿命软件系统”。 开发这样一个无时间限制的系统将需要“从零开始”软件设计,不用假设一个IT系统应该如何设计、编码或维护。但需要确定软件程序执行所需的逻辑资源(库、数据格式、结构)和物理资源(处理、存储、能量)。先进的人工智能AI)技术能够发现和显示应用程序与其他应用程序和系统的运行和交互,因此可以使用这种技术来完成这些分析。这样可以在问题发生之前主动管理资源或其他系统的交互的改变,这些改变会导致许多系统故障或运行低效。开发人员还需要开发一种功能,使用AI技术监控和修复应用程序执行环境中的所有元素。 尼玛告诉本刊,其目标是在不需要程序员人工广泛干预的情况下更新或升级应用程序,从而“降低维护成本”。 BRASS计划已经资助了9个项目,每个项目都代表着资源自适应软件系统需要做的不同方面。其中一些项目涉及无人机、移动机器人和高性能计算。最终成果预计将于2020年晚些时候公布,届时将向开源代码存储库、行业和美国国防部发布这些技术。 尼玛说,我们不应该指望BRASS提供“通用软件修复能力”。比较现实的结果是取得一种方法,可以在特定的数据、软件和系统参数范围内工作,帮助维护人员提高系统监管能力和效率。他当然希望私营企业和其他政府组织在BRASS项目成果的基础上继续发展。

新冠肺炎疫情暴露了依赖陈旧IT系统提供基本服务的后果。不幸的是,这种依赖,连同老旧IT系统巨大且不断增加的成本,在疫情结束后的很长一段时间内仍将伴随我们。单就美国政府而言,即使齐心协力且执行良好,也需要几十年的时间来更换现有的数万个老旧系统。在这段时间内,当前的IT系统也将变成老旧系统,它们自己也需要更换。考虑到疫情对预算的影响,未来所有政府部门用于老旧系统现代化的资金可能会更少。

随着物联网的成熟发展,老旧系统相关的问题会越发恶化。物联网有数十亿台互连互通的计算设备,这些设备已经开始连接到了老旧的IT系统上,这将使这些老旧系统的更换和现代化变得更加困难。物联网设备最终也将成为老旧设备。就像今天的老旧系统一样,只要这些设备能够继续工作,它们就不会被换掉,即使不再被支持。大量废弃但仍在运行的物联网设备所导致潜在的网络安全风险是一个巨大的未知数。很多物联网设备在部署时没有内置基本的网络安全技术,这种目光短浅的行为正在带来损失。出于网络安全的考虑,美国食品药品监督管理局召回了植入式起搏器和胰岛素泵,美国国家安全局也对物联网智能家具,以及其他互联网设备发出了警告。

现在设想一下不久的将来,数亿甚至数十亿的老旧物联网设备“根深蒂固”地嵌在政府和商业办公室、学校、医院、工厂、家庭甚至人们之中。进一步设想一下,它们的网络安全或技术缺陷没有得到修复,仍然与几乎不受支持的老旧IT系统相连。在这样一个世界里,普遍依赖于越来越多的互连老旧系统,将比艾杰顿口中的“朦胧世界”更加阴暗,更令人沮丧。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机系统
    +关注

    关注

    0

    文章

    281

    浏览量

    24089
  • 编程语言
    +关注

    关注

    10

    文章

    1939

    浏览量

    34608
  • 程序员
    +关注

    关注

    4

    文章

    950

    浏览量

    29768

原文标题:老旧IT系统的隐秘世界

文章出处:【微信号:IEEE_China,微信公众号:IEEE电气电子工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    mes系统定义与应用

    生产成本,从而提升企业的竞争力。 MES系统定义 MES系统,即制造执行系统(Manufacturing Execution System),是一种用于实时监控和控制工厂生产过程的信
    的头像 发表于 11-11 10:46 539次阅读

    新农村老旧民房电气火灾原因及预防措施

    的生命财产安全,同时也造成了农村社会秩序的不稳定。基于此,文章对农村老旧民房电气火灾原因及预防对策进行探讨,以供参考。
    的头像 发表于 10-25 10:43 198次阅读
    新农村<b class='flag-5'>老旧</b>民房电气火灾原因及预防措施

    工厂中老旧设备相同IP出现冲突如何解决

    在企业工厂中,随着自身生产规模与经营能力的不断扩展,新设备、新工艺的引入是必然的,但并不意味老旧设备就会全部被淘汰掉。老旧设备全部更换的方式成本高、施工周期也长,企业将面临大量生产空窗期,导致订单
    的头像 发表于 09-10 13:49 179次阅读
    工厂中<b class='flag-5'>老旧</b>设备相同IP出现冲突如何解决

    老旧小区焕发新生—末端计量改造工程照亮居民心间

    在城市的脉络中,老旧小区如同承载着岁月故事的低吟浅唱,它们见证了城市的变迁与发展,也面临着设施老化、能源管理不善等现实问题。老旧小区末端计量改造的全面推进,每一盏灯光背后,都蕴含着科技带来的温暖
    的头像 发表于 08-12 16:25 168次阅读
    <b class='flag-5'>老旧</b>小区焕发新生—末端计量改造工程照亮居民心间

    X定义下的车载电子系统

    1.X定义的的汽车2.车载电子系统的变化3.面临的系统设计问题4.阶段性实践总结
    发表于 08-07 21:39 0次下载

    聚焦热点:老旧小区安全用电改造

    随着城市化进程的加速推进,人员密集场所和九小场所等老旧建筑面临着日益严峻的电气火灾风险。为了筑牢安全防线,保障人民群众的生命财产安全,一场针对老旧建筑的电气火灾提前预警改造工程正悄然展开。
    的头像 发表于 07-31 17:17 243次阅读

    静态库中定义的INIT_DEVICE_EXPORT函数并没有系统调用,为什么?

    1,将一段代码编译成静态库 2,主工程链接这个静态库 3,静态库里的函数并没有被主工程调用 4,静态库中定义了一些 INIT_DEVICE_EXPORT 函数 问题: 静态库中定义的 INIT_DEVICE_EXPORT 函数
    发表于 07-04 06:49

    编译器报lcd_init没有定义怎么解决?

    问题描述:编译器告诉我lcd_init没有定义,这个函数我在ILI9341里面定义了并且也在源文件声明了,这个文件在Hardware目录下,我包含这个.h文件没有报错,但是在使用其中
    发表于 06-05 06:41

    老旧小区安全用电应该怎么选型

    安科瑞 邹玉丽 通过对上世纪90年代左右建造的老旧小区低压配电系统进行了一定的调查,相关调查图片如图1~4所示。对调查数据进行整理、归纳可知,样本小区低压配电系统的现状特性如表1~2所示。由表1~2
    的头像 发表于 06-04 15:59 254次阅读
    <b class='flag-5'>老旧</b>小区安全用电应该怎么选型

    信号与系统-能量定义浅析

    第一节先要说明白能量的定义,里面信号幅值的平方有一种大家都知道怎么来的,就我不知道的感觉。
    的头像 发表于 05-10 16:12 1299次阅读
    信号与<b class='flag-5'>系统</b>-能量<b class='flag-5'>定义</b>浅析

    请问头文件能不能定义变量呢?

    最近在编译一个工程的时候,突然遇到了变量重复定义的问题,根据提示打开这几个 C 文件,并没有发现定义变量的地方。后来再找一找,原来变量定义在了头文件里面。
    的头像 发表于 04-28 09:33 1083次阅读

    移植LwIP+uCOS提示 errno没有定义怎么解决 ?

    请教下,移植 LwIP+uCOS,提示 errno 没有定义 ? 是哪里没有配置好哇 ???
    发表于 04-23 07:21

    浅谈农村老旧民房电气火灾原因及电气火灾监控系统选型

    火灾事故。火灾事故给农村发展带来的不利影响,不仅严重威胁到农村群众的生命财产安全,同时也造成了农村社会秩序的不稳定。基于此,文章对农村老旧民房电气火灾原因及预防对策进行探讨,以供参考。 关键词: 老旧民房;电气火灾;原因;预防
    的头像 发表于 03-27 13:51 287次阅读
    浅谈农村<b class='flag-5'>老旧</b>民房电气火灾原因及电气火灾监控<b class='flag-5'>系统</b>选型

    STM32没有重复定义却报重复定义是怎么回事?

    STM32H743用keil v5编译,上报重复定义: 通过全工程查找 __stdout,却没有发现重复定义,麻烦帮我看看是怎么回事,谢谢!
    发表于 03-08 08:12

    浅谈农村老旧民房电气火灾原因及电气火灾监控系统选型

    群众的生命财产安全,同时也造成了农村社会秩序的不稳定。基于此,文章对农村老旧民房电气火灾原因及预防对策进行探讨,以供参考。
    的头像 发表于 02-02 15:47 329次阅读
    浅谈农村<b class='flag-5'>老旧</b>民房电气火灾原因及电气火灾监控<b class='flag-5'>系统</b>选型