Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aspire fornece ferramentas, modelos e pacotes para criar aplicativos distribuídos observáveis e prontos para produção. No centro está o modelo de aplicativo — uma fonte única de verdade com prioridade no código que define os serviços, os recursos e as conexões do aplicativo.
Aspirefornece uma cadeia de ferramentas unificada: inicie e depure todo o aplicativo localmente com um comando e, em seguida, implante em qualquer lugar,Kubernetes na nuvem ou em seus próprios servidores, usando a mesma composição.
A extensibilidade é um foco fundamental. AspireAs APIs são projetadas para que você possa adaptar a plataforma à sua infraestrutura, serviços e fluxos de trabalho.
Principais capacidades
- Orquestração do AppHost: Definir serviços, dependências e configuração no código.
- Integrações avançadas: Pacotes NuGet para serviços populares com interfaces padronizadas.
- Ferramentas consistentes: Modelos de projeto e experiências para Visual Studioo VS Code e a CLI.
Para obter as informações oficiais de suporte, consulte a Aspire Política de Suporte.
O AppHost
AspireO AppHost é onde você define os serviços e as dependências do aplicativo no código, sem necessidade de arquivos de configuração complexos. O AppHost fornece orquestração para seu ambiente de desenvolvimento local simplificando o gerenciamento de descoberta de serviços, variáveis de ambiente e configurações de contêiner.
Imagine uma arquitetura comum de três camadas: um front-end, que depende de uma API, que se conecta a um banco de dados. Em Aspire, essa topologia é representada no AppHost, conforme mostrado no código a seguir:
var builder = DistributedApplication.CreateBuilder(args);
// Add database service
var postgres = builder.AddPostgres("db")
.AddDatabase("appdata")
.WithDataVolume();
// Add API service and reference dependencies
var api = builder.AddProject<Projects.ApiService>("api")
.WithReference(postgres)
.WaitFor(postgres);
// Add frontend service and reference the API
var frontend = builder.AddProject<Projects.Frontend>("frontend")
.WithReference(api);
builder.Build().Run();
O AppHost auxilia nas seguintes preocupações:
- Composição do aplicativo: especifique os projetos, contêineres, executáveis e recursos de nuvem que compõem seu aplicativo.
- Gerenciamento de cadeia de conexão e descoberta de serviço: injeta automaticamente as cadeias de conexão corretas e as configurações de rede.
É importante observar que a orquestração do Aspire se concentra em aprimorar a experiência de desenvolvimento local. Não se destina a substituir sistemas de produção como Kubernetes, mas fornece abstrações que eliminam detalhes de implementação de baixo nível durante o desenvolvimento.
Para obter mais informações, consulte Aspire a visão geral da orquestração.
integrações Aspire
Aspire facilita a definição de tudo o que seu aplicativo precisa usando integrações — pacotes NuGet projetados para simplificar conexões com serviços e plataformas populares. Cada integração lida com a configuração de recursos de nuvem e fornece padrões padronizados para verificações de integridade, telemetria e configuração.
Os recursos que você pode integrar incluem:
- Serviços de IA: modelos de linguagem grandes, pontos de extremidade de IA e serviços cognitivos.
- Caches: Rediscaches na memória e soluções de cache distribuídas.
- Contêineres: Docker contêineres para bancos de dados, agentes de mensagens e outros serviços.
- Bancos de dados: SQL Server, PostgreSQL, , MySQLe MongoDBoutros armazenamentos de dados.
- Executáveis: aplicativos de console, scripts e serviços em segundo plano.
- Estruturas: aplicativos Web, APIs e microsserviços criados com várias estruturas.
- Serviços de Mensagens: Azure Service Bus, , RabbitMQKafka e outros sistemas de mensagens.
- Projetos: .NET projetos, Node.js aplicativos, Python serviços e muito mais.
- Armazenamento: armazenamento de blobs, sistemas de arquivos e serviços de armazenamento em nuvem.
As integrações são de dois tipos: as integrações de "hospedagem" representam o serviço ao qual você está se conectando, enquanto as integrações "cliente" representam o consumidor desse serviço.
Tip
Por trás das cenas, uma integração de hosting pode representar um contêiner, um executável ou apenas um código C# que configura recursos sem executar um processo separado. Você pode adicionar qualquer imagem de contêiner, base de código, script ou recurso de nuvem ao AppHost. A criação de integrações reutilizáveis Aspire é semelhante à criação de componentes reutilizáveis para seus aplicativos.
Monitorar e solucionar problemas com o Aspire painel de controle
Aspire inclui um painel de desenvolvedor poderoso que fornece visibilidade em tempo real em seu aplicativo distribuído. O painel permite que você inspecione recursos, exiba logs, rastreamentos e métricas e gerencie os serviços do aplicativo, tudo de uma única interface do usuário.
Quando você executa seu Aspire aplicativo, o painel é iniciado automaticamente. É possível:
- Veja todos os recursos do aplicativo e o status deles.
- Investigue logs, rastros e métricas de qualquer serviço.
- Inicie, interrompa ou reinicie os recursos diretamente do painel.
- Visualize dependências e solucione problemas mais rapidamente.
O painel está disponível como parte de uma Aspire solução ou como uma ferramenta autônoma para qualquer aplicativo que emita OpenTelemetry dados.
Saiba mais na visão geral do painel ou aprofunde-se nos recursos e no uso do painel.
Do desenvolvimento à implantação
Ao compor seu aplicativo distribuído no AspireAppHost, você não está apenas definindo serviços para desenvolvimento local. Você está configurando a base para implantação. A mesma composição que você usa para executar e depurar localmente se torna o modelo para implantação em produção, garantindo a consistência do desenvolvimento até a produção.
Aspire fornece modelos de projeto e experiências de ferramentas para seus ambientes de desenvolvimento favoritos. Esses modelos incluem padrões predefinidos opinativos com código padrão para verificações de integridade, registro em log e telemetria. Os modelos também incluem padrões de serviço que lidam com configurações comuns:
builder.AddServiceDefaults();
Quando adicionado ao código C#, este método configura:
- OpenTelemetry: log formatado, métricas de runtime e rastreamento para ASPCore, gRPC e HTTP.
- Verificações de integridade: endpoints padrão que as ferramentas podem consultar para monitorar seu aplicativo.
- Descoberta de serviço: habilita a descoberta de serviço e configura HttpClient adequadamente.
Para obter mais informações, consulte Aspire os padrões de serviço.
Considere como o exemplo de arquitetura de três camadas pode ser implantado em ambientes diferentes:
Resource | Desenvolvimento local | Azure | AWS |
---|---|---|---|
Frontend | npm run |
Azure Container Apps | Serviço de Contêiner Elástico da Amazon |
Serviço de API | dotnet run |
Azure Container Apps | AWS Lambda |
Database | docker.io/library/postgres |
Azure Banco de dados para PostgreSQL | Serviço de Banco de Dados Relacional da Amazon |
Tip
Estes são apenas alguns exemplos de como você pode implantar Aspire aplicativos.
AspireOs recursos de implantação são flexíveis e não interferem nos fluxos de trabalho existentes. Você pode continuar usando suas ferramentas e serviços preferenciais, beneficiando-se da topologia de aplicativo consistente definida em seu AppHost.
Para obter mais informações, consulte Implantar Aspire aplicativos.