Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Assess and migrate workloads from AWS, GCP, or other clouds to Azure services.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/services/container-apps/spring-apps-to-aca.md
1# Spring Boot to Azure Container Apps Migration23> Migrate Spring Boot applications from Azure Spring Apps, VMs, or other platforms to Azure Container Apps with containerization, deployment, and Spring Cloud integration.45## Overview67This migration enables you to move existing Spring Boot applications from Azure Spring Apps (or any platform) to Azure Container Apps with minimal code changes.89## Migration Scenarios1011| Source Platform | Target Platform | Migration Path |12|----------------|-----------------|----------------|13| Azure Spring Apps | Azure Container Apps | Assess → Containerize → Deploy → Spring Cloud components |14| Spring Boot on VMs | Azure Container Apps | Assess → Containerize → Deploy |15| Spring Boot (other cloud) | Azure Container Apps | Assess → Containerize → Deploy |1617## Service Mapping1819| Spring Apps Feature | Container Apps Equivalent |20|-------------------|---------------------------|21| App Deployment | Container App |22| Service Registry (Eureka) | Managed Eureka for Spring (`eureka-server-for-spring`); alt: Dapr service invocation + internal DNS |23| Config Server | Managed Config Server for Spring (`config-server-for-spring`); alt: Azure App Configuration + Key Vault |24| Spring Cloud Gateway | Managed Gateway for Spring; alt: Azure API Management / Container Apps ingress |25| Distributed Tracing | Application Insights |26| Log Streaming | Log Analytics Workspace |2728## Pre-Migration Assessment2930Assess your Spring Boot application for migration readiness:3132- **Local State**: Check for in-memory sessions, singletons, file-based state → [spring-assessment-guide.md](spring-assessment-guide.md#local-state-assessment)33- **File System**: Identify file writes, temp files, shared storage needs → [spring-assessment-guide.md](spring-assessment-guide.md#file-system-usage)34- **Platform Compatibility**: Verify Java 17+, Spring Boot 3.x support → [spring-assessment-guide.md](spring-assessment-guide.md#platform-compatibility)35- **External Resources**: Inventory databases, message brokers, caches → [spring-assessment-guide.md](spring-assessment-guide.md#external-resources-inventory)3637## Migration Workflow38391. **Assess** — Analyze application for migration readiness40> Present findings and complexity rating to user. Ask: "Assessment complete — proceed with containerization?"412. **Containerize** — Create Dockerfile, build image, push to ACR423. **Provision** — Create Container Apps environment, configure logging434. **Deploy** — Deploy container to Azure Container Apps445. **Optimize** — Add Spring Cloud components (Config, Eureka, Gateway)4546See [spring-deployment-guide.md](spring-deployment-guide.md) for detailed phase-by-phase instructions.4748## Key Differences from Azure Spring Apps4950| Aspect | Azure Spring Apps | Container Apps |51|--------|-------------------|----------------|52| Deployment Unit | JAR/WAR | Container Image |53| Service Discovery | Built-in Eureka | Managed Eureka component (or Dapr / DNS) |54| Configuration Management | Built-in Config Server | Managed Config Server component (or App Configuration) |55| Scaling | Auto-scaling | HTTP/CPU/Memory/Custom metrics |56| Networking | VNet injection | VNet integration + Internal ingress |5758## Best Practices5960- Use managed identity for Azure resource access (no connection strings)61- Store secrets in Azure Key Vault, reference via environment variables62- Use Application Insights for observability63- Enable Log Analytics for centralized logging64- Use Azure Files for persistent storage if needed6566## Next Steps After Migration6768After successful migration:691. Configure Spring Cloud components (optional)702. Set up CI/CD pipeline with GitHub Actions / Azure DevOps713. Configure custom domains and SSL certificates724. Implement autoscaling rules735. Hand off to `azure-prepare` for infrastructure optimization74