Scegliere tra Flow, App per la logica, Funzioni e Processi WebChoose between Flow, Logic Apps, Functions, and WebJobs

Questo articolo mette a confronto i servizi seguenti, disponibili in Microsoft Cloud, ognuno dei quali consente di risolvere i problemi di integrazione e automatizzare i processi aziendali:This article compares and contrasts the following services in the Microsoft cloud, which can all solve integration problems and automate business processes:

Tutti questi servizi risultano utili quando si "mettono insieme" sistemi diversi.All these services are useful when "gluing" together disparate systems. Possono definire input, azioni, condizioni e outputThey can all define input, actions, conditions, and output. e ognuno può essere eseguito in base a una pianificazione o un trigger.You can run each of them on a schedule or trigger. Tuttavia, ogni servizio offre vantaggi esclusivi e il confronto non è finalizzato a stabilire qual è il servizio migliore,However, each service has unique advantages, and comparing them is not a question of "Which service is the best?" ma qual è il servizio più adatto per una determinata situazione.but one of "Which service is best suited for this situation?" Una combinazione di questi servizi è spesso il modo migliore per creare rapidamente una soluzione di integrazione scalabile e con funzionalità complete.Often, a combination of these services is the best way to rapidly build a scalable, full-featured integration solution.

Flow rispetto ad App per la logicaFlow vs. Logic Apps

Microsoft Flow e App per la logica di Azure possono essere affrontati insieme, perché entrambi sono servizi di integrazione configuration-first.We can discuss Microsoft Flow and Azure Logic Apps together because they are both configuration-first integration services. Semplificano la creazione di processi e flussi di lavoro e l'integrazione con varie applicazioni SaaS e aziendali.They make it easy to build processes and workflows and integrate with various SaaS and enterprise applications.

  • Flow si basa sulle app per la logicaFlow is built on top of Logic Apps
  • Hanno la stessa funzionalità di progettazione flussi di lavoroThey have the same workflow designer
  • connettori che funzionano in un servizio possono funzionare anche nell'altroConnectors that work in one can also work in the other

Flow consente a qualsiasi impiegato di eseguire semplici integrazioni, ad esempio ricevere SMS per i messaggi di posta elettronica importanti, senza ricorrere a sviluppatori o professionisti IT.Flow empowers any office worker to perform simple integrations (for example, get SMS for important emails) without going through developers or IT. D'altra parte, App per la logica consente di abilitare integrazioni avanzate o cruciali, come i processi B2B, in cui sono necessarie procedure di sicurezza e la metodologia DevOps a livello di organizzazione.On the other hand, Logic Apps can enable advanced or mission-critical integrations (for example, B2B processes) where enterprise-level DevOps and security practices are required. È normale che la complessità di un flusso di lavoro aziendale aumenti nel tempo.It is typical for a business workflow to grow in complexity over time. Di conseguenza, è possibile iniziare con un flusso e quindi convertirlo in un'app per la logica in base alle esigenze.Accordingly, you can start with a flow at first, then convert it to a logic app as needed.

La tabella seguente consente di determinare se per una data integrazione è più appropriato usare Flow o App per la logica.The following table helps you determine whether Flow or Logic Apps is best for a given integration.

FlussoFlow App per la logicaLogic Apps
AudienceAudience Impiegati, utenti aziendaliOffice workers, business users Professionisti IT, sviluppatoriIT pros, developers
ScenariScenarios Self-serviceSelf-service CrucialeMission-critical
Strumento di progettazioneDesign Tool Nel browser e app per dispositivi mobili, solo interfaccia utenteIn-browser and mobile app, UI only Nel browser e in Visual Studio è disponibile la visualizzazione CodiceIn-browser and Visual Studio, Code view available
DevOpsDevOps Ad hoc, sviluppo nell'ambiente di produzioneAd-hoc, develop in production Controllo del codice sorgente, test, supporto, oltre ad automazione e gestibilità in Azure Resource Managersource control, testing, support, and automation and manageability in Azure Resource Management
Esperienza di amministrazioneAdmin Experience https://flow.microsoft.comhttps://flow.microsoft.com https://portal.azure.comhttps://portal.azure.com
SicurezzaSecurity Procedure standard: sovranità dei dati, crittografia dati inattivi per i dati sensibili e così via.Standard practices: data sovereignty, encryption at rest for sensitive data, etc. Garanzie di sicurezza di Azure: Sicurezza di Azure, Centro sicurezza, log di controllo e altro.Security assurance of Azure: Azure Security, Security Center, audit logs, and more.

Funzioni e WebJobsFunctions vs. WebJobs

Funzioni di Azure e Processi Web del servizio app di Azure possono essere esaminati insieme, essendo entrambi servizi di integrazione di tipo code first e progettati per gli sviluppatori.We can discuss Azure Functions and Azure App Service WebJobs together because they are both code-first integration services and designed for developers. Consentono di eseguire uno script o un frammento di codice in risposta a eventi diversi, ad esempio nuovi BLOB di archiviazione o una richiesta di webhook.They enable you to run a script or a piece of code in response to various events, such as new Storage Blobs or a WebHook request. Ecco le analogie:Here are their similarities:

Funzioni è l'evoluzione naturale di Processi Web, nel senso che usa gli elementi ottimali di Processi Web come base per il miglioramento.Functions is the natural evolution of WebJobs in that it takes the best things about WebJobs and improves upon them. I miglioramenti includono:The improvements include:

  • Modello App senza server.Serverless app model.
  • Sviluppo, test ed esecuzione di codice più semplici, direttamente nel browser.Streamlined dev, test, and run of code, directly in the browser.
  • Integrazione predefinita con più servizi di Azure e di terze parti come i webhook GitHub.Built-in integration with more Azure services and 3rd-party services like GitHub WebHooks.
  • Pagamento a consumo, non è necessario pagare per un piano di servizio app.Pay-per-use, no need to pay for an App Service plan.
  • Ridimensionamento dinamicoautomatico.Automatic, dynamic scaling.
  • I clienti del servizio app esistenti possono comunque scegliere l'esecuzione con un piano di servizio app per sfruttare i vantaggi delle risorse sottoutilizzate.For existing customers of App Service, running on App Service plan still possible (to take advantage of under-utilized resources).
  • Integrazione con App per la logica.Integration with Logic Apps.

La tabella seguente riepiloga le differenze tra Funzioni e Processi Web:The following table summarizes the differences between Functions and WebJobs:

FunzioniFunctions WebJobsWebJobs
RidimensionamentoScaling Ridimensionamento senza configurazioneConfigurationless scaling Ridimensionamento con il piano di servizio appScale with App Service plan
PrezziPricing Pagamento a consumo o parte del piano di servizio appPay-per-use or part of App Service plan Parte del piano di servizio appPart of App Service plan
Tipo di esecuzioneRun-type Attivata, pianificata (da trigger timer)Triggered, scheduled (by timer trigger) Attivata, continua, pianificataTriggered, continuous, scheduled
Eventi di attivazioneTrigger events Timer, Azure Cosmos DB, Hub eventi di Azure, HTTP/webhook (GitHub, Slack), app per dispositivi mobili del servizio app di Azure, Hub eventi di Azure, BLOB e code di archiviazione di Azure, code e argomenti del bus di servizio di AzureTimer, Azure Cosmos DB, Azure Event Hubs, HTTP/WebHook (GitHub, Slack), Azure App Service Mobile Apps, Azure Event Hubs, Azure Storage queues and blobs, Azure Service Bus queues and topics BLOB e code di archiviazione di Azure, code e argomenti del bus di servizio di AzureAzure Storage queues and blobs, Azure Service Bus queues and topics
Sviluppo nel browserIn-browser development SupportatoSupported Non supportatoNot Supported
C#C# SupportatoSupported SupportatoSupported
F#F# SupportatoSupported Non supportatoNot Supported
JavaScriptJavaScript SupportatoSupported SupportatoSupported
JavaJava PreviewPreview Non supportateNot supported
BashBash SperimentaleExperimental SupportatoSupported
Scripting Windows (.cmd, .bat)Windows scripting (.cmd, .bat) SperimentaleExperimental SupportatoSupported
PowerShellPowerShell SperimentaleExperimental SupportatoSupported
PHPPHP SperimentaleExperimental SupportatoSupported
PythonPython SperimentaleExperimental SupportatoSupported
TypeScriptTypeScript SperimentaleExperimental Non supportatoNot Supported

L'uso di Funzioni o di Processi Web dipende in definitiva dalle operazioni che già si svolgono con il servizio app.Whether to use Functions or WebJobs ultimately depends on what you're already doing with App Service. Se è disponibile un'app del servizio app per cui si vogliono eseguire frammenti di codice e avere la possibilità di gestirli insieme nello stesso ambiente DevOps, usare Processi Web.If you have an App Service app for which you want to run code snippets, and you want to manage them together in the same DevOps environment, use WebJobs. Usare Funzioni negli scenari seguenti.In the following scenarios, use Functions.

  • Eseguire frammenti di codice per altri servizi di Azure o applicazioni di terze parti.You want to run code snippets for other Azure services or 3rd-party apps.
  • Gestire separatamente il codice di integrazione delle app del servizio app.You want to manage your integration code separately from your App Service apps.
  • Chiamare i frammenti di codice da un'app per la logica.You want to call your code snippets from a Logic app.

Flow, App per la logica e Funzioni insiemeFlow, Logic Apps, and Functions together

Come accennato in precedenza, il servizio ottimale dipende dalla situazione specifica dell'utente.As previously mentioned, which service is best suited to you depends on your situation.

  • Per la semplice ottimizzazione aziendale usare Flow.For simple business optimization, use Flow.
  • Se lo scenario di integrazione è troppo avanzato per Flow o sono necessarie le funzionalità di DevOps e la conformità ai requisiti di sicurezza, usare App per la logica.If your integration scenario is too advanced for Flow, or you need DevOps capabilities and security compliances, then use Logic Apps.
  • Se un passaggio nello scenario di integrazione richiede codice specializzato o di trasformazione altamente personalizzato, scrivere una funzione e quindi attivarla come azione nell'app per la logica.If a step in your integration scenario requires highly custom transformation or specialized code, then write a function and trigger the function as an action in your logic app.

È possibile chiamare un'app per la logica in un flusso.You can call a logic app in a flow. Si può anche chiamare una funzione in un'app per la logica e un'app per la logica in una funzione.You can also call a function in a logic app, and a logic app in a function. L'integrazione tra Flow, App per la logica e Funzioni continua a migliorare nel tempo.The integration between Flow, Logic Apps, and Functions continues to improve over time. È possibile creare un elemento in un servizio e usarlo in altri servizi.You can build something in one service and use it in the other services. Qualsiasi investimento effettuato in queste tre tecnologie risulterà comunque proficuo.Therefore, any investment you make in these three technologies is worthwhile.

Passaggi successiviNext steps

Per un'introduzione a ognuno di questi servizi, creare il primo flusso, la prima app per la logica, la prima app per le funzioni o il primo processo Web.Get started with each of the services by creating your first flow, logic app, function app, or WebJob. Fare clic su uno di questi collegamenti:Click any of the following links:

In alternativa, è possibile ottenere altre informazioni su questi servizi di integrazione usando i collegamenti seguenti:Or, get more information on these integration services with the following links: