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:
- 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:
Confrontare Power Automate e App per la logica di Azure
Power Automate e App per la logica di Azure sono servizi di integrazione incentrati sulla progettazione che consentono di 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 del flusso di lavoro e connettori 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 | Nel browser, in Visual Studio Code e in 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 ambienti di Power Automate e criteri di prevenzione della perdita dei dati, tenere traccia delle licenze: Interfaccia di amministrazione | Gestire gruppi di risorse, connessioni, gestione dell'accesso 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 | Garanzia di 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 essenziali tra questi servizi:
Funzioni durevoli | 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 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 diJobHost
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 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 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:
- 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
- Webcast live su App per la logica
- 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)