Editar

Partilhar via


Perguntas frequentes sobre o .NET Aspire

Este artigo lista perguntas frequentes sobre o .NET Aspire. Para obter uma visão geral mais abrangente, consulte visão geral do .NET Aspire.

Por que escolher o .NET Aspire em vez do Docker Compose para orquestração?

Docker Compose é excelente, mas é improdutivo quando tudo o que você quer fazer é executar vários projetos ou executáveis. O Docker Compose exige que os desenvolvedores criem imagens de contêiner e executem aplicativos dentro de contêineres. Essa é uma barreira quando você quer apenas executar seu front-end, back-end, trabalhadores e um banco de dados. Com o .NET Aspire, você não precisa aprender nada além do que já sabe.

A configuração através de código declarativo é melhor do que através de YAML. O Docker Compose torna-se complexo quando você tenta fazer qualquer forma de abstração ou composição (por exemplo, consulte o antigo aplicativo eshopOnContainers ). Além disso, há substituições de variáveis de ambiente (e inclui) e nenhum tipo ou IntelliSense, e é difícil raciocinar sobre o que exatamente está sendo executado. A depuração também é difícil. O .NET Aspire produz uma experiência melhor, fácil de começar e pode ser dimensionado para um orquestrador como o Compose usando uma linguagem de programação real.

Como adicionar projetos ao .NET Aspire?

Pode adicionar manualmente projetos à sua solução .NET Aspire utilizando a API builder.AddProject("<name>", "<path/to/project.csproj>").

Como implantar o .NET Aspire sem ferramentas de provedor de nuvem de destino?

O .NET Aspire não restringe a implementação de qualquer projeto ou solução existente. O .NET Aspire expõe um manifesto de implantação que é usado pelos autores de ferramentas para produzir artefatos para implantação em qualquer provedor de nuvem. No entanto, infelizmente, nem todos os provedores de nuvem oferecem ferramentas para implantações com base nesse manifesto. O manifesto é um arquivo JSON simples que descreve os recursos do seu aplicativo e as dependências entre eles. O manifesto é usado pela CLI do Desenvolvedor do Azure para implantar no Azure. Da mesma forma, o Aspir8 usa o manifesto para implantar no Kubernetes. Você pode usar o manifesto para implantar em qualquer provedor de nuvem que ofereça suporte aos recursos que está usando.

Os aplicativos .NET Aspire podem ser criados sem dependências do Azure e implantados em outro lugar?

Sim, você pode criar aplicativos .NET Aspire sem usar nenhuma dependência proprietária do Azure. Embora o .NET Aspire ofereça uma solução de primeira parte para implantação no Azure, isso não é um requisito. O .NET Aspire é uma pilha nativa da nuvem que pode ser usada para criar aplicativos que são executados em qualquer lugar. Todas as ofertas específicas do Azure são explicitamente chamadas como tal.

Por que usar a descoberta do serviço .NET Aspire no Docker Compose com Kubernetes?

As APIs de descoberta de serviço do .NET Aspire são uma abstração que funciona com vários provedores (como Kubernetes e Consul). Uma das grandes vantagens é que ele funciona localmente e é apoiado pelo . NET's IConfiguration abstração. Isso significa que você pode implementar a descoberta de serviços em sua malha de computação de uma forma que não resulte em alterações de código. Se você tiver vários clusters ou serviços Kubernetes no Serviço de Aplicativo do Azure ou no Azure Functions, não precisará alterar fundamentalmente o código do aplicativo para fazê-lo funcionar localmente, seja em um único cluster ou em vários clusters. Esse é o benefício da abstração.

Por que usar o .NET Aspire se o OpenTelemetry está disponível no .NET?

.NET Aspire faz uma grande aposta no . Integração da NET com OpenTelemetry. O painel do .NET Aspire é um servidor OTLP padrão que visualiza vários dados de telemetria. Apoiar-se nesses padrões abertos facilita a construção dessas coisas sem quebrar a compatibilidade com o ecossistema mais amplo.

Por que usar o .NET Aspire se Grafana, Jaeger e Prometheus funcionam com o .NET?

O .NET Aspire não é um substituto para essas ferramentas, mas sim uma tecnologia complementar. O .NET Aspire é um conjunto de bibliotecas e ferramentas que facilitam a criação de aplicativos observáveis. Para obter mais informações, consulte o exemplo Metrics no repositório de exemplo do .NET Aspire que mostra Grafana e Prometheus.

Porquê criar outro quadro quando os existentes funcionam bem?

O .NET Aspire não é uma estrutura, é uma pilha opinativa. Talvez as partes mais controversas sejam as APIs DistributedApplication que você pode usar para criar o modelo de orquestração em qualquer . Linguagem baseada em NET. Embora tudo seja possível hoje, não é fácil. Usando a filosofia Unix, todo o ecossistema nativo da nuvem é construído em torno da união de várias partes do software CNCF para construir uma pilha. O .NET Aspire tenta fazer a mesma coisa usando aprendizados do espaço nativo da nuvem e escolhe algumas opiniões (de maneiras que usam os mesmos blocos de construção). Uma novidade sobre como o .NET Aspire cria várias partes da pilha é que ele não restringe o acesso ou a compatibilidade de outros aplicativos, estruturas ou serviços. À medida que as pessoas brincam mais com ele, percebem como ele é componível e extensível.

Qual é a diferença entre o .NET Aspire e o Microsoft Orleans?

Microsoft Orleans e .NET Aspire são tecnologias complementares.

