Microsoft Flow, Logic Apps, Işlevler ve Web Işleri nelerdir?What are Microsoft Flow, Logic Apps, Functions, and WebJobs?

Bu makalede aşağıdaki Microsoft bulut hizmetleri karşılaştırılır:This article compares the following Microsoft cloud services:

Tüm bu hizmetler, tümleştirme sorunlarını çözebilir ve iş süreçlerini otomatikleştirebilir.All of these services can solve integration problems and automate business processes. Tümü giriş, eylemler, koşullar ve çıkış tanımı yapabilir.They can all define input, actions, conditions, and output. Her birini belirli bir zamanlamayla veya tetikleyiciyle çalıştırabilirsiniz.You can run each of them on a schedule or trigger. Her hizmetin benzersiz avantajları vardır ve bu makalede farklar açıklanmaktadır.Each service has unique advantages, and this article explains the differences.

Microsoft Flow ve Azure Logic Apps karşılaştırmasıCompare Microsoft Flow and Azure Logic Apps

Microsoft Flow ve Logic Apps, iş akışları oluşturabileceğiniz Tasarımcı-ilk tümleştirme hizmetlerdir.Microsoft Flow and Logic Apps are both designer-first integration services that can create workflows. Her iki hizmet de çeşitli SaaS uygulamaları ve kurumsal uygulamalarla tümleştirilir.Both services integrate with various SaaS and enterprise applications.

Microsoft Flow, Logic Apps üzerine kurulmuştur.Microsoft Flow is built on top of Logic Apps. Aynı iş akışı tasarımcısını ve aynı bağlayıcılarıpaylaşır.They share the same workflow designer and the same connectors.

Microsoft Flow, herhangi bir Office çalışanını geliştiricilere veya BT üzerinden geçmeden basit tümleştirmeler (örneğin, bir SharePoint belge kitaplığı üzerinde bir onay işlemi) gerçekleştirmesini sağlar.Microsoft Flow empowers any office worker to perform simple integrations (for example, an approval process on a SharePoint Document Library) without going through developers or IT. Logic Apps, kurumsal düzeyde Azure DevOps ve güvenlik uygulamalarının gerekli olduğu gelişmiş tümleştirmelere (örneğin, B2B işlemleri) de olanak sağlayabilir.Logic Apps can also enable advanced integrations (for example, B2B processes) where enterprise-level Azure DevOps and security practices are required. Kurumsal iş akışının zamanla karmaşık hale gelmesi tipik bir durumdur.It's typical for a business workflow to grow in complexity over time. Buna uygun olarak, ilk olarak bir akışta başlayabilir ve ardından gerektiğinde bir Logic App 'e dönüştürebilirsiniz.Accordingly, you can start with a flow at first, and then convert it to a logic app as needed.

Aşağıdaki tablo, Microsoft Flow veya Logic Apps belirli bir tümleştirme için en iyi olup olmadığını belirlemenize yardımcı olur:The following table helps you determine whether Microsoft Flow or Logic Apps is best for a particular integration:

Microsoft FlowMicrosoft Flow Logic AppsLogic Apps
KullanıcılarUsers Ofis çalışanları, iş kullanıcıları veya SharePoint yöneticileriOffice workers, business users, SharePoint administrators Uzman tümleştiriciler ve geliştiriciler, BT uzmanlarıPro integrators and developers, IT pros
SenaryolarScenarios Self servisSelf-service Gelişmiş tümleştirmelerAdvanced integrations
Tasarım AracıDesign tool Tarayıcı içi ve mobil uygulama, yalnızca kullanıcı arabirimiIn-browser and mobile app, UI only Tarayıcı içi ve Visual Studio, Cod görünümü sağlanırIn-browser and Visual Studio, Code view available
Uygulama yaşam döngüsü yönetimi (ALM)Application lifecycle management (ALM) Üretim dışı ortamlarda tasarım ve test etme, hazırlık sırasında üretime yükseltmeDesign and test in non-production environments, promote to production when ready Azure DevOps: Azure Resource Manager kaynak denetimi, test, destek, otomasyon ve yönetilebilirlikAzure DevOps: source control, testing, support, automation, and manageability in Azure Resource Manager
Yönetici deneyimiAdmin experience Microsoft Flow ortamları ve veri kaybı önleme (DLP) ilkelerini yönetin, lisanslamayı izleyin: Microsoft Flow Yönetim MerkeziManage Microsoft Flow environments and data loss prevention (DLP) policies, track licensing: Microsoft Flow Admin Center Kaynak gruplarını, bağlantıları, erişim yönetimini ve günlüğe kaydetmeyi yönetme: Azure portalManage resource groups, connections, access management, and logging: Azure portal
GüvenlikSecurity Office 365 güvenlik ve uyumluluk denetim günlükleri, DLP, hassas veriler için bekleyen şifrelemeOffice 365 Security and Compliance audit logs, DLP, encryption at rest for sensitive data Azure güvenlik güvencesi: Azure güvenliği, Azure Güvenlik Merkezi, Denetim günlükleriSecurity assurance of Azure: Azure security, Azure Security Center, audit logs

