Amazon Q代码转换:自动化Java应用程序升级

AWS 推出 Amazon Q Code Transformation 预览版

AWS 最近宣布推出 Amazon Q Code Transformation 的预览版,这是一项通过生成式人工智能简化现有 Java 应用程序代码升级过程的服务。该新功能旨在减少遗留代码,并自动化从旧语言版本迁移所需的常见语言升级任务。

当前支持范围

目前,Code Transformation 支持将使用 Maven 构建的 Java 8 和 11 应用程序升级到 Java 17。AWS 表示,该服务很快还将支持将基于 Windows 的 .NET Framework 应用程序升级到跨平台的 .NET,从而加速向 Linux 的迁移。

升级流程

使用该服务进行端到端应用程序升级需要三个步骤:

  1. 分析现有代码
  2. 生成转换计划
  3. 完成计划建议的转换任务

功能详情

AWS 首席布道师(EMEA)Danilo Poccia 解释说,Amazon Q Code Transformation 可以识别并更新包依赖项,重构过时的代码组件,切换到新的语言框架,并纳入安全最佳实践。完成后,用户可以查看转换后的代码,包括构建和测试结果,然后再接受更改。

技术支持

Code Transformation 根据 IDE 配置确定代码版本,并使用 Maven 中央仓库服务器上的依赖项,但它会从本地机器复制自定义依赖项以及应用程序代码。亚马逊副总裁兼杰出工程师 Matthew Wilson 表示,该服务使用 OpenRewrite 来加速 Java 升级。OpenRewrite 是一个 Apache2 许可的 Java 和其他源代码的重构生态系统,用于执行语言升级、框架升级、依赖迁移、安全补丁和自定义转换。

成功案例

亚马逊内部的一个五人团队在两天内成功将一千个生产应用程序从 Java 8 升级到 Java 17。平均每个应用程序的升级时间为 10 分钟,最长的一个不到一小时。

其他公司参与

亚马逊并非唯一基于 OpenRewrite 构建服务的公司。OpenRewrite 的发明者 Jonathan Schneider 创立的 Moderne 提供了一个 SaaS 服务,用于将 OpenRewrite 配方分发到大型代码库。

.NET 支持

虽然 .NET 支持的时间表尚未公布,但 Wilson 表示,帮助客户现代化其 .NET 应用程序并迁移到开源 .NET 在 Linux 上运行也是多年的投资,他期待看到 Amazon Q Code Transformation 如何使 .NET 客户的现代化变得更加容易。

成本

在预览期间使用 Code Transformation 没有额外费用,但需要 AWS Toolkit for IntelliJ IDEA 或 AWS Toolkit for Visual Studio Code 中的 CodeWhisperer Professional Tier(每月 19 美元/用户)。

阅读 31
0 条评论