亚马逊AWS官方博客

通过 AWS Transform 持续现代化(预览版)自动主动减少技术债务

今日,我们正式推出 AWS Transform 持续现代化(预览版),这是 AWS Transform 的全新功能,可大规模、自动化、持续开展技术债务分析和修复工作。AWS Transform 现已助力企业完成数据中心迁出、大型机与 Windows 应用程序现代化改造,同时处理各类标准化软件维护工作:升级 Java 版本、替换已废弃框架、在 AWS Lambda 运行时生命周期结束前完成更新。此次全新体验在此基础上进一步扩展。客户可全面查看数千个存储库的代码库现状、按优先级排序的调查发现,以及用于完成修复的拉取请求。

工程组织通常会消耗高达 30% 的 IT 预算。客户需要拼接多款单点工具:一款用于识别依赖项问题、一款标记安全漏洞、一款管控代码质量。但目前尚无工具能够大规模、持续地完成技术债务的检测、优先级排序和修复工作。最终只能依靠人工逐个应用程序循环处理,大量消耗研发人力。管理层只能依靠团队自主上报进度,这种方式滞后于真实情况,且无法暴露功能退化问题。人工智能辅助开发加剧这一困境:编程代理加快迭代变更速度,技术债务累积速度远超开发人员的处理能力。客户需要一种可大规模、持续、自主完成技术债务检测、优先级排序和修复的功能。

持续分析
为解决可视性难题,AWS Transform 这项全新功能会依据可配置基准自动扫描代码存储库,仅需数小时即可生成问题报告,无需等待数周。开箱即用的 AWS Transform 持续现代化功能附带内置策略,可识别生命周期终止依赖项、已废弃框架以及其他常见技术债务来源。您还可基于自身企业需求扩展修复规则,包含企业认可类库、内部编码规范,或是平台团队已落地执行的技术债务管控策略。例如,如果您的团队已弃用某内部类库,或指定统一日志规范,您可将该要求固化为策略,在全部存储库中持续执行检测。

区别于阶段性人工核查,持续分析可直接从代码中获取真实客观的现状数据。当存储库落后于您的基准线时,您会立即知晓,清楚显示哪些组件落后、落后多少,不受团队处置方式影响。这样就无需进行状态检查和合规手动追踪,平台团队可实时掌握完整技术债务全貌。

大规模自主修复
确定调查发现并对其进行优先级排序后,您可以配置自主补救措施,自动为受影响的存储库生成拉取请求。这项全新的 AWS Transform 功能内置通用场景修复转换规则,涵盖 Java 版本升级、软件开发工具包迁移、库更新等场景。您也可针对企业特定的规范创建自定义转换。

启动修复任务后,持续现代化功能会为每一个受影响的存储库生成拉取请求,并向对应负责团队推送通知,例如:“该存储库的此依赖项未达到企业基准标准。这是一份可解决该问题的 PR。” 团队可以审核并合并该 PR,也可以选择使用自己的方法进行修复。无论采用哪种方式,持续分析均可检测修复是否完成,提供真实客观的现状数据,无需手动确认。

AWS Transform 持续现代化可与 AWS Security Agent 集成,在源代码层面识别并修复安全漏洞,安全调查发现会与其他技术债务纳入同一优先级清单及拉取请求工作流程。

操作演示
要开始使用,可导航到 AWS Transform Web 应用程序。在控制面板中,可查看企业全部存储库概览,以及各存储库与预设基准的对标现状。

首先,连接源代码控制系统,并基于指定策略启动分析。数小时内即可返回所有存储库的调查发现,显示偏离基准的存储库及差距程度。我可以查看问题严重等级、受影响的文件数量以及检测到的具体技术债务模式。

在此,我选择一组高优先级调查发现,并启动批量修复任务。AWS Transform 持续现代化会为每一个受影响的存储库生成拉取请求。我可以实时监控任务进度,查看已创建的 PR、已完成合并的 PR,以及恢复合规状态的存储库。

图 1:AWS Transform 持续现代化控制面板,展示全部关联存储库的技术债务问题总览。

图 2:详细的调查发现视图,按严重等级、类别、存储库逐条列出各项技术债务,并展示可用修复方案。

图 3:源视图,展示持续现代化功能正在跟踪分析的 GitHub 与本地环境关联存储库。

提速现代化的方法
这些功能支持两种不同的代码现代化方式。在持续模式下,您可使用持续现代化功能,在基准发生变更时保持代码库同步更新。这可以视为升级库、部署安全补丁、在全企业范围内落地编码规范的日常工作。

针对大型现代化项目,例如框架迁移、数百个应用程序统一升级主运行时版本,您可以使用活动模式开展定向、基于项目的现代化改造。AWS Transform 自定义功能仍可为这类大型改造工作提供灵活原语。AWS Transform 持续现代化专为平台团队每日管理的高频、重复性工作打造。

现已推出
AWS Transform 持续现代化(预览版)现已推出。您可通过 AWS Transform Web 应用程序、AWS Transform Kiro 能力包,或 MCP 和与现有编程代理集成的技能来开始使用。要了解更多信息,请访问 AWS Transform 文档