关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, 生成式AI, Amazon Q Code Transformation, Legacy Application Upgrades, Generated Ai Acceleration, Maintenance Automation, Code Transformation, Library Upgrades]
导读开发人员花费大量时间完成维护和升级遗留应用程序的非差异化工作。团队需要在构建新功能的投资与必要的修补和更新工作之间取得平衡。现在,利用生成式人工智能的力量,Amazon Q开发者代理可以加速这些关键的升级任务,在几小时或几天内将应用程序转换为使用最新的语言特性和版本,从而节省大量成本。参加本次会议,了解最新动态以及您的团队如何实现Java应用程序升级的自动化。
演讲精华以下是小编为您整理的本次演讲的精华。
在不断发展的科技世界中,企业不断努力保持竞争优势和运营效率。在这一过程中,一个关键考虑因素是对遗留应用程序的维护和升级,尤其是那些构建在Java平台上的应用程序。在2024年亚马逊云科技 re:Invent大会上,亚马逊云科技 Next Gen Developer Experience团队的首席专家Adnan Delbani就解决了这一挑战。
Adnan首先承认,许多与会者正在为Java应用程序进行升级和现代化改造,这反映了应用程序升级和现代化的普遍需求。他介绍了同事Elliot Demajo(Amazon CodeGuru的产品负责人)和Amber Bird(加拿大人寿公司工程副总裁),后者将分享在这一用例中的实际经验。
Adnan深入探讨了推动这些努力的原因,包括提高性能和效率、解决安全风险、保持供应商支持的最新状态以及增加可扩展性。为建立共同理解,他将应用程序解剖为四个层次:基础设施、操作系统、编程语言和框架以及应用程序层本身。
Adnan解释说,每一层都需要以不同的时间间隔和复杂程度进行维护和升级。基础设施升级通常每三到五年进行一次,而操作系统更新则更加频繁,定期进行安全补丁和小版本更新。框架和编程语言更新(如Spring Boot、Hibernate和Struts等Java应用程序)的应用频率不一,通常优先考虑安全性而非性能增强。
在应用程序层面,虽然会更频繁地进行错误修复和安全更新,但重构和性能改进有时会根据业务需求而被降低优先级。Adnan强调,推迟这些变更可能会导致更大规模的现代化项目,这可能会变得乏味、耗时且涉及开发人员通常回避的大量重复劳动。
Adnan随后探讨了当前应用程序维护和升级的方法,通常包括自动化和手动工作的混合。虽然工具和脚本可以帮助完成诸如更新主要框架等任务,但开发人员通常会创建自定义脚本来推进这一过程。然而,解决已弃用的代码以及添加单元测试和文档往往需要人工干预。
为了说明典型的Java工作流程,Adnan以从Java 8升级到Java 17为例。他演示了开发人员如何利用脚本和自动化来应用更改、升级框架和依赖项,然后编译和测试更新后的代码。不可避免地,会出现错误和问题,导致修复、测试和重复的循环,直到应用程序兼容Java 17。
接下来,Adnan介绍了Amazon CodeGuru,这是一项利用生成式人工智能来加速此过程的亚马逊云科技服务。他展示了CodeGuru的代码转换功能如何分析现有的Java应用程序,识别升级到较新Java版本所需的更改,并自动应用这些更改。
在现场演示中,Adnan在集成开发环境(IDE)中打开了一个示例Java项目,并启动了代码转换过程。CodeGuru扫描了项目、编译它,并提供了一个详细的转换计划。随着转换的进行,CodeGuru应用了必要的更新、更新了依赖项,并尝试解决任何编译错误或问题。
虽然CodeGuru在演示中没有完全完成转换,但Adnan强调它旨在加速这一过程,处理大部分工作,让开发人员能够更有效地专注于剩余的手动任务。他强调CodeGuru不是一个可以产生完全升级应用程序的魔术按钮,而是一种简化流程的工具。
接下来,加拿大人寿公司的Amber Bird分享了该公司在大规模应用程序现代化项目中使用CodeGuru的实际经验。加拿大人寿公司拥有175年的历史,提供保险、财富管理和医疗保健福利产品和服务,在2023年中期将100多万新客户接入其数字体验后,遗留平台出现了稳定性问题。
认识到需要改进,Amber从高层获得了500万美元的资金,启动了一项应用程序现代化计划。该计划包括对准单一API网关、停用遗留平台、将数据库迁移到云端以及采用统一的消息传递和事件平台。
这一计划的硬性好处是明确的,预计每年可节省100万美元。然而,降低故障和中断风险、降低运营成本、简化架构以及提高客户可用性、弹性和性能等软性好处同样令人信服。
作为该项目的一部分,加拿大人寿公司与安全团队合作,他们要求将被迁移到云端的API必须经过安全加固,并消除现有漏洞。这一要求使每个API的预计成本增加了50%以上,导致预计总成本达到1000万美元,时间线延长至2025年底。
面对这一挑战,Amber寻求降低增加的成本并加快进度的方法。她转向战略供应商,包括亚马逊云科技和当时仍在预览阶段的Amazon CodeGuru。加拿大人寿公司与亚马逊云科技达成协议,亚马逊云科技将在试点期间提供支持,作为回报,加拿大人寿公司将为CodeGuru产品提供反馈。
试点取得了成功,Amber分享了CodeGuru如何通过自动化任务(如升级Java版本、更新框架和依赖项以及解决已弃用的API)来加速他们的现代化进程。她强调了通过与亚马逊云科技的合作伙伴关系实现的生产力提升,以及为塑造CodeGuru功能发展提供的宝贵反馈。
接下来,Amazon CodeGuru的产品负责人Elliot Demajo上台讨论了代码转换的最新改进和即将推出的新功能。他强调了增强的人工智能能力,包括一个多边缘调试器,与之前的调试器相比,调试性能提高了85%。
Elliot介绍了新功能,如仅库升级,允许开发人员为已在Java 17上运行的应用程序更新框架和依赖项。这解决了客户希望将CodeGuru用于遗留现代化项目之外的应用程序的常见需求。
此外,Elliot展示了生成多个差异以获得更好的代码审查体验的能力,使开发人员能够专注于特定更改,而不是一次性吸收所有更新。他还演示了CodeGuru现在如何能够处理具有第一方依赖项或自定义框架的应用程序,允许进行部分转换,然后与CodeGuru进行后续迭代以升级其他库。
为了满足大规模自动化的需求,Elliot介绍了Java转换的命令行界面,可以集成到脚本和CI/CD管道中。这一功能使组织能够自动化应用程序转换,并为开发人员审查生成差异,从而简化了数百个包的流程。
此外,Elliot强调了定义特定于组织代码库的自定义转换的能力。这一功能允许组织向CodeGuru提供处理其独特框架和转换的知识,从而解锁其在特定用例中的潜力。
总之,2024年亚马逊云科技 re:Invent大会展示了亚马逊云科技致力于通过CodeGuru利用生成式人工智能来加速应用程序维护和升级,尤其是针对Java应用程序。加拿大人寿公司的实际案例证明了潜在的生产力提升,以及CodeGuru功能不断改进。演讲者强调,结合人工智能驱动的自动化与人类专业知识,可以实现成功的应用程序现代化和维护,使企业在不断发展的技术环境中保持竞争优势和运营效率。
下面是一些演讲现场的精彩瞬间:
演讲者讨论了软件维护中自动化和手动工作的当前做法,强调了混合方法的需求,以及某些任务需要自定义脚本和手动更改。
演示了 Q Code Transformation 的无缝集成,这是一种简化将Java项目转换为无服务器应用程序过程的 IDE 体验。
演示了如何利用 AI 助手 Q 加速开发,通过修复Java文件中的编译错误。
演示了使用 Amazon CodeGuru 将Java应用程序从 Spring Boot 2.7 升级到 3.3 和Java 17 的过程,展示了逐步审查过程,以及使应用程序保持最新版本的能力。
亚马逊云科技推出了一个命令行界面,用于大规模自动化应用程序转换,使客户能够高效处理大规模现代化项目。
亚马逊云科技推出了Java转换的命令行界面,实现了Java应用程序的自动升级、维护和自定义转换。
在这场引人入胜的演讲中,亚马逊云科技展示了利用生成式人工智能技术Amazon CodeGuru (Q)加速应用程序维护和升级的创新方法。演讲者Adnan Delbani以及来自加拿大人寿保险公司的同事Elliot Demajo和Amber Bird深入探讨了遗留应用程序升级的复杂性和开发人员所面临的挑战。
首先,Adnan强调了通过应用程序升级来解决性能、安全风险、供应商支持和可扩展性问题,从而保持企业竞争优势和效率的重要性。他分解了应用程序的结构,将其划分为基础设施、操作系统、编程语言/框架和应用程序代码层,每一层都需要在不同的时间间隔进行维护和升级。
其次,Adnan介绍了Amazon Q Code Transformation,这是一款革命性的工具,利用人工智能分析更新、进行必要的更改、编译、测试,甚至增强单元测试,大大加快了维护过程。通过现场演示,他展示了Q提供转换计划、应用更改和生成转换摘要的能力,凸显了其简化升级过程的潜力。
第三,Amber Bird分享了加拿大人寿保险公司在Q Code Transformation预览阶段的实际应用经验。她详细介绍了他们的应用程序现代化计划、所面临的挑战,以及Q的试点项目如何帮助降低成本、加快进程,从而实现了显著的生产力提升和成本节约。
最后,Elliot Demajo揭示了Q Code Transformation的最新增强功能,包括改进的多代理调试器、针对Java 17应用程序的库级升级、逐步差异审查和用于大规模自动化的命令行界面。他强调亚马逊云科技致力于持续改进,让开发人员能够高效地维护和升级应用程序。
总之,这场演讲强调了亚马逊云科技利用生成式人工智能革新应用程序维护和升级的愿景,让开发人员能够专注于创新,同时自动化重复繁重的任务。通过Q Code Transformation,企业可以加速现代化进程,保持竞争力,并为客户提供卓越的体验。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。返回搜狐,查看更多