Ci sono un paio di opzioni qui in Servizio app. Non toccherò App per la logica o Automazione di Azure, che toccano anche questo spazio.
Azure WebJobs
Questo articolo è onestamente la migliore spiegazione, ma riassumerò qui.
On Demand WebJobs aka. WebJobs programmati aka. WebJobs attivati
I WebJob attivati sono WebJobs che vengono eseguiti una volta quando viene chiamato un URL o quando la proprietà schedule è presente in schedule.job . I WebJob pianificati sono solo WebJobs in cui è stato creato un processo Scheduler di Azure per chiamare il nostro URL in base a una pianificazione, ma supportiamo anche la proprietà di pianificazione, come menzionato in precedenza.
Sommario:
+
Eseguibile / Script su richiesta
+
Esecuzioni pianificate
-
È necessario eseguire il trigger tramite endpoint .scm
-
Il ridimensionamento è manuale
-
La macchina virtuale è sempre richiesta
WebJobs continui (non SDK)
Questi lavori durano per sempre e li svegliamo quando si schiantano. È necessario abilitare Always On affinché funzionino, il che significa eseguirli nel livello Basic e superiore.
Sommario:
+
Eseguibile / Script sempre in esecuzione
-
Richiede sempre attivo: livello base e superiore
-
La macchina virtuale è sempre richiesta
WebJobs continui con l'SDK di WebJobs
Questi non sono nulla dal punto di vista di "WebJobs the feature". In sostanza, abbiamo questo dolce SDK che abbiamo scritto come target WebJobs che ti consente di eseguire il codice sulla base di semplici trigger. Ne parlerò più avanti.
Sommario:
+
Eseguibile / Script sempre in esecuzione
+
Registrazione / dashboard più ricchi
+
Trigger supportati insieme ad attività di lunga durata
-
Richiede sempre attivo: livello base e superiore
-
Il ridimensionamento è manuale da configurare
-
Iniziare può essere un po 'noioso
-
La macchina virtuale è sempre richiesta
SDK di Azure WebJobs
Azure WebJobs SDK è un SDK completamente separato dalla funzionalità della piattaforma WebJobs. È progettato per essere eseguito in un WebJob, ma può davvero essere eseguito ovunque. Abbiamo clienti che li eseguono su ruoli di lavoro e persino su prem o altri cloud, sebbene il supporto sia solo il massimo sforzo.
L'SDK sta semplicemente semplificando l'esecuzione di codice in risposta a qualche evento e rendendo vincolante per servizi / ecc. facile. Questo è onestamente meglio trattato in alcuni documenti , ma il cuore è che la natura "evento" + "codice". Abbiamo anche svolto un ottimo lavoro di estensibilità, ma questo è secondario rispetto allo scopo principale.
Sommario:
- Molti di questi sono menzionati sopra
+
Puoi estendere ed eseguire quello che vuoi. Pieno controllo.
-
La roba HTTP è un po 'traballante, ma funziona
Funzioni di Azure
Funzioni di Azure consiste nel prendere quello scopo principale dell'SDK di WebJobs, ospitarlo come servizio e semplificare l'avvio con altre lingue. Introduciamo anche qui il concetto di "Serverless" perché ha molto senso farlo - sappiamo come il nostro SDK si ridimensiona, quindi possiamo fare cose intelligenti per te.
Funzioni di Azure è un'esperienza gestita in modo molto pesante. Non stiamo supportando il tuo host. Al momento, non supportiamo le estensioni personalizzate ma è qualcosa su cui stiamo indagando. Siamo convinti di ciò che puoi e non puoi fare, ma per le cose che abilitiamo sono chiari, facili da usare e da gestire.
La maggior parte delle cose "quadro" che abbiamo fatto per migliorare le funzioni passano attraverso l'SDK di WebJobs. Ad esempio, caricheremo un nuovo NuGet per WebJobs che aumenta notevolmente la velocità di registrazione, con enormi vantaggi per gli utenti dell'SDK di WebJobs. Nelle funzioni di spedizione come "WebJobs SDK as a Service" abbiamo davvero migliorato molti problemi di esperienza.
Probabilmente sono di parte dato che Funzioni è il nostro ultimo e più grande, ma mi sento libero di girare più contro per Funzioni a modo mio.
Probabilmente finirò per pubblicare un blog che elabora un po 'di più, ma ho cercato di mantenerlo il più breve possibile per questo forum.