Azure İşlevleri ve Azure Logic Apps karşılaştırmasıCompare Azure Functions and Azure Logic Apps

İşlevler ve Logic Apps, sunucusuz iş yüklerine olanak tanıyan Azure hizmetleridir.Functions and Logic Apps are Azure services that enable serverless workloads. Azure Işlevleri sunucusuz bir işlem hizmetidir, ancak Azure Logic Apps sunucusuz iş akışları sağlar.Azure Functions is a serverless compute service, whereas Azure Logic Apps provides serverless workflows. Her ikisi de karmaşık düzenlemeleroluşturabilir.Both can create complex orchestrations. Düzenleme, Logic Apps’te karmaşık bir görevin gerçekleştirilmesi için yürütülen, eylemler olarak adlandırılan işlevlerin veya adımların bir koleksiyonudur.An orchestration is a collection of functions or steps, called actions in Logic Apps, that are executed to accomplish a complex task. Örneğin, bir dizi siparişi işlemek için, bir işlevin birçok örneğini paralel olarak yürütebilir, tüm örneklerin bitmesini bekleyebilir ve sonra toplama üzerinde bir sonuç hesaplayan bir işlev yürütebilirsiniz.For example, to process a batch of orders, you might execute many instances of a function in parallel, wait for all instances to finish, and then execute a function that computes a result on the aggregate.

Azure İşlevleri için düzenlemeleri kod yazarak ve Dayanıklı İşlevler uzantısını kullanarak geliştirirsiniz.For Azure Functions, you develop orchestrations by writing code and using the Durable Functions extension. Logic Apps için düzenlemeleri, GUI kullanarak veya yapılandırma dosyalarını düzenleyerek oluşturursunuz.For Logic Apps, you create orchestrations by using a GUI or editing configuration files.

Düzenleme oluşturduğunuzda, mantıksal uygulamalardan işlev çağırdığınızda ve işlevlerden mantıksal uygulama çağırdığınızda hizmetleri karıştırıp eşleştirebilirsiniz.You can mix and match services when you build an orchestration, calling functions from logic apps and calling logic apps from functions. Hizmet özelliklerine veya kişisel tercihinize göre her düzenlemenin nasıl oluşturulacağını seçin.Choose how to build each orchestration based on the services' capabilities or your personal preference. Aşağıdaki tabloda bu hizmetler arasındaki temel farklılıklardan bazıları listelenmektedir:The following table lists some of the key differences between these services:

Dayanıklı İşlevlerDurable Functions Logic AppsLogic Apps
GeliştirmeDevelopment Koda öncelik veren (kesinlik temelli)Code-first (imperative) Tasarımcıya öncelik veren (bildirim temelli)Designer-first (declarative)
BağlantıConnectivity Yaklaşık bir düzine bağlama türü, özel bağlamalar için kod yazmaAbout a dozen built-in binding types, write code for custom bindings Bağlayıcılardan oluşan büyük koleksiyon, B2B senaryoları için Enterprise Integration Pack, özel bağlayıcı oluşturmaLarge collection of connectors, Enterprise Integration Pack for B2B scenarios, build custom connectors
EylemlerActions Her etkinlik bir Azure işlevidir; eylem işlevleri için kod yazmaEach activity is an Azure function; write code for activity functions Hazır eylemlerden oluşan büyük koleksiyonLarge collection of ready-made actions
İzlemeMonitoring Azure Application InsightsAzure Application Insights Azure Portal, Azure izleyici günlükleriAzure portal, Azure Monitor logs
YönetimManagement REST API, Visual StudioREST API, Visual Studio Azure portalı, REST API, PowerShell, Visual StudioAzure portal, REST API, PowerShell, Visual Studio
Yürütme bağlamıExecution context Yerel olarak veya bulutta çalışabilirCan run locally or in the cloud Yalnızca bulutta çalışırRuns only in the cloud

