Delen via


overzicht van Aspire

Aspire biedt hulpprogramma's, sjablonen en pakketten voor het bouwen van waarneembare, gedistribueerde apps die gereed zijn voor productie. In het midden bevindt zich het app-model: een code-first, één bron van waarheid die de services, resources en verbindingen van uw app definieert.

Aspirebiedt u een geïntegreerde hulpprogrammaketen: uw hele app lokaal starten en fouten opsporen met één opdracht, en vervolgens overal implementeren ,Kubernetes de cloud of uw eigen servers, met behulp van dezelfde samenstelling.

Uitbreidbaarheid is een kernfocus. AspireDe API's zijn ontworpen zodat u het platform kunt aanpassen aan uw infrastructuur, services en werkstromen.

Belangrijkste mogelijkheden

  • AppHost-indeling: Services, afhankelijkheden en configuratie definiëren in code.
  • Uitgebreide integraties: NuGet-pakketten voor populaire services met gestandaardiseerde interfaces.
  • Consistente hulpprogramma's: Projectsjablonen en ervaringen voor Visual Studio, VS Code en de CLI.

Zie het Aspire ondersteuningsbeleid voor de officiële ondersteuningsinformatie.

De AppHost

Aspire's AppHost is waar u de services en afhankelijkheden van uw app in code definieert. Er zijn geen complexe configuratiebestanden vereist. AppHost biedt indeling voor uw lokale ontwikkelomgeving door het beheer van servicedetectie, omgevingsvariabelen en containerconfiguraties te vereenvoudigen.

Afbeelding van een algemene architectuur met drie lagen: een front-end, die afhankelijk is van een API die verbinding maakt met een database. In Aspire, deze topologie wordt weergegeven in de AppHost, zoals wordt weergegeven in de volgende code:

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

De AppHost helpt bij de volgende problemen:

  • App-samenstelling: geef de projecten, containers, uitvoerbare bestanden en cloudresources op waaruit uw toepassing bestaat.
  • Beheer van servicedetectie en verbindingsreeks: injecteer automatisch de juiste verbindingsreeksen en netwerkconfiguraties.

Het is belangrijk om te weten dat de Aspire-orchestratie zich richt op het verbeteren van de lokale ontwikkelervaring. Het is niet bedoeld om productiesystemen zoals Kuberneteste vervangen, maar biedt eerder abstracties die implementatiedetails op laag niveau tijdens de ontwikkeling elimineren.

Zie voor meer informatie het orchestratieoverzichtAspire.

Aspire integraties

Aspire maakt het eenvoudig om alles te definiëren wat uw app nodig heeft met behulp van integraties: NuGet-pakketten die zijn ontworpen om verbindingen met populaire services en platforms te vereenvoudigen. Elke integratie verwerkt het instellen van cloudresources en biedt gestandaardiseerde patronen voor statuscontroles, telemetrie en configuratie.

Resources die u kunt integreren, zijn:

  • AI-services: Grote taalmodellen, AI-eindpunten en cognitieve services.
  • Caches: Redisin-memory caches en gedistribueerde cacheoplossingen.
  • Containers: Docker containers voor databases, berichtenbrokers en andere services.
  • Databases: SQL Server, PostgreSQL, MySQL, en MongoDBandere gegevensarchieven.
  • Uitvoerbare bestanden: Consoletoepassingen, scripts en achtergrondservices.
  • Frameworks: Webtoepassingen, API's en microservices die zijn gebouwd met verschillende frameworks.
  • Berichtenservices: Azure Service Bus, RabbitMQKafka en andere berichtensystemen.
  • Projecten: .NET projecten, Node.js toepassingen, Python services en meer.
  • Opslag: Blob Storage, bestandssystemen en cloudopslagdiensten.

Integraties zijn tweevoudig: 'hosting'-integraties vertegenwoordigen de service waarmee u verbinding maakt, terwijl 'client'-integraties de consument van die service vertegenwoordigen.

Tip

Onder de schermen kan een hostingintegratie een container, een uitvoerbaar bestand of zelfs alleen C#-code vertegenwoordigen waarmee resources worden geconfigureerd zonder een afzonderlijk proces uit te voeren. U kunt elke containerinstallatiekopieën, codebase, script of cloudresource toevoegen aan uw AppHost. Het maken van herbruikbare integraties is vergelijkbaar met het bouwen van herbruikbare Aspire onderdelen voor uw apps.

Bewaken en problemen oplossen met het Aspire dashboard

Aspire bevat een krachtig ontwikkelaarsdashboard waarmee u realtime inzicht krijgt in uw gedistribueerde app. Met het dashboard kunt u resources inspecteren, logboeken, traceringen en metrische gegevens bekijken en de services van uw app beheren, allemaal vanuit één gebruikersinterface.

Wanneer u uw Aspire app uitvoert, wordt het dashboard automatisch gestart. U kunt:

  • Bekijk alle resources van uw app en hun status.
  • Inzoomen op logboeken, traceringen en metrische gegevens voor elke service.
  • Resources rechtstreeks vanuit het dashboard starten, stoppen of opnieuw starten.
  • Visualiseer afhankelijkheden en los problemen sneller op.

Het dashboard is beschikbaar als onderdeel van een Aspire oplossing of als zelfstandig hulpprogramma voor elke app die gegevens verzendt OpenTelemetry .

Meer informatie vindt u in het dashboardoverzicht of dieper ingaan op dashboardfuncties en -gebruik.

Van ontwikkeling tot implementatie

Wanneer u uw gedistribueerde app opstelt in AspireAppHost, definieert u niet alleen services voor lokale ontwikkeling. U stelt de basis voor implementatie in. Dezelfde samenstelling die u gebruikt om lokaal uit te voeren en fouten op te sporen, wordt de blauwdruk voor productie-implementatie en zorgt voor consistentie van ontwikkeling tot productie.

Aspire biedt projectsjablonen en hulpprogramma-ervaringen voor uw favoriete ontwikkelomgevingen. Deze sjablonen bevatten standaardinstellingen met standaardcode voor statuscontroles, logboekregistratie en telemetrie. De sjablonen bevatten ook servicestandaarden die algemene configuraties verwerken:

builder.AddServiceDefaults();

Wanneer deze methode is toegevoegd aan uw C#-code, configureert u:

  • OpenTelemetry: Opgemaakte logboekregistratie, metrische runtimegegevens en tracering voor ASPCore, gRPC en HTTP.
  • Statuscontroles: standaardeindpunten waarop hulpprogramma's query's kunnen uitvoeren om uw app te bewaken.
  • Servicedetectie: hiermee schakelt u servicedetectie in en configureert u dienovereenkomstig HttpClient .

Zie Aspire de standaardinstellingen voor services voor meer informatie.

Overweeg hoe het voorbeeld van de architectuur met drie lagen kan worden geïmplementeerd in verschillende omgevingen:

Resource Lokale ontwikkeling Azure AWS
Frontend npm run Azure Container Apps Amazon Elastic Container Service
API-service dotnet run Azure Container Apps AWS Lambda
Database docker.io/library/postgres Azure Database voor PostgreSQL Amazon Relational Database Service

Tip

Dit zijn slechts enkele voorbeelden van hoe u apps kunt implementeren Aspire .

AspireDe implementatiemogelijkheden zijn flexibel en verstoren uw bestaande werkstromen niet. U kunt uw favoriete hulpprogramma's en services blijven gebruiken terwijl u profiteert van de consistente app-topologie die is gedefinieerd in uw AppHost.

Zie Apps implementeren Aspirevoor meer informatie.

Volgende stappen