How many Services does Microsoft Azure Offer?
How many service offerings does Azure have? I've read anywhere from 150 to 600 and I even went so far as to ask an Azure Product Manager but didn't receive a clear answer. What I did find out is that Microsoft maintains an Azure services directory on their Azure products website.
I figured that was a good place to start looking and while the website is informative, it didn't provide a count of the service offerings. Manually counting them wouldn't be an efficient or accurate way of accomplishing the task of determining how many services are offered so I decided to use PowerShell for the task.
First, if you're prototyping a command, it's best to store the results in a variable and work with the variable. If I heard Ed Wilson, The Scripting Guy (retired) say it one time, I've heard him say it a thousand times: "If you're going to eat an elephant, only eat it once."
I queried the previous referenced website and stored the results in a variable. Then I determined what the properties were and took a look at the type of data each property returned.
1$AzureServices = Invoke-WebRequest -Uri https://azure.microsoft.com/en-us/services/
2$AzureServices | Get-Member
The Links
property looked promising and with a little filtering, I was able to return a list of
the services.
1$AzureServices.Links |
2Where-Object href -like '/en-us/services/?*' |
3Select-Object -Property data-event-property, href
So far, 243 Azure services are listed on the webpage.
1($AzureServices.Links |
2Where-Object href -like '/en-us/services/?*' |
3Select-Object -Property data-event-property, href).Count
What I started noticing though is there are numerous services listed more than once in different categories.
1$AzureServices.Links |
2Where-Object href -like '/en-us/services/?*' |
3Select-Object -Property data-event-property, href |
4Group-Object -Property data-event-property, href -NoElement |
5Where-Object -Property Count -gt 1 |
6Sort-Object -Property Count -Descending |
7Format-Table -AutoSize
I decided to sort the results uniquely by their relative URL (href
) and their name
(data-event-property
).
1$AzureServices.Links |
2Where-Object href -like '/en-us/services/?*' |
3Select-Object -Property data-event-property, href |
4Sort-Object -Property href, data-event-property -Unique
And finally for a unique count of the Azure services listed on the webpage.
1($AzureServices.Links |
2Where-Object href -like '/en-us/services/?*' |
3Select-Object -Property data-event-property, href |
4Sort-Object -Property href, data-event-property -Unique).Count
There are 169 unique Azure services listed on the Azure products webpage as of the writing of this blog article.
µ