wake-up-neo.com

Azure App Service vs. Azure Service Fabric

Kann mir jemand zu etwas verweisen, aus dem hervorgeht, wann ich eine Azure Service Fabric-Anwendung gegenüber einer Azure App Service-Anwendung erstellen sollte? Ich habe eine Anwendung, die ich erstellen möchte, kann jedoch nicht bestimmen, ob ich sie mithilfe des Azure Service Fabric oder des Azure App Service erstellen sollte.

45

Microsoft hat das document mit einem Vergleich für Azure App Service, virtuelle Maschinen, Service Fabric und Cloud Services erstellt.

18
ivamax9

Leider gibt es keine offiziellen Hinweise, wann was verwendet werden soll. Sie sind zwei separate Plattformen, die unterschiedlichen Entwicklungsparadigmen folgen.

Der App Service bietet Ihnen Funktionen, die Service Fabric nicht standardmäßig bereitstellt. Sachen wie automatische Skalierung, Authentifizierung, Ratenbegrenzung, Integration mit SaaS -Anwendungen usw. Einige oder alle dieser Dinge können allmählich zu Service Fabric kommen, aber ich würde sagen, dass sie momentan angesprochen werden unterschiedliche Zielgruppen - ein weniger erfahrenes Team könnte die Arbeit mit dem App Service erleichtern.

Service Fabric hingegen erleichtert das Zusammensetzen von Teilen. Wenn Sie beispielsweise beim "traditionellen" Ansatz über eine API verfügen, die auf einen Datenspeicher verweist, und einen Cache, um den Datenspeicher nicht zu beeinträchtigen, müssen Sie die verschiedenen Fehlertoleranzszenarien behandeln. Mit Service Fabric kann Ihr Cache innerhalb des API-Prozesses in einer zuverlässigen Sammlung gespeichert werden, und Sie müssen sich nicht mit einer externen Cache-Komponente befassen. Die Daten befinden sich zusammen mit dem Dienst (schneller abrufen/bearbeiten!) Und sind zuverlässig, da sie auf alle Knoten verteilt sind, auf denen der Dienst bereitgestellt wird. Ähnliches gilt für Warteschlangen. Wenn Sie an ein Workflow-Typ-System denken, bei dem es eine API, einen Job-Service und eine Warteschlange gibt, die sich zwischen ihnen befindet und ihnen die Kommunikation ermöglicht, müssen Sie 3 verschiedene Komponenten und die Kommunikation zwischen ihnen verwalten. Bei Service Fabric kommt die Warteschlange in die Anwendung. Und das ist nur die Hälfte davon :) Sie können auch das Darstellermodell für verteilte Berechnungen verwenden, ohne die üblichen Nebenläufigkeits-Kopfschmerzen. Mit Service Fabric profitieren Sie schließlich von einer vollständigeren Entwicklungsumgebung in Ihrer lokalen Box. Sie müssen sich nicht mit dem Erstellen von Warteschlangen usw. auf einem Azure Dev-Konto oder Ähnlichem befassen.

Es ist auch erwähnenswert, dass Sie nichts von der Verwendung beider Paradigmen abhalten. Stellen Sie sich zwei Apps vor, bei denen mindestens eine davon eine Service-Fabric-App ist, die APIs und eine Logik-App, die sich darüber befindet, verfügbar machen.

Ihre Entscheidung sollte davon abhängen, was Sie erstellen möchten, in wie viel Zeit und wann Sie veröffentlichen möchten (Service Fabric ist derzeit nur in der privaten Vorschau, also dauert es eine Weile, bis sie zu GA gelangen) und welche Art von Team, das Sie haben Ich kann mir vorstellen, dass es mit dem App-Service auch ohne ausgeprägtes Team leicht ist, mit dem App-Service anzufangen, aber mit Service Fabric erhalten Sie mehr Kraft, Flexibilität und Kontrolle. 

41
charisk

Der App-Service ist ein verwalteter Dienst. Mit SF verwalten Sie Ihren eigenen Dienst und können auch in Ihren eigenen Räumlichkeiten ausgeführt werden. SF bietet bessere Unterstützung für Nicht-MS-Stack-Entwickler, z. B. native Apps usw.

In diesem Dokument heißt es "Service Fabric ist eine gute Wahl, wenn Sie eine neue App erstellen oder eine vorhandene App zur Verwendung einer Microservice-Architektur neu schreiben."

Wenn Sie ein paar Apps hosten, sollten Sie SF nicht in Betracht ziehen, wenn Sie dagegen mehr als 10 Dienste bereitstellen, wird dies zu einer besseren Lösung. 

Beachten Sie auch, dass SF über einen Datenspeichermechanismus verfügt, der in den Services enthalten ist. 3 Dinge sind gut. 1) Massive Datencluster 2) Einfache Daten, oft in Micros Services-Datenbanken, sind eine große Belastung, da jeder Dienst seine eigenen Daten haben muss und Dinge wie SQL etwas zu viel sind, wenn Sie nur etwas tun 1-3 Tische haben. 3) Zustandsspeicher für das Actor-Programmiermodell.

Ich denke, SF- und Web-Apps werden in Zukunft die Benutzerbasis des "Cloud-Service" in Scheiben schneiden.

3
user1496062

Verwenden Sie Service Fabric, wenn Sie die zugrunde liegende Infrastruktur besser steuern oder direkt darauf zugreifen möchten.

Verwenden Sie den App Service, wenn Sie eine vollständig verwaltete Hosting-Plattform für Ihre Web-Apps benötigen.

-as per Dokumentation

0
Srs

Wenn (App möglicherweise in der Zukunft skaliert werden soll || App mit Micro-Service-Architektur erstellen) gehen Sie für Azure Service Fabric

sonst Azure App Service ist in Ordnung

0
sameer prabhu