Scegliere i servizi di integrazione e automazione corretti in Azure

Questo articolo confronta i servizi cloud Microsoft seguenti:

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

Se si sta cercando un confronto più generale tra Funzioni di Azure e altre opzioni di calcolo di Azure:

Per un riepilogo e un confronto delle opzioni del servizio di automazione in Azure:

Confrontare Power Automate e App per la logica di Azure

Power Automate e App per la logica di Azure sono entrambi servizi di integrazione di progettazione che possono creare flussi di lavoro. Entrambi i servizi si integrano con varie applicazioni SaaS e aziendali.

Power Automate è basato sulla piattaforma App per la logica di Azure. Entrambi forniscono finestre di progettazione e connettori del flusso di lavoro simili.

Power Automate consente a qualsiasi impiegato di eseguire semplici integrazioni, ad esempio un processo di approvazione per una raccolta documenti di SharePoint, senza ricorrere a sviluppatori o professionisti IT. App per la logica consente anche integrazioni avanzate, come i processi B2B, in cui sono necessarie procedure di sicurezza e la metodologia Azure DevOps di livello aziendale. È normale che la complessità di un flusso di lavoro aziendale aumenti nel tempo.

La tabella seguente consente di determinare se per una data integrazione è più appropriato usare Power Automate o App per la logica:

Power Automate App per la logica
Utenti Impiegati, utenti aziendali, amministratori di SharePoint Integratori e sviluppatori professionisti, professionisti IT
Scenari Self-service Integrazioni avanzate
Strumento di progettazione Nel browser e app per dispositivi mobili, solo interfaccia utente In-browser, Visual Studio Code e Visual Studio con visualizzazione codice disponibile
Application Lifecycle Management (ALM) Power Platform fornisce strumenti che si integrano con DevOps e GitHub Actions per consentire la compilazione di pipeline automatizzate nel ciclo ALM. Azure DevOps: controllo del codice sorgente, test, supporto, automazione e gestibilità in Azure Resource Manager
Esperienza di amministrazione Gestire gli ambienti di Power Automate e i criteri di prevenzione della perdita dei dati (DLP), tenere traccia delle licenze: Amministrazione center Gestire gruppi di risorse, connessioni, gestione degli accessi e registrazione: portale di Azure
Sicurezza Log di controllo di sicurezza di Microsoft 365, prevenzione della perdita dei dati, crittografia dei dati inattivi per dati sensibili Sicurezza di Azure: sicurezza di Azure, Microsoft Defender per il cloud, log di controllo

Confrontare Funzioni di Azure e App per la logica di Azure

Funzioni e App per la logica sono servizi di Azure che abilitano i carichi di lavoro senza server. Funzioni di Azure è un servizio di calcolo serverless, mentre App per la logica di Azure è una piattaforma di integrazione di flussi di lavoro serverless. Entrambi consentono di creare complesse orchestrazioni. Un'orchestrazione è una raccolta di funzioni o 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 un'interfaccia utente grafica o modificando i file di configurazione.

È possibile combinare e associare i servizi quando si crea un'orchestrazione, ad esempio la chiamata di funzioni dai flussi di lavoro dell'app per la logica e la chiamata di flussi di lavoro delle 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 principali tra questi servizi:

Funzioni permanenti App per la logica di Azure
Sviluppo Code-first (imperativo) Incentrato sulla finestra di progettazione (dichiarativo)
Connettività Circa una dozzina di tipi di associazioni incorporati, scrittura di codice per associazioni personalizzate Grande raccolta di connettori, Enterprise Integration Pack per scenari B2B, compilazione di connettori personalizzati
Azioni Ogni attività è una funzione di Azure; scrittura di codice per funzioni di attività Grande raccolta di azioni predefinite
Monitoraggio Azure Application Insights portale di Azure, log di Monitoraggio di Azure, Microsoft Defender per il cloud
Gestione API REST, Visual Studio Portale di Azure, API REST, PowerShell, Visual Studio
Contesto di esecuzione Possibilità di esecuzione in locale o nel cloud Viene eseguito in Azure, in locale o in locale. Per altre informazioni, vedere Che cos'è App per la logica di Azure.

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.

Di seguito sono riportati due scenari per cui Processi Web può costituire una valida soluzione:

  • È necessario un maggior controllo sul codice in ascolto degli eventi, l'oggetto JobHost. Funzioni offre un numero limitato di modalità di personalizzazione del comportamento di JobHost nel file host.json. In alcuni casi è necessario eseguire operazioni che non possono essere specificate da 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 con i servizi di Azure o di terze parti, preferire Funzioni di Azure a 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 App per la logica di Azure. Un flusso di lavoro App per la logica di Azure può chiamare una funzione in Funzioni di Azure e viceversa. Ad esempio, vedere Creare una funzione che si integra con App per la logica di Azure.

Tra Power Automate, App per la logica 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, seguire i collegamenti seguenti:

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: