本页面从架构角度简要介绍了可用于将旧版单体式应用和无服务器工作负载现代化改造为 Google Cloud上的云原生微服务的策略、工具和途径。
如果您是 Cloud Architect、应用开发者或工程主管,可以使用本页面中的信息来评估应用现代化改造路径、使用 Google Cloud Modernization Hub 评估 Java 工作负载的容器就绪情况、使用生成式 AI 重构代码库,以及部署到 Google Kubernetes Engine (GKE) 和 Cloud Run。
在阅读本页内容之前,您应该了解现有的应用架构、源代码依赖项和目标运行时要求。
应用现代化改造途径
根据源工作负载架构和开发目标选择合适的应用现代化改造路径。下图展示了应用现代化改造的三种路径:
每种途径都针对特定的现代化改造场景:
- .NET 和 Java 工作负载现代化改造:使用 Modernization Hub 评估 .NET 和 Java 工作负载,以评估 Java 工作负载的转换路径,例如框架升级和容器化。
- AI 辅助的代码重构:使用生成式 AI 对旧版框架进行现代化改造,并分解单体式架构。
- 无服务器迁移:将事件驱动型函数转换为可移植的容器化 HTTP 微服务。
.NET 和 Java 工作负载现代化改造
Modernization Hub 可帮助您评估 ASP.NET、.NET Framework 和 Java 工作负载,并评估 Java 工作负载的转换路径(例如框架升级和容器化),整个过程分为三个阶段:
- 工作负载评估:分析 Cloud Storage 中的源归档,以评估代码库兼容性和现代化改造工作量,而无需预配单独的计算实例。
- 阻碍因素检测:在可下载的 HTML 和 Markdown 报告中识别特定于操作系统和框架的阻碍因素(例如 Windows 注册表调用、Windows Communication Foundation [WCF] 服务、Internet Information Services [IIS] 依赖项和旧版 Java EE 命名空间)。
- 转型规划:评估建议的转型路径,包括 .NET 和 Java 工作负载的框架和依赖项升级,以及 GKE 或 Cloud Run 上 Java 工作负载的 Linux 容器化。
如需了解详情,请参阅评估 .NET 应用、评估 Java 应用和容器化应用迁移。
AI 辅助的代码重构
为了分析旧版应用代码并对其进行现代化改造(例如升级 .NET Framework 4.x 或针对 Linux 容器对 Java 工作负载进行现代化改造),Modernization Hub、Antigravity CLI 和 Antigravity 支持以下工作流:
- 依赖项评估:扫描源代码库,以识别不受支持的 API、紧密耦合的单体式组件和目标运行时兼容性。
- 代码重构:使用 Antigravity CLI 将旧版框架调用转换为现代跨平台等效项。
- 工件生成:为目标应用生成多阶段 Dockerfile 和配置文件。
无服务器迁移
将无服务器函数从 AWS Lambda 迁移到 Cloud Run 涉及以下阶段:
- 运行时依赖项评估:确定事件触发器、环境变量和执行限制。
- 执行封装容器重构:使用 Antigravity CLI 将 AWS Lambda 事件处理脚本调整为标准 HTTP 无状态容器处理脚本。
- Cloud Run 部署:将函数打包为容器并将其部署到 Cloud Run,以实现自动扩缩和按用量付费。
参考架构
如需了解深入的架构模式和现代化改造参考指南,请参阅 Google Cloud 架构中心内的以下资源: