# Assessment: Fargate to Container Apps ## Checklist ### 1. Container Configuration - **CPU/Memory**: Extract from task definition and verify the requested CPU/memory fits within Azure Container Apps limits for the target environment/region - **Container Images**: Registry location (ECR), image size, base image - **Port Mappings**: Exposed ports and protocols ### 2. Environment & Secrets - Static configuration values (env vars) - Secret references: Secrets Manager ARNs → Key Vault URLs with managed identity - Parameter Store references → App Configuration or Key Vault - Service discovery endpoints ### 3. Networking - VPC subnets (public vs private) → VNet integration - Security groups → NSG rules - Load balancer type (ALB/NLB) → Container Apps ingress (built-in HTTPS) - Health check configuration and SSL/TLS certificates ### 4. IAM & Security - Task role policies → Managed Identity + Azure RBAC - ECR pull permissions → ACR role assignment (AcrPull) - Secrets Manager access → Key Vault RBAC (recommended) or access policies for vaults still using access-policy mode ### 5. Dependencies - **Databases**: RDS → Azure Database for PostgreSQL/MySQL/SQL - **Cache**: ElastiCache → Azure Cache for Redis - **Storage**: S3 → Azure Blob Storage (SDK: boto3 → azure-storage-blob) - **Messaging**: SQS/SNS → Service Bus / Event Grid - **Monitoring**: CloudWatch → Azure Monitor / Log Analytics (requires Log Analytics workspace on Container Apps environment) ### 6. Scaling & Performance - Auto scaling policies (target tracking, min/max tasks) - Request rate and latency requirements - Actual CPU/memory usage vs allocation ## Resource Mapping | ECS Task Definition | Container Apps Equivalent | |---------------------|--------------------------| | `cpu: "512"` (0.5 vCPU) | `cpu: 0.5` | | `memory: "1024"` (MB) | `memory: 1Gi` | | `containerPort` | `ingress.targetPort` | | `environment` | `env` array | | `secrets` (Secrets Manager ARN) | `secrets` with `keyVaultUrl` + `identity` | | `logConfiguration` (awslogs) | Log Analytics (requires workspace on environment) | | Service Auto Scaling | `scale.rules` (HTTP/CPU/memory/custom) | ## Complexity Rating - **Low**: Single container, no VPC, standard env vars, public ingress - **Medium**: Multiple containers, VPC with private connectivity, secrets, custom IAM - **High**: Multi-service dependencies, VPN/Direct Connect, cross-account IAM, stateful workloads