İşlevler Web İşleri karşılaştırmasıCompare Functions and WebJobs

Azure İşlevleri gibi, WebJobs SDK ile Azure App Service WebJobs da geliştiriciler için tasarlanmış, koda öncelik veren bir tümleştirme hizmetidir.Like Azure Functions, Azure App Service WebJobs with the WebJobs SDK is a code-first integration service that is designed for developers. Her ikisi de Azure App Service üzerinde derlenmiş olup source control integration, authentication ve monitoring with Application Insights integration gibi özellikleri destekler.Both are built on Azure App Service and support features such as source control integration, authentication, and monitoring with Application Insights integration.

Web İşleri ve Web İşleri SDK’sıWebJobs and the WebJobs SDK

Bir komut dosyası veya kodu bir App Service Web uygulaması bağlamında çalıştırmak için App Service WebJobs özelliğini kullanabilirsiniz.You can use the WebJobs feature of App Service to run a script or code in the context of an App Service web app. WebJobs SDK, Azure hizmetlerine yanıt olarak yazdığınız kodu kolaylaştıran WebJobs için tasarlanmış bir çerçevedir.The WebJobs SDK is a framework designed for WebJobs that simplifies the code you write to respond to events in Azure services. Örneğin, bir küçük resim oluşturarak Azure depolamada bir görüntü blobu oluşturmaya yanıt verebilirsiniz.For example, you might respond to the creation of an image blob in Azure Storage by creating a thumbnail image. WebJobs SDK, WebJob’a dağıtabileceğiniz bir .NET konsol uygulaması olarak çalıştırılır.The WebJobs SDK runs as a .NET console application, which you can deploy to a WebJob.

WebJobs ve WebJobs SDK birlikte en iyi şekilde çalışır; ancak WebJobs’ı WebJobs SDK olmadan kullanabilirsiniz; bunun tersi de olabilir.WebJobs and the WebJobs SDK work best together, but you can use WebJobs without the WebJobs SDK and vice versa. Bir Web İşi, App Service korumalı alanında çalışan herhangi bir programı veya betiği çalıştırabilir.A WebJob can run any program or script that runs in the App Service sandbox. Web İşleri SDK konsolu uygulaması, şirket içi sunucular gibi konsol uygulamalarının çalıştığı her yerde çalışabilir.A WebJobs SDK console application can run anywhere console applications run, such as on-premises servers.

Karşılaştırma tablosuComparison table

Azure İşlevleri, WebJobs SDK’da derlendiğinden diğer Azure hizmetlerine yönelik aynı bağlantıların ve olay tetikleyicilerinin birçoğunu paylaşır.Azure Functions is built on the WebJobs SDK, so it shares many of the same event triggers and connections to other Azure services. Web Işleri SDK 'Sı ile Azure Işlevleri ve Web Işleri arasında seçim yaparken göz önünde bulundurmanız gereken bazı etmenler aşağıda verilmiştir:Here are some factors to consider when you're choosing between Azure Functions and WebJobs with the WebJobs SDK:

FunctionsFunctions WebJobs SDK ile WebJobsWebJobs with WebJobs SDK
Otomatik ölçeklendirme ile sunucusuz uygulama modeliServerless app model with automatic scaling
Tarayıcıda geliştirme ve test etmeDevelop and test in browser
Kullanım başına ödeme fiyatlandırmasıPay-per-use pricing
Logic Apps ile tümleştirmeIntegration with Logic Apps
Tetikleyici olaylarıTrigger events TimerTimer
Azure Depolama kuyrukları ve bloblarıAzure Storage queues and blobs
Azure Service Bus kuyrukları ve konularıAzure Service Bus queues and topics
Azure Cosmos DBAzure Cosmos DB
Azure Event HubsAzure Event Hubs
HTTP/WebHook (GitHub, Slack)HTTP/WebHook (GitHub, Slack)
Azure Event GridAzure Event Grid
TimerTimer
Azure Depolama kuyrukları ve bloblarıAzure Storage queues and blobs
Azure Service Bus kuyrukları ve konularıAzure Service Bus queues and topics
Azure Cosmos DBAzure Cosmos DB
Azure Event HubsAzure Event Hubs
Dosya sistemiFile system
Desteklenen dillerSupported languages C#C#
F#F#
JavaScriptJavaScript
JavaJava
PythonPython
C#1C#1
Paket yöneticileriPackage managers NPM ve NuGetNPM and NuGet NuGet2NuGet2

1 WebJobs (WEBJOBS SDK olmadan), Java C#, JavaScript, Bash,. cmd,. bat, PowerShell, php, TypeScript, Python ve daha fazlasını destekler.1 WebJobs (without the WebJobs SDK) supports C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python, and more. Bu kapsamlı bir liste değildir.This is not a comprehensive list. WebJob, App Service korumalı alanında çalıştırılabilen herhangi bir programı veya betiği çalıştırabilir.A WebJob can run any program or script that can run in the App Service sandbox.

2 Web Işleri (WEBJOBS SDK olmadan) NPM ve NuGet 'yi destekler.2 WebJobs (without the WebJobs SDK) supports NPM and NuGet.

ÖzetSummary

Azure Işlevleri Azure App Service WebJobs 'dan daha fazla geliştirici verimliliği sunar.Azure Functions offers more developer productivity than Azure App Service WebJobs does. Ayrıca programlama dilleri, geliştirme ortamları, Azure hizmet tümleştirmesi ve fiyatlandırma için daha fazla seçenek sunar.It also offers more options for programming languages, development environments, Azure service integration, and pricing. Çoğu senaryo için bu en iyi seçenektir.For most scenarios, it's the best choice.

WebJobs’ın en iyi seçenek olduğu iki senaryo aşağıda verilmiştir:Here are two scenarios for which WebJobs may be the best choice:

  • Olayları dinleyen kod (JobHost nesnesi) üzerinde daha fazla denetime ihtiyacınız vardır.You need more control over the code that listens for events, the JobHost object. İşlevler, host.json dosyasında JobHost davranışını özelleştirmek için sınırlı sayıda yöntem sunar.Functions offers a limited number of ways to customize JobHost behavior in the host.json file. Bazen bir JSON dosyasındaki dize tarafından belirtilemeyen şeyler yapmanız gerekir.Sometimes you need to do things that can't be specified by a string in a JSON file. Örneğin, yalnızca WebJobs SDK, Azure Depolama için özel bir yeniden deneme ilkesi yapılandırmanıza olanak sağlar.For example, only the WebJobs SDK lets you configure a custom retry policy for Azure Storage.
  • Kod parçacıklarını çalıştırmak istediğiniz App Service uygulamanız var ve bunları aynı Azure DevOps ortamında birlikte yönetmek istiyorsunuz.You have an App Service app for which you want to run code snippets, and you want to manage them together in the same Azure DevOps environment.

Azure veya üçüncü taraf hizmetleri tümleştirmek için kod parçacıklarını çalıştırmak istediğiniz diğer durumlarda, WebJobs SDK ile WebJobs üzerinden Azure İşlevleri’ni seçin.For other scenarios where you want to run code snippets for integrating Azure or third-party services, choose Azure Functions over WebJobs with the WebJobs SDK.

Microsoft Flow, Logic Apps, Işlevler ve Web Işleri birlikteMicrosoft Flow, Logic Apps, Functions, and WebJobs together

Bu hizmetlerden yalnızca birini seçmeniz gerekmez.You don't have to choose just one of these services. Bunlar birbirleriyle ve dış hizmetler ile tümleşir.They integrate with each other as well as they do with external services.

Akış bir mantıksal uygulamayı çağırabilir.A flow can call a logic app. Mantıksal uygulama bir işlevi çağırabilir ve işlev de bir mantıksal uygulamayı çağırabilir.A logic app can call a function, and a function can call a logic app. Örneğin, bkz. Azure Logic Apps ile tümleşen bir işlev oluşturma.See, for example, Create a function that integrates with Azure Logic Apps.

Microsoft Flow, Logic Apps ve Işlevler arasındaki tümleştirme zaman içinde gelişmeye devam eder.The integration between Microsoft Flow, Logic Apps, and Functions continues to improve over time. Bir hizmette bir şey oluşturabilir ve bunu diğer hizmetlerde kullanabilirsiniz.You can build something in one service and use it in the other services.

Aşağıdaki bağlantıları kullanarak tümleştirme hizmetleri hakkında daha fazla bilgi edinebilirsiniz:You can get more information on integration services by using the following links:

Sonraki adımlarNext steps

İlk akışınızı, mantıksal uygulamanızı veya işlev uygulamanızı oluşturarak başlayın.Get started by creating your first flow, logic app, or function app. Aşağıdaki bağlantılardan birini seçin:Select any of the following links: