Hier im App Service gibt es einige Optionen. Ich werde Logic Apps oder Azure Automation nicht berühren, die auch diesen Bereich berühren.
Azure WebJobs
Dieser Artikel ist ehrlich gesagt die beste Erklärung, aber ich werde hier zusammenfassen.
On Demand WebJobs aka. Geplante WebJobs aka. Ausgelöste WebJobs
Ausgelöste WebJobs sind WebJobs, die einmal ausgeführt werden, wenn eine URL aufgerufen wird oder wenn die Schedule-Eigenschaft in Schedule.job vorhanden ist . Geplante WebJobs sind nur WebJobs, für die ein Azure Scheduler-Job erstellt wurde, um unsere URL nach einem Zeitplan aufzurufen. Wir unterstützen jedoch auch die Schedule-Eigenschaft, wie bereits erwähnt.
Zusammenfassung:
+
Ausführbare Datei / Skript auf Anfrage
+
Geplante Ausführungen
-
Müssen über .scm Endpunkt auslösen
-
Die Skalierung erfolgt manuell
-
VM ist immer erforderlich
Kontinuierliche WebJobs (kein SDK)
Diese Jobs laufen für immer und wir werden sie wecken, wenn sie abstürzen. Sie müssen Always On aktivieren, damit diese funktionieren. Dies bedeutet, dass Sie sie in der Basisstufe und höher ausführen.
Zusammenfassung:
+
Ausführbare Datei / Skript wird immer ausgeführt
-
Benötigt immer auf - Basisstufe und höher
-
VM ist immer erforderlich
Kontinuierliche WebJobs mit dem WebJobs SDK
Dies ist aus Sicht von "WebJobs the feature" nichts. Im Wesentlichen haben wir dieses süße SDK, das wir für WebJobs geschrieben haben und mit dem Sie Code basierend auf einfachen Triggern ausführen können. Ich werde später mehr darüber sprechen.
Zusammenfassung:
+
Ausführbare Datei / Skript wird immer ausgeführt
+
Reichhaltigere Protokollierung / Dashboard
+
Auslöser werden zusammen mit lang laufenden Aufgaben unterstützt
-
Benötigt immer auf - Basisstufe und höher
-
Die Skalierung erfolgt manuell
-
Der Einstieg kann etwas lästig sein
-
VM ist immer erforderlich
Azure WebJobs SDK
Das Azure WebJobs SDK ist ein vollständig von der Plattformfunktion WebJobs getrenntes SDK. Es ist für die Ausführung in einem WebJob konzipiert, kann aber wirklich überall ausgeführt werden. Wir haben Kunden, die sie in Worker-Rollen und sogar in Prem- oder anderen Clouds ausführen, obwohl Support nur die beste Anstrengung ist.
Das SDK soll es einfach machen, Code als Reaktion auf ein Ereignis auszuführen und eine Bindung an Dienste / etc. einfach. Dies wird ehrlich gesagt am besten in einigen Dokumenten behandelt , aber das Herzstück ist das "Ereignis" + "Code". Wir haben auch einige coole Erweiterungsarbeiten durchgeführt, aber das ist dem Hauptzweck untergeordnet.
Zusammenfassung:
- Die meisten davon sind oben erwähnt
+
Sie können erweitern und ausführen, was Sie wollen. Volle Kontrolle.
-
HTTP-Zeug ist ein wenig wackelig, aber es funktioniert
Azure-Funktionen
Bei Azure-Funktionen geht es darum, den Hauptzweck des WebJobs SDK zu nutzen, es als Dienst zu hosten und den Einstieg in andere Sprachen zu vereinfachen. Wir führen hier auch das "Serverless" -Konzept ein, weil es sehr sinnvoll war - wir wissen, wie unser SDK skaliert, damit wir intelligente Dinge für Sie tun können.
Azure-Funktionen sind eine sehr stark verwaltete Erfahrung. Wir unterstützen es nicht, Ihren eigenen Gastgeber mitzubringen. Derzeit unterstützen wir keine benutzerdefinierten Erweiterungen, aber wir untersuchen dies. Wir sind der Meinung, was Sie tun können und was nicht, aber für die Dinge, die wir ermöglichen, sind sie geschickt und einfach zu bedienen und zu verwalten.
Die meisten "Framework" -Dinge, die wir zur Verbesserung der Funktionen getan haben, werden jedoch über das WebJobs SDK durchgeführt. Zum Beispiel werden wir ein neues NuGet für WebJobs hochladen, das die Protokollierungsgeschwindigkeit drastisch erhöht, was für WebJobs SDK-Benutzer enorme Perf-Vorteile bietet. Bei den Versandfunktionen als "WebJobs SDK as a Service" haben wir viele Erfahrungsprobleme wirklich verbessert.
Ich bin wahrscheinlich voreingenommen, da Funktionen unsere neueste und beste ist, aber ich kann gerne mehr Nachteile für Funktionen auf meine Weise erzielen.
Ich werde wahrscheinlich einen Blog veröffentlichen, der etwas ausführlicher ist, aber ich habe versucht, dies für dieses Forum so kurz wie möglich zu halten.