Closed eerhardt closed 7 months ago
@IEvangelist further to this we have an incoming PR (going to land in the next 24 hours) which gives the Aspire.Hosting.Azure
package the same treatment:
https://github.com/dotnet/aspire/pull/3062
New packages are:
Aspire.Hosting.Azure.AppConfiguration
Aspire.Hosting.Azure.ApplicationInsights
Aspire.Hosting.Azure.CognitiveServices
Aspire.Hosting.Azure.CosmosDB
Aspire.Hosting.Azure.OperationalInsights
Aspire.Hosting.Azure.PostgreSql
Aspire.Hosting.Azure.Redis
Aspire.Hosting.Azure.Search
Aspire.Hosting.Azure.ServiceBus
Aspire.Hosting.Azure.SignalR
Aspire.Hosting.Azure.Sql
Aspire.Hosting.Azure.Storage
Hey @eerhardt - would Aspire.Hosting.Orleans
be included in this too? /cc @ReubenBond
Also, what about Aspire.Hosting.Dapr
and Aspire.Hosting.PostgreSQL
?
And @mitchdenny, what about Aspire.Hosting.Azure.EventHubs
and Aspire.Hosting.Azure.KeyVault
?
Finally, I thought that Cognitive Services was a legacy name, and that it was officially rebranded as "Azure AI" now. If that's the case, then I'd argue we should change the name of the new hosting package:
- Aspire.Hosting.Azure.CognitiveServices
+ Aspire.Hosting.Azure.AI
Update I just got confirmation from the Azure AI docs PM, who said it's now called "Azure AI Services".
would Aspire.Hosting.Orleans be included in this too? /cc @ReubenBond Also, what about Aspire.Hosting.Dapr
Orleans and Dapr were already split out. There is no change there as they were never part of Aspire.Hosting
to begin with.
and Aspire.Hosting.PostgreSQL?
Yes, Aspire.Hosting.PostgreSQL
is explicitly called out as the example in (2) above. Then the list is the rest that are affected.
Finally, I thought that Cognitive Services was a legacy name, and that it was officially rebranded as "Azure AI" now. If that's the case, then I'd argue we should change the name of the new hosting package:
Aspire.Hosting.Azure.*
follows the same name as the Azure.Provisioning.*
packages. See https://github.com/Azure/azure-sdk-for-net/pull/43045 which is creating Azure.Provisioning.CognitiveServices
. My understanding is these names match the corresponding Azure.ResourceManager name - https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices.
For any given service we're going to have (at least) five packages:
Azure.Storage.Blobs
is the data plane client libraryAspire.Azure.Storage.Blobs
is the Aspire componentAzure.ResourceManager.Storage
is the management plane libraryAzure.Provisioning.Storage
is the declarative resource provisioning libraryAspire.Hosting.Azure.Storage
has the Aspire resourcesThat's a lot for customers to wrap their heads around, so positioning them consistently is critical. The rule we're using for Aspire components is Aspire.<ClientLibraryName>
. The rule we're using for Azure's Aspire hosting resources is Aspire.Hosting.Azure.<MgmtPlaneSuffix>
. We hope it'll be easy for customers to pick up the pattern to make sense of it all.
While we specifically discourage the use of brand or marketing names in modern libraries, many of them like Azure.ResourceManager.CognitiveServices
already exist. It would do more harm than good to chase the latest brand names with Aspire packages and diverge from the names Azure is already using (i.e., no matter what we call the packages, you'll still be writing or generating resource ai 'Microsoft.CognitiveServices/accounts@2023-05-01' = { ... }
in your bicep).
Describe the issue or suggestion
We are making 2 breaking changes in AppHost projects in Aspire preview5.
All packages that were split out of
Aspire.Hosting
:Aspire.Hosting.Kafka
Aspire.Hosting.MongoDB
Aspire.Hosting.MySql
Aspire.Hosting.Nats
Aspire.Hosting.NodeJs
Aspire.Hosting.Oracle
Aspire.Hosting.PostgreSQL
Aspire.Hosting.RabbitMQ
Aspire.Hosting.Redis
Aspire.Hosting.Seq
Aspire.Hosting.SqlServer
cc @IEvangelist
Associated WorkItem - 238736