Orleans é uma estrutura baseada em atores distribuídos. O .NET Aspire é uma pilha pronta para a nuvem para criar aplicativos distribuídos, observáveis e prontos para produção. Ele inclui recursos de orquestração local para simplificar o loop interno do desenvolvedor e componentes opinativos reutilizáveis para integração com dependências de aplicativos comumente usadas. Uma solução baseada em Orleans ainda terá dependências externas, como armazenamentos de dados e caches, para os quais o .NET Aspire pode ser usado para fins de orquestração.

Para obter mais informações, consulte Usar Orleans com o .NET Aspire e o exemplo de aplicativo de votação Orleans correspondente.

Qual é a diferença entre o .NET Aspire e o Dapr?

Dapr e .NET Aspire são tecnologias complementares.

Onde o Dapr abstrai algumas das plataformas de nuvem subjacentes, o .NET Aspire fornece uma configuração opinativa em torno das tecnologias de nuvem subjacentes sem abstraí-las. Um. O aplicativo baseado em NET que usa o Dapr pode usar o .NET Aspire para orquestrar o loop interno do desenvolvedor local e simplificar a implantação. O .NET Aspire inclui extensões que suportam o lançamento de processos de side-car Dapr durante o circuito interno.

Para obter mais informações, consulte Usar o Dapr com o .NET Aspire e o aplicativo de exemplo Dapr correspondente no repositório de exemplo do .NET Aspire .

Qual é a diferença entre o .NET Aspire e o Project Tye?

O Project Tye foi um experimento que explorou o lançamento e orquestração de micro-serviços e suporte à implantação em orquestradores como o Kubernetes. O .NET Aspire é um superconjunto do Tye que inclui os recursos de orquestração e implantação, juntamente com componentes opinativos para integrar dependências comuns nativas da nuvem. O .NET Aspire pode ser considerado a evolução da experiência Project Tye.

Como o .NET Aspire e o SDK do Azure para .NET estão relacionados?

O .NET Aspire fornece componentes que dependem do SDK do Azure para .NET, para expor a funcionalidade comum para armazenamento (de Armazenamento de Blob do Azure, de Filas de Armazenamento do Azure e de Armazenamento de Tabela do Azure), bancos de dados (Azure Cosmos DB e Azure Cosmos DB com Entity Framework Core),de mensagens ede segurança .

Como o .NET Aspire e o Kubernetes estão relacionados?

O .NET Aspire facilita o desenvolvimento de aplicações distribuídas que podem ser orquestradas no seu ambiente de desenvolvimento local como executáveis e contentores. O Kubernetes é uma tecnologia que orquestra e gerencia contêineres em várias máquinas. Os projetos do .NET Aspire podem produzir um manifesto que os autores de ferramentas podem usar para produzir artefatos para implantação no Kubernetes. Em essência, o Kubernetes é um destino de implantação para projetos .NET Aspire .

Os serviços de trabalho são suportados no .NET Aspire?

Sim, os serviços de trabalho são totalmente suportados e há documentos e exemplos disponíveis para ajudá-lo a começar. Os serviços de trabalho são uma ótima maneira de executar tarefas em segundo plano, tarefas agendadas ou tarefas de longa execução no .NET Aspire. Para obter mais informações, consulte migrações de banco de dados com o aplicativo de exemplo Entity Framework Core.

O Azure Functions é suportado no .NET Aspire?

O .NET Aspire suporta a execução de aplicações Web localmente no IIS ou no IIS Express?

Não. O .NET Aspire não suporta a execução de aplicações Web no IIS ou no IIS Express.

O .NET Aspire suporta a implementação de aplicações no IIS?

Não. O .NET Aspire não suporta a implementação de aplicações no IIS. No entanto, isso não impede que você implante seus aplicativos no IIS da mesma maneira que sempre fez.

Como corrigir integrações e problemas de Descoberta de Serviços ao implantar aplicativos .NET Aspire no IIS?

As integrações do .NET Aspire requerem uma configuração específica que deve ser fornecida manualmente. O mesmo vale para Service Discovery, idealmente, você deve implantar em algo diferente do IIS.

Qual é o objetivo do projeto Community Toolkit?

O objetivo do projeto é ser uma casa centralizada para extensões e integrações para .NET Aspire, ajudando a fornecer consistência na forma como as integrações são construídas e mantidas, bem como uma descoberta mais fácil para os usuários.

Qual é a diferença entre o projeto Community Toolkit e o projeto oficial do .NET Aspire ?

O .NET Aspire Community Toolkit é um projeto orientado pela comunidade que é mantido pela comunidade e não é oficialmente suportado pela equipe do .NET Aspire . O kit de ferramentas é uma coleção de integrações e extensões que são construídas sobre o projeto .NET Aspire .

Como posso contribuir para o projeto Community Toolkit?

Qualquer pessoa pode contribuir para o .NET Aspire Community Toolkit e, antes de começar, leia o Guia de Contribuição para saber como contribuir para o projeto.

Devo propor uma nova integração no Kit de Ferramentas da Comunidade ou no repositório 'dotnet/aspire'?

Se tiver uma ideia para uma nova integração, deve propô-la no repositório .NET Aspire Community Toolkit, em vez de dotnet/aspire, uma vez que o projeto oficial do .NET Aspire está focado na funcionalidade principal do projeto .NET Aspire .

Se você propôs uma integração no repositório dotnet/aspire, ainda pode propô-la no Kit de Ferramentas da Comunidade, mas vincule-se ao problema existente no repositório dotnet/aspire para fornecer contexto.

Como posso encontrar integrações do Kit de Ferramentas da Comunidade?

As integrações do .NET Aspire Community Toolkit aparecem na caixa de diálogo Add Aspire Integration no Visual Studio sob o namespace CommunityToolkit.Aspire.*.

Próximos passos

Para saber mais sobre redes e funções: