There are some alternatives that are similar to what Azure functions do like Flow, Logic Apps, Azure Functions, and Web Jobs. In this video, learn when to choose what.
- [Instructor] Like in most areas of Azure, there are multiple solutions that seem to do more or less the same thing, but different. For Azure functions, related technologies are Flow, Logic Apps, and WebJobs. Let's start with Flow and Logic Apps. These solutions are designer-first services, which are used for creating workflows. Both of these services can easily integrate with different SaaS and enterprise applications. Actually, Flow and logic apps are so similar because Flow is built on top of Logic Apps. They share the same connectors and designer.
In this overview, you can see the comparison between Flow and Logic Apps in a couple of different areas. Flow is more targeted towards office workers who want to create simple integrations, and Logic Apps is a bit advanced and is usually leveraged by developers or IT pros. Both Functions and Logic Apps allow you to create serverless workloads. Azure Functions is a serverless compute service, while Logic Apps provide you with serverless workflows. Both of these solutions can be used in an orchestration. For Logic Apps, you can create actions through to GUI.
For Azure Functions, you write code and use the Durable Functions extension. When building an orchestration, you can mix Logic Apps and Functions together. Here you can see an overview of Azure Functions compared to Logic Apps. The main difference between the two options is that Functions are oriented to code first and are more suitable for developers while Logic Apps are more targeted towards IT pros and use a GUI first approach. You heard me mentioning Durable Functions. By design, Azure Functions are stateless, but there might be scenarios where you do want your function to have state, or have one function call upon the other.
For this, the Durable Functions extension was created. You can use this to create workflows in code. The extension also allows you to call upon other functions, both synchronously as well as asynchronously and preserve state throughout recycling of the function. The Durable Functions extension is available for both Azure Functions, as well as Azure WebJobs, WebJobs have been around for longer then Azure Functions and are part of the Azure App Service. This is also a difference between Azure Functions and WebJobs. A WebJob always runs in the context of an App Service.
Functions and WebJobs are both built on the same WebJobs SDK and because of that, share many of the same triggers and connections. While WebJobs and Azure Functions might look very much alike, there's some big differences to consider. WebJobs do not have the same automatic scaling or serverless app model, for instance. Also, WebJobs are much more expensive than Azure Functions. For WebJobs to work properly, you have to set it to always on, where Azure Functions run on demand. WebJobs cannot be triggered by HTTP requests, and therefore cannot be used as REST API replacement.
Azure Functions can be written in many languages, while WebJobs only have support for C#. Remember, you don't have to choose exclusively between one of these options. All options can be mixed and matched and integrated just as well with each other as they do with third party solutions.
- What serverless is and when to use it
- Creating Azure functions
- Creating your first Azure Functions App
- Creating an Azure function in Visual Studio
- Creating a new Xamarin.Forms app
- Use cases for Azure Functions in apps
- Securing Azure Functions apps
- Monitoring Azure functions in Production