Sdílet prostřednictvím


Aspire přehled

Aspire poskytuje nástroje, šablony a balíčky pro sestavování pozorovatelných distribuovaných aplikací připravených pro produkční prostředí. V centru je model aplikaceprvní kód– jediný zdroj pravdy, který definuje služby, prostředky a připojení vaší aplikace.

Aspire poskytuje jednotnou sadu nástrojů: spusťte a laďte celou aplikaci lokálně jedním příkazem, potom ji nasaďte kamkoli — Kubernetes, do cloudu nebo na vlastní servery — pomocí stejného složení.

Rozšiřitelnost je základním cílem. AspireRozhraní API jsou navržená tak, abyste mohli platformu přizpůsobit vaší infrastruktuře, službám a pracovním postupům.

Klíčové funkce

  • Orchestrace AppHost: Definujte služby, závislosti a konfiguraci v kódu.
  • Bohaté integrace: Balíčky NuGet pro oblíbené služby se standardizovanými rozhraními
  • Konzistentní nástroje: Šablony a prostředí projektů pro Visual Studio, VS Code a rozhraní příkazového řádku

Oficiální informace o podpoře najdete v zásadáchAspire podpory.

The AppHost

AspireAppHost je místo, kde definujete služby a závislosti vaší aplikace v kódu – nevyžadují se žádné složité konfigurační soubory. AppHost poskytuje orchestraci pro vaše místní vývojové prostředí zjednodušením správy zjišťování služeb, proměnných prostředí a konfigurací kontejnerů.

Představte si společnou třívrstvou architekturu: front-end, který závisí na rozhraní API, které se připojuje k databázi. V Aspire je tato topologie reprezentována v aplikaci AppHost, jak ukazuje následující kód.

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();

AppHost pomáhá s následujícími obavami:

  • Složení aplikace: Určete projekty, kontejnery, spustitelné soubory a cloudové prostředky, které tvoří vaši aplikaci.
  • Zjišťování služeb a správa připojovacích řetězců: Automaticky vloží správné připojovací řetězce a konfigurace sítě.

Je důležité si uvědomit, že Aspireorchestrace se zaměřuje na vylepšení lokálního vývojového prostředí. Není určen k nahrazení produkčních systémů, jako je Kubernetes, ale spíše poskytuje abstrakce, které eliminují detaily nízkoúrovňové implementace během vývoje.

Další informace najdete v tématu Aspire Přehled orchestrace.

integrace Aspire

Aspire usnadňuje definování všeho, co vaše aplikace potřebuje, pomocí integrací – balíčky NuGet navržené tak, aby zjednodušily připojení k oblíbeným službám a platformám. Každá integrace zpracovává nastavení cloudových prostředků a poskytuje standardizované vzory pro kontroly stavu, telemetrii a konfiguraci.

Mezi prostředky, které můžete integrovat, patří:

  • Služby AI: Velké jazykové modely, koncové body AI a kognitivní služby.
  • Mezipaměti: Redis, mezipaměti v paměti a distribuovaná řešení ukládání do mezipaměti.
  • Kontejnery: Docker kontejnery pro databáze, zprostředkovatele zpráv a další služby.
  • Databáze: SQL Server, , PostgreSQLMySQL, MongoDBa další úložiště dat.
  • Spustitelné soubory: Konzolové aplikace, skripty a služby na pozadí.
  • Architektury: Webové aplikace, rozhraní API a mikroslužby vytvořené s různými architekturami.
  • Služby zasílání zpráv: Azure Service Bus, Kafka RabbitMQa další systémy zasílání zpráv.
  • Projekty: .NET projekty, Node.js aplikace, Python služby a další.
  • Úložiště: Blob Storage, systémy souborů a cloudové služby úložiště.

Integrace jsou dvojí: "hostitelské" integrace představují službu, ke které se připojujete, zatímco "klientské" integrace představují příjemce této služby.

Tip

Integrace hostovánímůže představovat kontejner, spustitelný soubor nebo dokonce jenom kód jazyka C#, který konfiguruje prostředky bez spuštění samostatného procesu. Do hostitele AppHost můžete přidat jakoukoli image kontejneru, základ kódu, skript nebo cloudový prostředek. Vytváření opakovaně použitelných Aspire integrací je podobné vytváření opakovaně použitelných komponent pro vaše aplikace.

Monitorování a řešení potíží s řídicím panelem Aspire

Aspire obsahuje výkonný vývojářský řídicí panel, který poskytuje přehled o distribuované aplikaci v reálném čase. Řídicí panel umožňuje kontrolovat prostředky, zobrazovat protokoly, trasování a metriky a spravovat služby vaší aplikace – to vše z jednoho uživatelského rozhraní.

Když spustíte Aspire aplikaci, řídicí panel se spustí automaticky. Můžete:

  • Podívejte se na všechny prostředky vaší aplikace a jejich stav.
  • Podrobně analyzujte protokoly, trasování a metriky pro libovolnou službu.
  • Spusťte, zastavte nebo restartujte prostředky přímo z řídicího panelu.
  • Vizualizujte závislosti a vyřešte problémy rychleji.

Řídicí panel je k dispozici jako součást Aspire řešení nebo jako samostatný nástroj pro libovolnou aplikaci, která generuje OpenTelemetry data.

Další informace najdete v přehledu řídicího panelu nebo se podrobněji seznámíte s funkcemi a využitím řídicího panelu.

Od vývoje po nasazení

Když vytváříte distribuovanou aplikaci v AspireappHostu, nedefinujete jenom služby pro místní vývoj – nastavujete základ pro nasazení. Stejné složení, které používáte ke spuštění a ladění místně, se stane podrobným plánem pro produkční nasazení, což zajišťuje konzistenci od vývoje až po produkční prostředí.

Aspire poskytuje šablony projektů a prostředí nástrojů pro vaše oblíbená vývojová prostředí. Mezi tyto šablony patří názorné výchozí hodnoty s často používaným kódem pro kontroly stavu, protokolování a telemetrii. Šablony také zahrnují výchozí hodnoty služby, které zpracovávají běžné konfigurace:

builder.AddServiceDefaults();

Po přidání do kódu jazyka C# tato metoda nakonfiguruje:

  • OpenTelemetry: Formátované logování, metriky modulu runtime a trasování pro ASPCore, gRPC a HTTP.
  • Kontroly stavu: Výchozí koncové body, které nástroje můžou dotazovat na monitorování vaší aplikace.
  • Zjišťování služeb: Umožňuje zjišťování a konfiguraci HttpClient služby odpovídajícím způsobem.

Další informace najdete v tématu Aspire Výchozí hodnoty služby.

Zvažte, jak je možné nasadit příklad třívrstvé architektury napříč různými prostředími:

Resource Místní vývoj Azure AWS
Frontend npm run Azure Container Apps Amazon Elastic Container Service
Služba API dotnet run Azure Container Apps AWS Lambda
Database docker.io/library/postgres Azure Databáze pro PostgreSQL Amazon Relational Database Service

Tip

Toto je jen několik příkladů, jak můžete nasazovat Aspire aplikace.

AspireMožnosti nasazení jsou flexibilní a nenarušují vaše stávající pracovní postupy. Upřednostňované nástroje a služby můžete dál používat a zároveň využívat konzistentní topologii aplikací definovanou v hostiteli AppHost.

Další informace najdete v tématu Nasazení Aspire aplikací.

Další kroky