Scegliere i servizi di integrazione e automazione corretti in Azure
Questo articolo confronta i servizi cloud Microsoft seguenti:
- Microsoft Power Automate (in precedenza Microsoft Flow)
- App per la logica di azure
- Funzioni di Azure
- Processi Web del servizio app di Azure
Tutti questi servizi consentono di risolvere i problemi di integrazione e automatizzare i processi aziendali. Possono definire input, azioni, condizioni e output e ognuno può essere eseguito in base a una pianificazione o un trigger. Ogni servizio offre vantaggi esclusivi e questo articolo ne illustra le differenze.
Nota
Per un confronto più generale tra Funzioni di Azure e altre opzioni di calcolo di Azure, vedere gli articoli seguenti:
- Criteri per la scelta di un servizio di calcolo di Azure
- Scegliere un'opzione di calcolo di Azure per i microservizi
Per un riepilogo e un confronto delle opzioni del servizio di automazione in Azure, vedere Scegliere i servizi di Automazione in Azure.
Confrontare App per la logica di Azure e Microsoft Power Automate
Questi servizi sono entrambe piattaforme di integrazione di progettazione in cui è possibile compilare ed eseguire flussi di lavoro automatizzati. Entrambe le piattaforme si integrano con varie applicazioni SaaS (Software-as-a-Service) e aziendali. Entrambi forniscono finestre di progettazione del flusso di lavoro simili e mentre i connettori condividono alcune sovrapposizioni, ogni piattaforma offre anche connettori univoci.
Power Automate consente agli utenti aziendali, ai lavoratori di ufficio e agli sviluppatori cittadini di creare integrazioni semplici senza dover collaborare con gli sviluppatori o l'IT o scrivere codice. Un esempio potrebbe essere un flusso di lavoro di approvazione per una raccolta documenti di SharePoint. App per la logica di Azure supporta le integrazioni che vanno da scenari poco a nessun codice a flussi di lavoro più avanzati, codificati e complessi. Gli esempi includono processi o scenari B2B che richiedono interazioni a livello aziendale con Azure DevOps. Un flusso di lavoro aziendale può anche crescere da semplice a completo nel tempo.
Per determinare se si vuole usare App per la logica di Azure o Power Automate per un'integrazione specifica, vedere la tabella di confronto delle funzionalità.
Confrontare Funzioni di Azure e App per la logica di Azure
Questi servizi di Azure consentono di compilare ed eseguire carichi di lavoro serverless. Funzioni di Azure è un servizio di calcolo serverless, mentre App per la logica di Azure è una piattaforma di integrazione del flusso di lavoro serverless. Entrambi consentono di creare complesse orchestrazioni. Un'orchestrazione è una raccolta di funzioni, denominate azioni in App per la logica di Azure, che è possibile eseguire per completare un'attività complessa. Per elaborare ad esempio un batch di ordini è possibile eseguire molte istanze di una funzione in parallelo, attendere il completamento di tutte le istanze e quindi eseguire una funzione che calcola un risultato sull'aggregazione.
Per Funzioni di Azure è possibile sviluppare orchestrazioni scrivendo codice e usando l'estensione Durable Functions. Per App per la logica di Azure, è possibile creare orchestrazioni usando una finestra di progettazione visiva o modificando i modelli di Azure Resource Manager.
È possibile combinare in vari modi i servizi quando si crea un'orchestrazione. Ad esempio, è possibile chiamare funzioni dai flussi di lavoro dell'app per la logica e chiamare flussi di lavoro dell'app per la logica dalle funzioni. Scegliere il modo in cui compilare ogni orchestrazione in base alle funzionalità dei servizi o delle preferenze personali. La tabella seguente elenca alcune differenze essenziali tra questi servizi:
Confrontare Funzioni e Processi Web
Analogamente a Funzioni di Azure, Processi Web del servizio app di Azure con WebJobs SDK è un servizio di integrazione di tipo code first progettato per gli sviluppatori. Entrambi i servizi si basano sul servizio app di Azure e supportano funzionalità come integrazione del controllo del codice sorgente, autenticazione e monitoraggio con l'Integrazione di Application Insights.
Processi Web e WebJobs SDK
La funzionalità Processi Web del servizio app consente di eseguire uno script o un frammento di codice nel contesto di un'app Web del servizio app. WebJobs SDK è un framework progettato per Processi Web che semplifica il codice scritto in risposta a eventi diversi nei servizi di Azure. Ad esempio, è possibile rispondere alla creazione di un BLOB di un'immagine in Archiviazione di Azure creando un'immagine di anteprima. WebJobs SDK viene eseguito come un'applicazione console .NET, che è possibile distribuire in un processo Web.
Processi Web e WebJobs SDK costituiscono una valida soluzione se usati insieme, ma è possibile usare Processi Web senza WebJobs SDK e viceversa. Un processo Web può eseguire qualsiasi programma o script eseguibile nella sandbox del servizio app. Un'applicazione console di WebJobs SDK può essere eseguita ovunque siano eseguibili le applicazioni console, ad esempio nei server locali.
Tabella di confronto
Funzioni di Azure è basato sull'SDK Processi Web, quindi condivide molti degli stessi trigger di evento e connessioni ad altri servizi di Azure. Ecco alcuni fattori da prendere in considerazione per la scelta tra Funzioni di Azure e Processi Web con WebJobs SDK:
Funzioni | Processi Web con SDK Processi Web | |
---|---|---|
Modello di app serverless con scalabilità automatica | ✔ | |
Sviluppo e test nel browser | ✔ | |
Pagamento a consumo | ✔ | |
Integrazione con App per la logica | ✔ | |
Eventi trigger |
Timer Code e BLOB di Archiviazione di Azure Code e argomenti del bus di servizio di Azure Azure Cosmos DB Hub eventi di Azure HTTP/WebHook (GitHub, Slack) Griglia di eventi di Azure |
Timer Code e BLOB di Archiviazione di Azure Code e argomenti del bus di servizio di Azure Azure Cosmos DB Hub eventi di Azure File system |
Lingue supportate | C# F# JavaScript Java Python PowerShell |
C#1 |
Gestione pacchetti | npm e NuGet | NuGet2 |
1 Processi Web (senza WebJobs SDK) supporta linguaggi come C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python e altro ancora. Un processo Web può eseguire qualsiasi programma o script eseguibile nella sandbox del servizio app.
2 Processi Web (senza WebJobs SDK) supporta npm e NuGet.
Riepilogo
Funzioni di Azure offre una maggiore produttività degli sviluppatori rispetto a Processi Web del servizio app di Azure. Offre anche altre opzioni per i linguaggi di programmazione, gli ambienti di sviluppo, l'integrazione dei servizi di Azure e i prezzi. Per la maggior parte degli scenari, è la scelta migliore.
Ecco due scenari per i quali i processi Web potrebbero essere la scelta migliore:
- È necessario un maggior controllo sul codice in ascolto degli eventi, l'oggetto
JobHost
. Funzioni offre un numero limitato di modalità di personalizzazione del comportamento diJobHost
nel file host.json. A volte è necessario eseguire operazioni che non è possibile specificare usando una stringa in un file JSON. Ad esempio, solo WebJobs SDK consente di configurare un criterio di ripetizione dei tentativi personalizzato per Archiviazione di Azure. - È disponibile un'app del servizio app per cui si vogliono eseguire frammenti di codice, con la possibilità di gestirli insieme nello stesso ambiente Azure DevOps.
Per altri scenari in cui si vogliono eseguire frammenti di codice per l'integrazione di servizi esterni o Di Azure, scegliere Funzioni di Azure su Processi Web con WebJobs SDK.
Power Automate, App per la logica, Funzioni e Processi Web insieme
Non è necessario scegliere solo uno di questi servizi, Si integrano tra loro e con servizi esterni.
Un flusso di Power Automate può chiamare un flusso di lavoro di App per la logica di Azure. Un flusso di lavoro di App per la logica di Azure può chiamare una funzione in Funzioni di Azure e viceversa. Vedere ad esempio Creare una funzione che si integra con le app per la logica di Azure.
Tra Power Automate, App per la logica di Azure e Funzioni, l'esperienza di integrazione tra questi servizi continua a migliorare nel tempo. È possibile compilare un componente in un servizio e usarlo negli altri servizi.
Per altre informazioni sui servizi di integrazione, vedere gli articoli seguenti:
- Leveraging Azure Functions & Azure App Service for integration scenarios (Sfruttare Funzioni di Azure e Servizio app di Azure per scenari di integrazione) di Christopher Anderson
- Integrations Made Simple
- App per la logica di Azure Webcast live
- Domande frequenti su Power Automate
Passaggi successivi
Iniziare creando il primo flusso, il flusso di lavoro dell'app per la logica o l'app per le funzioni. Selezionare uno di questi collegamenti:
- Operazioni preliminari di Power Automate
- Creare un esempio di flusso di lavoro di app per la logica a consumo
- Create your first Azure function (Creare la prima funzione di Azure)