As Azure grows and resources continue to improve, Microsoft will continuously retire old and outdated resources. Any resources not migrated by the retirement date may stop working as Microsoft shuts down the endpoints on which they run. Below is a list of all resources that will be retired within the next six months.
Date | Retiring Resource | Feature/Version | New Resource | Migration Plan |
2025-02-28 | Azure Cache for Redis | TLS 1.0/1.1 | TLS 1.2 | Update |
2025-02-28 | Service Bus | TLS 1.0/1.1 | TLS 1.2 | Update |
2025-02-28 | Event Grid | TLS 1.0/1.1 | TLS 1.2 | Update |
2025-03-28 | Azure Database for PostgreSQL | Azure Database for PostgreSQL Single Server | Azure Database for PostgreSQL Flexible Server | Migrate |
2025-03-31 | Azure Synapse | Azure Synapse Runtime for Apache Spark 3.3 | Azure Synapse Runtime for Apache Spark 3.4 | Upgrade |
2025-03-31 | Cognitive Services | QnA Maker | Custom Question Answering | Migrate |
2025-03-31 | HDInsight | 4.0/5.0 | 5.1 | Migrate |
2025-03-31 | Virtual Machines | Standard_NC24rs_v3 | NC24ads_A100_v4 (or similar) | Resize |
2025-03-31 | Azure Spring Apps | Standard consumption and dedicated plan (preview) | Azure Container Apps | Migrate |
There are several ways to determine if your environment is running these retiring resources.
Microsoft will send out emails regularly with information about resources in your tenant that are being retired. It will include a list of resources affected, information about what is being retired, and a plan to transition to the latest version of each resource.
Portal
When accessing resources in the portal, Microsoft will show a notification on any resource that is being retired. It may include a link to documentation on transitioning to the latest version and a link to do a step-by-step migration using their wizard.
Azure Advisor
Azure provides a resource called Advisor, which contains a Workbook that compiles a list of all resources announced as retiring. To access this, log into the portal and go to Advisor. On the left panel, select Workbooks. Choose the Service Retirement (Preview) from the list by clicking on it. Here, you can see a list of all resources being retired and any affected resources in your tenant. You can edit and save the Workbook and pin it to a Dashboard for easy access.
CLI
Either Azure CLI or PowerShell can be used to search for resources programmatically. In the below example, the Azure CLI can be used to find all Classic resources.
# Define the tenant ID
$tenantId = "XXXXXXXXXXX"
# Connect to Azure with the specific tenant
az login --tenant $tenantId
# Get all subscriptions in the specified tenant
$subscriptions = az account list --query "[?tenantId=='$tenantId'].{id:id, name:name}" --output json | ConvertFrom-Json
# Initialize array to hold all classic resources across all subscriptions
$allClassicResources = @()
# Loop through each subscription
foreach ($subscription in $subscriptions) {
Write-Output "Processing subscription: $($subscription.name)"
# Set the current subscription context
az account set --subscription $subscription.id
# List classic resources in the current subscription
$classicResources = az resource list --query "[?contains(type, 'Classic')]" --output json | ConvertFrom-Json
# Add subscription ID and name to each resource for context
foreach ($resource in $classicResources) {
$resource | Add-Member -MemberType NoteProperty -Name SubscriptionId -Value $subscription.id
$resource | Add-Member -MemberType NoteProperty -Name SubscriptionName -Value $subscription.name
$allClassicResources += $resource
}
}
# Display the classic resources
if ($allClassicResources.Count -eq 0) {
Write-Output "No classic resources found across all subscriptions."
} else {
Write-Output "Classic resources found across all subscriptions:"
$allClassicResources | ForEach-Object {
Write-Output "Subscription: $($_.SubscriptionName) ($($_.SubscriptionId))"
Write-Output "Name: $($_.name)"
Write-Output "Type: $($_.type)"
Write-Output "Resource Group: $($_.resourceGroup)"
Write-Output "Location: $($_.location)"
Write-Output "---------------------------"
}
}
For more information or any questions, please contact us.