W tym artykule wymieniono często zadawane pytania dotyczące platformy .NET Aspire. Aby zapoznać się z bardziej kompleksowym omówieniem, zobacz .NET Aspire overview.
Dlaczego warto wybrać platformę .NET Aspire na platformie Docker Compose na potrzeby orkiestracji?
Docker Compose jest doskonały, ale nie jest produktywny, gdy wszystko, co chcesz zrobić, to uruchomić kilka projektów lub plików wykonywalnych. Docker Compose wymaga od deweloperów tworzenia obrazów kontenerów i uruchamiania aplikacji wewnątrz kontenerów. Jest to bariera, gdy chcesz po prostu uruchomić fronton, zaplecze, procesy robocze i bazę danych. Dzięki platformie .NET Aspire nie musisz uczyć się czegoś poza tym, co już wiesz.
Konfiguracja za pomocą kodu deklaratywnego jest lepsza niż za pośrednictwem kodu YAML. Aplikacja Docker Compose staje się złożona po próbie wykonania dowolnej formy abstrakcji lub kompozycji (na przykład zobacz starą aplikację eshopOnContainers). Ponadto istnieją zamiany zmiennych środowiskowych (i obejmuje) i nie ma typów ani funkcji IntelliSense, a trudno jest wnioskować o tym, co dokładnie działa. Debugowanie jest również trudne. Platforma .NET Aspire zapewnia lepsze środowisko, które można łatwo rozpocząć i skalować w górę do orkiestratora, takiego jak Compose, przy użyciu prawdziwego języka programowania.
Jak dodać projekty do platformy .NET Aspire?
Projekty można dodać ręcznie do rozwiązania .NET Aspire przy użyciu interfejsu API builder.AddProject("<name>", "<path/to/project.csproj>")
.
Jak wdrożyć platformę .NET Aspire bez docelowych narzędzi dostawcy usług w chmurze?
Platforma .NET Aspire nie ogranicza wdrażania żadnego istniejącego projektu ani rozwiązania. Platforma .NET Aspire uwidacznia manifest wdrożenia używany przez autorów narzędzi do tworzenia artefaktów do wdrożenia u dowolnego dostawcy usług w chmurze. Niestety, nie wszyscy dostawcy usług w chmurze oferują narzędzia do wdrożeń na podstawie tego manifestu. Manifest jest prostym plikiem JSON, który opisuje zasoby aplikacji i zależności między nimi. Manifest jest używany przez interfejs wiersza polecenia dewelopera platformy Azure do wdrożenia na platformie Azure. Podobnie aspir8 używa manifestu do wdrożenia na platformie Kubernetes. Możesz użyć manifestu, aby wdrożyć go u dowolnego dostawcy usług w chmurze, który obsługuje używane zasoby.
Czy aplikacje .NET Aspire można tworzyć bez zależności platformy Azure i wdrażać je gdzie indziej?
Tak, możesz tworzyć aplikacje platformy .NET Aspire bez używania żadnych zależności zastrzeżonych na platformie Azure. Chociaż platforma .NET Aspire oferuje rozwiązanie pierwszej firmy do wdrażania na platformie Azure, nie jest to wymagane. .NET Aspire to natywny dla chmury stos, który może służyć do tworzenia aplikacji uruchamianych w dowolnym miejscu. Wszystkie oferty specyficzne dla platformy Azure są jawnie wywoływane.
Dlaczego warto używać odnajdywania usługi .NET Aspire za pośrednictwem narzędzia Docker Compose z platformą Kubernetes?
Interfejsy API odnajdywania usługi .NET Aspire to abstrakcja, która współpracuje z różnymi dostawcami (takimi jak Kubernetes i Consul). Jedną z wielkich zalet jest to, że działa lokalnie i jest wspierany przez program . Abstrakcja IConfiguration
platformy NET. Oznacza to, że można zaimplementować odnajdywanie usług w sieci szkieletowej obliczeń w sposób, który nie powoduje zmian w kodzie. Jeśli masz wiele klastrów lub usług Kubernetes w usłudze Azure App Service lub Azure Functions, nie musisz zasadniczo zmieniać kodu aplikacji, aby działał lokalnie, w jednym klastrze lub w wielu klastrach. To korzyść abstrakcji.
Dlaczego warto używać platformy .NET Aspire, jeśli platforma OpenTelemetry jest dostępna na platformie .NET?
.NET Aspire ma duże zakłady na . Integracja platformy NET z platformą OpenTelemetry. Pulpit nawigacyjny platformy .NET Aspire to standardowy serwer OTLP, który wizualizuje różne dane telemetryczne. Oparcie się na tych otwartych standardach ułatwia tworzenie tych rzeczy bez przerywania zgodności z szerszym ekosystemem.
Dlaczego warto używać platformy .NET Aspire, jeśli Grafana, Jaeger i Prometheus współpracują z platformą .NET?
Platforma .NET Aspire nie zastępuje tych narzędzi, ale raczej uzupełniającą technologię. .NET Aspire to zestaw bibliotek i narzędzi, które ułatwiają tworzenie aplikacji, które można zaobserwować. Aby uzyskać więcej informacji, zobacz przykład metryk w repozytorium przykładowym platformy .NET Aspire pokazującym narzędzia Grafana i Prometheus.
Dlaczego warto utworzyć kolejną platformę, gdy istniejące działają dobrze?
.NET Aspire nie jest strukturą, jest to opinii stosu. Być może najbardziej kontrowersyjnymi częściami są interfejsy API DistributedApplication
, których można użyć do utworzenia modelu aranżacji w dowolnym obiekcie . Język oparty na platformie NET. Chociaż wszystko jest możliwe dzisiaj, nie jest łatwe. Korzystając z filozofii systemu Unix, cały ekosystem natywny dla chmury jest zbudowany wokół wiązania różnych elementów oprogramowania CNCF razem w celu utworzenia stosu. Platforma .NET Aspire próbuje zrobić to samo przy użyciu wiedzy z przestrzeni natywnej dla chmury i wybiera kilka opinii (w sposób, w jaki korzystają z tych samych bloków konstrukcyjnych). Jedną z nowatorskich informacji o tym, jak platforma .NET Aspire tworzy różne elementy stosu, jest to, że nie ogranicza dostępu ani zgodności innych aplikacji, struktur ani usług. Gdy ludzie grają z nim bardziej, zdają sobie sprawę, jak komponowalne i rozszerzalne jest.
Jak platforma .NET Aspire różni się od Orleanu Microsoft?
Microsoft Orleans i .NET Aspire to technologie uzupełniające.
Orleans jest rozproszoną strukturą opartą na aktorach. .NET Aspire to gotowy do chmury stos do tworzenia obserwowalnych, gotowych do produkcji aplikacji rozproszonych. Obejmuje ona lokalne możliwości orkiestracji, aby uprościć wewnętrzną pętlę dewelopera i składniki z opiniami wielokrotnego użytku do integracji z często używanymi zależnościami aplikacji. Rozwiązanie oparte na Orleanie nadal będzie miało zależności zewnętrzne, takie jak magazyny danych i pamięci podręczne, dla których program .NET Aspire może być używany do celów orkiestracji.
Aby uzyskać więcej informacji, zobacz Use Orleans with .NET Aspire and the corresponding Orleans voting app sample.
Jak platforma .NET Aspire różni się od języka Dapr?
Narzędzia Dapr i .NET Aspire to technologie uzupełniające.
W przypadku abstrakcji języka Dapr niektórych z podstawowej platformy w chmurze platforma .NET Aspire udostępnia konfigurację opinii na temat podstawowych technologii chmury bez ich abstrakcji. A . Aplikacja oparta na platformie NET korzystająca z języka Dapr może używać platformy .NET Aspire do organizowania lokalnej pętli wewnętrznej dewelopera i usprawnić wdrażanie. Platforma .NET Aspire zawiera rozszerzenia, które obsługują uruchamianie procesów samochodów bocznych Dapr podczas pętli wewnętrznej.
Aby uzyskać więcej informacji, zobacz
Jak platforma .NET Aspire różni się od projektu Tye?
Projekt Tye był eksperymentem, który badał uruchamianie i orkiestrację mikrousług oraz obsługę wdrażania w orkiestratorach, takich jak Kubernetes. .NET Aspire to nadzbiór tye, który obejmuje możliwości orkiestracji i wdrażania wraz ze składnikami opinii dotyczącymi integrowania typowych zależności natywnych dla chmury. Program .NET Aspire można uznać za ewolucję eksperymentu Project Tye.
Jak platforma .NET Aspire i zestaw Azure SDK dla platformy .NET są powiązane?
Platforma .NET Aspire udostępnia składniki, które korzystają z zestawu Azure SDK dla platformy .NET, aby uwidaczniać typowe funkcje magazynu (azure Blob Storage, kolejki usługi Azure Storagei azure Table Storage), bazy danych (azure Cosmos DB i Azure Cosmos DB z usługą Entity Framework Core), obsługi komunikatówi zabezpieczeń.
Jak są powiązane platformy .NET Aspire i Kubernetes?
Platforma .NET Aspire ułatwia opracowywanie aplikacji rozproszonych, które można organizować w lokalnym środowisku deweloperów jako pliki wykonywalne i kontenery. Kubernetes to technologia, która organizuje kontenery i zarządza nimi na wielu maszynach. Projekty .NET Aspire mogą tworzyć manifest , których autorzy narzędzi mogą używać do tworzenia artefaktów na potrzeby wdrażania na platformie Kubernetes. W istocie platforma Kubernetes jest celem wdrożenia dla projektów .NET Aspire.
Czy usługi robocze są obsługiwane na platformie .NET Aspire?
Tak, usługi procesów roboczych są w pełni obsługiwane i dostępne są dokumenty i przykłady ułatwiające rozpoczęcie pracy. Usługi robocze to doskonały sposób uruchamiania zadań w tle, zaplanowanych zadań lub długotrwałych zadań w programie .NET Aspire. Aby uzyskać więcej informacji, zobacz Database migrations with Entity Framework Core sample app.
Czy usługa Azure Functions jest obsługiwana na platformie .NET Aspire?
Tak, platforma .NET Aspire ma obsługę wersji zapoznawczej integracji usługi Azure Functions z aplikacją.
Czy platforma .NET Aspire obsługuje uruchamianie aplikacji internetowych lokalnie w usługach IIS lub IIS Express?
Nie. Platforma .NET Aspire nie obsługuje uruchamiania aplikacji internetowych w usługach IIS ani IIS Express.
Czy platforma .NET Aspire obsługuje wdrażanie aplikacji w usługach IIS?
Nie. Platforma .NET Aspire nie obsługuje wdrażania aplikacji w usługach IIS. Nie zapobiega to jednak wdrażaniu aplikacji w usługach IIS w taki sam sposób, jak zawsze.
Jak rozwiązać problemy z integracją i odnajdywaniem usługi podczas wdrażania aplikacji .NET Aspire w usługach IIS?
Integracje platformy .NET Aspire wymagają określonej konfiguracji, która musi zostać dostarczona ręcznie. To samo dotyczy service discovery, najlepiej wdrożyć w czymś innym niż usługi IIS.
Jaki jest cel projektu Community Toolkit?
Celem projektu jest scentralizowany dom dla rozszerzeń i integracji dla .NET Aspire, co pomaga zapewnić spójność w sposobie tworzenia i konserwacji integracji, a także łatwiejszego odnajdywania dla użytkowników.
Czym różni się projekt Community Toolkit od oficjalnego projektu .NET Aspire?
Zestaw narzędzi .NET Aspire Community Toolkit to projekt oparty na społeczności, który jest obsługiwany przez społeczność i nie jest oficjalnie obsługiwany przez zespół .NET Aspire. Zestaw narzędzi to kolekcja integracji i rozszerzeń, które są oparte na projekcie .NET Aspire.
Jak mogę współtworzyć projekt Community Toolkit?
Każdy może współtworzyć zestaw narzędzi .NET Aspire Community Toolkit i przed rozpoczęciem pracy, przeczytaj Przewodnik współtworzenia, aby dowiedzieć się, jak współtworzyć projekt.
Czy proponuję nową integrację z zestawem narzędzi Community Toolkit lub repozytorium "dotnet/aspire"?
Jeśli masz pomysł na nową integrację, zaproponuj ją w repozytorium .NET Aspire Community Toolkit, a nie dotnet/aspire
, ponieważ oficjalny projekt .NET Aspire koncentruje się na podstawowych funkcjach projektu .NET Aspire.
Jeśli zaproponowałeś integrację w repozytorium dotnet/aspire
, nadal możesz zaproponować ją w zestawie narzędzi Community Toolkit, ale połączyć się z istniejącym problemem w repozytorium dotnet/aspire
w celu zapewnienia kontekstu.
Jak znaleźć integracje z zestawem narzędzi Community Toolkit?
Integracje z zestawu narzędzi .NET Aspire Community Toolkit są wyświetlane w oknie dialogowym Dodawanie integracji aspirującego w programie Visual Studio w obszarze przestrzeni nazw CommunityToolkit.Aspire.*
.
Następne kroki
Aby dowiedzieć się więcej na temat sieci i funkcji: