This page provides an architectural overview of the strategies, tools, and pathways available to modernize legacy monolithic applications and serverless workloads into cloud-native microservices on Google Cloud.
If you are a cloud architect, application developer, or engineering lead, use the information on this page to evaluate application modernization pathways, assess container readiness for Java workloads with Google Cloud Modernization Hub, refactor codebases by using generative AI, and deploy to Google Kubernetes Engine (GKE) and Cloud Run.
Before you read this page, you should have an understanding of your existing application architectures, source code dependencies, and target runtime requirements.
Application modernization pathways
Choose an appropriate application modernization pathway based on your source workload architecture and development goals. The following diagram illustrates three pathways for modernizing applications:
Each pathway addresses a specific modernization scenario:
- .NET and Java workload modernization: assesses .NET and Java workloads by using Modernization Hub to evaluate transformation paths such as framework upgrades and containerization for Java workloads.
- AI-assisted code refactoring: modernizes legacy frameworks and decomposes monolithic architectures by using generative AI.
- Serverless migration: converts event-driven functions into portable, containerized HTTP microservices.
.NET and Java workload modernization
Modernization Hub helps you assess ASP.NET, .NET Framework, and Java workloads and evaluate transformation paths such as framework upgrades and containerization for Java workloads across three phases:
- Workload assessment: analyze source archives in Cloud Storage to evaluate codebase compatibility and modernization effort without provisioning separate compute instances.
- Blocker detection: identify OS-specific and framework blockers (such as Windows Registry calls, Windows Communication Foundation (WCF) services, Internet Information Services (IIS) dependencies, and legacy Java EE namespaces) in downloadable HTML and Markdown reports.
- Transformation planning: evaluate recommended transformation paths, including framework and dependency upgrades for .NET and Java workloads, and Linux containerization for Java workloads on GKE or Cloud Run.
For more information, see Assess .NET applications, Assess Java applications, and Containerized application migration.
AI-assisted code refactoring
To analyze and modernize legacy application code, such as upgrading .NET Framework 4.x or modernizing Java workloads for Linux containers, Modernization Hub, the Antigravity CLI, and Antigravity support the following workflow:
- Dependency assessment: scan source code repositories to identify unsupported APIs, tightly coupled monolithic components, and target runtime compatibility.
- Code refactoring: use Antigravity CLI to transform legacy framework calls into modern, cross-platform equivalents.
- Artifact generation: generate multi-stage Dockerfiles and configuration files for target applications.
Serverless migration
Migrating serverless functions from AWS Lambda to Cloud Run involves the following stages:
- Runtime dependency evaluation: identify event triggers, environment variables, and execution limits.
- Execution wrapper refactoring: use the Antigravity CLI to adapt AWS Lambda event handlers into standard HTTP stateless container handlers.
- Cloud Run deployment: package the function as a container and deploy it to Cloud Run for autoscaling with pay-per-use billing.
Reference architectures
For in-depth architectural patterns and modernization reference guides, see the following resources in the Google Cloud Architecture Center:
What's next
- Containerized application migration
- Mainframe modernization overview
- Modernization Hub documentation