Blog
.NET Aspire: Ein Wendepunkt in der Cloud-Native-Entwicklung

Heutzutage sind Entwickler zunehmend damit beschäftigt, verteilte Anwendungen zu erstellen, die skalierbar, belastbar und Cloud-nativ sind. Die Orchestrierung mehrerer Dienste und die Verwaltung von Konfigurationen kann jedoch entmutigend und zeitaufwändig sein.
.NET Aspire wurde speziell für Entwickler entwickelt und vereinfacht die Erstellung, Bereitstellung und Verwaltung verteilter Anwendungen, indem es ein zusammenhängendes Paket von Tools, Vorlagen und Integrationen bietet.
Ganz gleich, ob Sie Microservices entwickeln, verschiedene Cloud-Dienste integrieren oder einen effizienteren Entwicklungs-Workflow anstreben, .NET Aspire bietet einen einheitlichen Ansatz, um diese Herausforderungen zu bewältigen.
Was ist .NET Aspire?
.NET Aspire ist ein meinungsstarker, Cloud-fähiger Anwendungsstack, der von Microsoft eingeführt wurde, um die Entwicklung von Cloud-nativen Anwendungen zu optimieren. Es bietet Entwicklern einen zusammenhängenden Satz von Tools, Vorlagen und Integrationen, die die Komplexität bei der Entwicklung verteilter Systeme vereinfachen sollen.
Im Kern zielt .NET Aspire darauf ab, die Erfahrung der Entwickler zu verbessern, indem es Folgendes bietet:
-
Dev-Time Orchestration: Erleichtert das Ausführen und Verbinden von Multiprojektanwendungen und deren Abhängigkeiten in lokalen Entwicklungsumgebungen.
-
Integrationen: Stellt NuGet-Pakete für häufig verwendete Dienste wie Redis oder PostgreSQL zur Verfügung und sorgt so für konsistente und nahtlose Verbindungen innerhalb Ihrer Anwendung.
-
Werkzeuge: Enthält Projektvorlagen und Tooling-Erfahrungen für Visual Studio, Visual Studio Code und die .NET CLI zur Unterstützung bei der Erstellung und Interaktion mit .NET Aspire-Projekten.
Durch die Bewältigung gängiger Herausforderungen bei der Entwicklung moderner Anwendungen - wie die Verwaltung mehrerer Dienste, die Handhabung von Konfigurationen und die Sicherstellung der Beobachtbarkeit - ermöglicht es .NET Aspire den Entwicklern, sich mehr auf das Schreiben von Code und weniger auf Infrastrukturfragen zu konzentrieren.
Erfahrungen aus der Praxis: Der Übergang von Docker Compose zu .NET Aspire
Viele Leute beginnen, von Docker Compose auf .NET Aspire umzusteigen, um eine Multi-Service-Anwendung zu orchestrieren. Ursprünglich verwaltete Docker Compose Dienste wie PostgreSQL und RabbitMQ. Durch die Integration des AppHost-Projekts von .NET Aspire wurde der Orchestrierungsprozess jedoch rationalisiert.
Mit AppHost wurden Serviceabhängigkeiten und Konfigurationen direkt im Code definiert, so dass keine separaten YAML-Dateien mehr erforderlich waren. Dieser Ansatz reduzierte nicht nur die Komplexität, sondern verbesserte auch die Entwicklungserfahrung, indem er eine einheitliche Sicht auf die Architektur der Anwendung ermöglichte.
Darüber hinaus boten die in .NET Aspire integrierten Beobachtungsfunktionen, wie z.B. die OpenTelemetry-Integration, tiefere Einblicke in die Anwendungsleistung, was eine schnellere Fehlersuche und Optimierung ermöglichte.
Schritt für Schritt: Erste Schritte mit .NET Aspire
Erstellen eines neuen .NET Aspire-Projekts Sie können ein .NET Aspire-Projekt mit Visual Studio, Visual Studio Code, JetBrains Rider oder der .NET CLI initiieren. In diesem Artikel konzentrieren wir uns auf die Verwendung von Visual Studio zur Erstellung eines neuen .NET Aspire-Projekts.
Visual Studio verwenden
- Navigieren Sie zu Datei > Neues > Projekt.
- Suchen Sie in dem Dialogfenster nach "Aspire" und wählen Sie die .NET Aspire Starter App-Vorlage.
- Auf dem Bildschirm "Konfigurieren Sie Ihr neues Projekt".
- Geben Sie einen Projektnamen ein, z. B. AspireSample.
- Geben Sie den Standort für Ihr Projekt an.
- Auf dem Bildschirm "Zusätzliche Informationen".
- Stellen Sie sicher, dass .NET 9.0 als Zielframework ausgewählt ist.
- Markieren Sie Redis für die Zwischenspeicherung verwenden, wenn Sie die Redis-Integration einbeziehen möchten.
- Wählen Sie optional die Option Testprojekt erstellen, um ein Testprojekt in Ihre Lösung aufzunehmen.
- Klicken Sie auf Erstellen, um die Lösung zu erstellen.
Visual Studio erstellt eine für .NET Aspire strukturierte Lösung, die Projekte wie AppHost, ServiceDefaults und Beispieldienste enthält.
Erforschung der Lösungsstruktur
Die generierte Lösung wird die folgenden Projekte enthalten:
- AppHost: Der Haupteinstiegspunkt für Ihre Anwendung, verantwortlich für die Orchestrierung von Diensten und die Verwaltung von Konfigurationen.
- DienstStandardeinstellungen: Enthält Standardkonfigurationen und -einstellungen für Ihre Dienste.
- ApiService: Ein Beispiel für einen API-Dienst, der zeigt, wie man einen Dienst mit .NET Aspire implementiert.
- Tests: Ein Testprojekt zum Schreiben von Unit- und Integrationstests für Ihre Dienste.
- WebApp: Eine Beispiel-Webanwendung, die mit dem API-Dienst interagiert.
Im AppHost-Projekt definieren Sie die Architektur Ihrer Anwendung, einschließlich der Dienstabhängigkeiten und Konfigurationen. Das Projekt ServiceDefaults bietet Standardeinstellungen, die in einzelnen Diensten außer Kraft gesetzt werden können. Die Projekte ApiService und WebApp dienen als Beispiele für die Implementierung und Nutzung von Diensten innerhalb des .NET Aspire Frameworks.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache");
var apiService = builder.AddProject<Projects.AspireSample_ApiService>("apiservice");
builder.AddProject<Projects.AspireSample_Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithReference(cache)
.WaitFor(cache)
.WithReference(apiService)
.WaitFor(apiService);
builder.Build().Run();
Wie Sie sehen können, ist der obige Code ein einfaches Beispiel für die Definition von Dienstabhängigkeiten und Konfigurationen im AppHost Projekt. Die Methode WithReference
injiziert Umgebungsvariablen, die der App mitteilen, wie sie sich mit der Abhängigkeit verbinden soll, und die Methode WaitFor
stellt Abhängigkeiten zwischen den Diensten her und sorgt dafür, dass sie in der richtigen Reihenfolge gestartet werden.
Ausführen der Anwendung
Um die Anwendung auszuführen, drücken Sie einfach F5 in Visual Studio oder verwenden Sie die .NET CLI, um das Projekt auszuführen. Das AppHost-Projekt wird alle registrierten Dienste starten und Sie können über Ihren Browser auf die Webanwendung zugreifen.
Vorteile der Verwendung von .NET Aspire
- Vereinfachte Orchestrierung: .NET Aspire macht komplexe YAML-Konfigurationen überflüssig, indem es Entwicklern ermöglicht, Serviceabhängigkeiten und Konfigurationen direkt im Code zu definieren. Dieser Ansatz reduziert die Komplexität und verbessert die Erfahrung der Entwickler.
- Integrierte Beobachtbarkeit: Mit den integrierten Beobachtungsfunktionen bietet .NET Aspire Einblicke in die Anwendungsleistung, so dass Probleme leichter erkannt und behoben werden können. Dies ist besonders für verteilte Anwendungen von Vorteil, bei denen die Überwachung mehrerer Dienste eine Herausforderung darstellen kann.
- Einheitliche Entwicklungserfahrung: Durch die Bereitstellung eines zusammenhängenden Satzes von Tools, Vorlagen und Integrationen rationalisiert .NET Aspire den Entwicklungsprozess und ermöglicht es Entwicklern, sich auf das Schreiben von Code zu konzentrieren, anstatt die Infrastruktur zu verwalten.
- Community-gesteuert: Als Open-Source-Projekt profitiert .NET Aspire von den Beiträgen einer lebendigen Gemeinschaft von Entwicklern. Dieser kollaborative Ansatz fördert die Innovation und stellt sicher, dass das Framework in der sich ständig weiterentwickelnden Landschaft der Cloud-Native-Entwicklung relevant bleibt.
- Zukunftssicherheit: .NET Aspire ist so konzipiert, dass es sich an neue Trends und Technologien anpasst. So wird sichergestellt, dass Entwickler Anwendungen erstellen können, die zukunftssicher und für die Herausforderungen von morgen gerüstet sind.
- Plattformübergreifende Unterstützung: Auf der .NET-Plattform aufbauend, kann .NET Aspire auf verschiedenen Betriebssystemen laufen, darunter Windows, Linux und macOS. Diese plattformübergreifende Unterstützung ermöglicht es Entwicklern, die Umgebung zu wählen, die ihren Anforderungen am besten entspricht.
- Schnelle Entwicklung: Mit seinen umfangreichen Bibliotheken und Tools beschleunigt .NET Aspire den Entwicklungsprozess und ermöglicht es Entwicklern, Anwendungen schneller als je zuvor zu erstellen und einzusetzen. Dieser schnelle Entwicklungszyklus ermöglicht es Unternehmen, schnell auf Marktanforderungen zu reagieren und der Konkurrenz einen Schritt voraus zu sein.
- Robustes Test-Framework: .NET Aspire enthält ein robustes Test-Framework, mit dem Entwickler problemlos Tests schreiben und ausführen können. Dadurch wird sichergestellt, dass Anwendungen vor der Bereitstellung gründlich getestet werden, was das Risiko von Fehlern und Problemen in der Produktion verringert.
- Umfassende Überwachung und Protokollierung: Das Framework bietet integrierte Überwachungs- und Protokollierungsfunktionen, mit denen Entwickler die Anwendungsleistung verfolgen und Probleme in Echtzeit erkennen können. Diese Transparenz ist entscheidend für die Aufrechterhaltung des Zustands von Cloud-nativen Anwendungen.
Fazit
.NET Aspire ist ein Meilenstein für die Cloud-native Entwicklung. Es bietet Entwicklern die Tools und Ressourcen, die sie für die Erstellung, Bereitstellung und Verwaltung von Anwendungen in der Cloud benötigen. Mit seinem Fokus auf Leistung, Sicherheit und Entwicklererfahrung ist .NET Aspire auf dem besten Weg, das führende Framework für Unternehmen zu werden, die die Möglichkeiten des Cloud Computing nutzen möchten. Egal, ob Sie ein erfahrener Entwickler sind oder gerade erst anfangen, .NET Aspire hat für jeden etwas zu bieten.
Ressourcen
Dieser Artikel ist Teil des XPRT. Magazin. Die Goldene Ausgabe! Laden Sie Ihr kostenloses Exemplar hier herunter

Contact