Skip to content

theangrytech-git/azure-service-retirements

Repository files navigation

*******************************************************************************

PROJECT NAME:     Azure Service Retirements
CREATED BY:      THEANGRYTECH-GIT
REPO:         [(Azure Service Retirements)]

DESCRIPTION:
      This PowerShell script queries Azure Service Health to identify
Service Retirement and end-of-life notifications affecting an Azure subscription.
It extracts impact, region, and timeline details and generates a clear HTML report to
help teams proactively plan and avoid disruption from retiring Azure services.

It will highlight any Services due to retire within:
365 days - treated as Informational
90 days until retirement - treated as Medium Priority
30 days until retirement - treated as High Priority

The report will highlight what Feature/Service is due for Retirement (ie Support for TLS 1.0/1.1)
and will provide a list of what the affected Resource Names are, what Resource Group they are in,
what Subscription they are in, as well as how many days are left until the Feature/Service is retired.

The report can either be run locally on your desktop, or as an Azure Runbook.

Serivce_Retirement_Locally_Run - Allows you to run it locally from your Desktop using Powershell,
to generate a report which will be emailed to you. Can be run at any point.
You will need to change Lines 19-33 to match your Sendgrid API, Email Addresses, and Subcription details
You can also change the 'Look Ahead' days on Lines 28-30 if you want longer/shorter reporting periods.

Serivce_Retirement_Azure_Runbook - Can be added as an Azure Runbook, to run on a schedule within a
Azure Automation Account.
You will need to create the Automation Variables from Lines 19-32 and provide your Sendgrid API, Email addresses, and Subcription details
*******************************************************************************

NOTES:
This will require the following to run:

Service Principal - needs Reader Permissions on the Subscription
SendGrid API Key - Used to send the email to the recipent. You can use an Azure-based
solution like Azure Communication Services, or an Azure Function with SMTP. But I have
a Sendgrid API so that's what I've built this around.

*******************************************************************************

This will create a single report that will report on any Services/Features that may retire within 365 days (Or as soon as reported by MS/Azure)
and provides a one-stop report of any Resources that will be impacted by the Retirements from Azure.

It's recommended that this report is run once a month, so you have a monthly report for any Clients/Projects that require it, as well
as your Operations Teams.
*******************************************************************************
Screenshots
*******************************************************************************

Here's some screenshots of the report, with some details omitted for security purposes:

Azure Advisor Categories
Figure 1: List of Service Retirements, running in a test subscription

About

This report connects to Azure, retrieves Service Health retirement and end-of-life notifications for resources in a subscription, enriches them with impact and timing details, and generates a clear HTML report. It helps teams proactively identify upcoming Azure service retirements and plan remediation actions.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages