Editar

Compartilhar via


Perguntas frequentes sobre o .NET Aspire

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

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

O Docker Compose é excelente, mas é improdutivo quando tudo o que você deseja 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ê só quer executar seu front-end, back-end, trabalhos e um banco de dados. Com o .NET Aspire, você não precisa aprender nada além do que já sabe.

A configuração por meio do código declarativo é melhor do que por meio do YAML. O Docker Compose fica complexo quando você tenta fazer qualquer forma de abstração ou composição (por exemplo, consulte o aplicativo eshopOnContainers antigo). Além disso, há substituições de variável de ambiente (e inclui) e nenhum tipo ou IntelliSense, e é difícil argumentar sobre o que exatamente está em execução. A depuração também é difícil. O .NET Aspire produz uma experiência melhor que é fácil de começar e escala verticalmente para um orquestrador como o Compose usando uma linguagem de programação real.

Como adicionar projetos ao .NET Aspire?

Você pode adicionar projetos manualmente à sua solução .NET Aspire usando 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 implantação de nenhum projeto ou solução existente. O .NET Aspire expõe um manifesto de implantação usado por 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 dê suporte aos recursos que você 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 implantar no Azure, não é um requisito. O .NET Aspire é uma pilha nativa de nuvem que pode ser usada para criar aplicativos executados em qualquer lugar. Todas as ofertas específicas do Azure são explicitamente chamadas como tal.

Por que usar a descoberta de serviço do .NET Aspire no Docker Compose com o 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 por . Abstração IConfiguration do NET. Isso significa que você pode implementar a descoberta de serviço em sua malha de computação de uma maneira que não resulte em alterações de código. Se você tiver vários clusters ou serviços do Kubernetes no Serviço de Aplicativo do Azure ou no Azure Functions, não precisará alterar fundamentalmente o código do aplicativo para que ele funcione 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 estiver disponível no .NET?

O .NET Aspire aposta muito em . Integração do NET com o OpenTelemetry. O painel do .NET Aspire é um servidor OTLP padrão que visualiza vários dados de telemetria. Se apoiar nesses padrões abertos facilita a criação dessas coisas sem quebrar a compatibilidade com o ecossistema mais amplo.

Por que usar o .NET Aspire se Grafana, Jaeger e Prometheus trabalham 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 que são observáveis. Para obter mais informações, consulte o exemplo Metrics no repositório de exemplo do .NET Aspire que mostra Grafana e Prometheus.

Por que criar outra estrutura quando as 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 de nuvem é criado em torno da união de várias partes do software CNCF para criar uma pilha. O .NET Aspire tenta fazer a mesma coisa usando aprendizados do espaço nativo de 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, elas percebem o quão composível e extensível é.

Como o .NET Aspire difere do Microsoft Orleans?

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

Orleans é uma estrutura baseada em ator distribuído. O .NET Aspire é uma pilha pronta para nuvem para criar aplicativos distribuídos observáveis, 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 aplicativo 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 correspondente Orleans.

Como o .NET Aspire difere do Dapr?

Dapr e .NET Aspire são tecnologias complementares.

Em que 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 dão suporte à inicialização de processos do dapr side-car durante o loop interno.

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

Como o .NET Aspire difere do Project Tye?

O Project Tye foi um experimento que explorou o lançamento e a orquestração de microsserviços e a implantação de suporte 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 do experimento do 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 Blobs do Azure, filas de armazenamento do Azuree Ade Armazenamento de Tabelas do Azure), bancos de dados ( do Azure Cosmos DB e Azure Cosmos DB comdo Entity Framework Core),de mensagens e de segurança.

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

O .NET Aspire facilita o desenvolvimento de aplicativos distribuídos que podem ser orquestrados em seu ambiente de desenvolvimento local como executáveis e contêineres. O Kubernetes é uma tecnologia que orquestra e gerencia contêineres em vários computadores. 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 do .NET Aspire.

Os serviços de trabalho têm suporte no .NET Aspire?

Sim, os serviços de trabalho têm suporte total 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 execução longa 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 tem suporte no .NET Aspire?

O .NET Aspire dá suporte à execução de aplicativos Web localmente no IIS ou no IIS Express?

Não. O .NET Aspire não dá suporte à execução de aplicativos Web no IIS ou no IIS Express.

O .NET Aspire dá suporte à implantação de aplicativos no IIS?

Não. O .NET Aspire não dá suporte à implantação de aplicativos no IIS. No entanto, isso não impede que você implante seus aplicativos no IIS da mesma maneira que você sempre fez.

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

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

Qual é a finalidade do projeto kit de ferramentas da comunidade?

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 criadas e mantidas, bem como facilitar a descoberta para os usuários.

Como o projeto do Kit de Ferramentas da Comunidade é diferente do projeto oficial do .NET Aspire?

O .NET Aspire Community Toolkit é um projeto orientado pela comunidade que é mantido pela comunidade e não tem suporte oficial da equipe do .NET Aspire. O kit de ferramentas é uma coleção de integrações e extensões criadas sobre o projeto .NET Aspire.

Como posso contribuir com o projeto do Kit de Ferramentas da Comunidade?

Qualquer pessoa pode contribuir com o Kit de Ferramentas da Comunidade do .NET Aspire e, antes de começar, leia o guia de contribuição para saber como contribuir com o projeto.

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

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

Se você tiver proposto uma integração no repositório dotnet/aspire, ainda poderá propor isso no Kit de Ferramentas da Comunidade, mas vincular 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 Adicionar Integração do Aspire no Visual Studio no namespace CommunityToolkit.Aspire.*.