Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When should I use a Logic App as opposed to a Web Job?

I'm planning to build an integration between two systems in Azure. The basic architecture of the application will be the Azure equivalent of an on-premise console app. E.g. on a scheduled basis shuffle data between the two systems

I can see two ways to do this within the App Services.

  1. A web app, which has web jobs. In my case I don't really need the web site at all at the moment.

  2. A logic app with custom coded API apps. In my case the entire integration would probably just be one custom API app, instead of a series of chained API apps.

Both look like they will support scheduled activities and the connectivity I need. Both look like they will scale but that's not really a concern for what I'm planning. Both seem to have pretty straightforward deployment paths. Really both look quite similar.

The only major difference I believe is that a web app for web jobs will always come with a web site. Is this correct? If so I'll probably go for a web app as might use the web site in the far flung future.

Am I missing anything else here which should affect my decision? Is the difference this simple?

like image 907
James Wood Avatar asked Oct 16 '15 13:10

James Wood


People also ask

When should I use logic apps vs Azure functions?

Azure Functions uses code to perform an action whereas Azure Logic Apps use workflow triggered by an event. This is because Azure Functions is employed through the use of codes whereas Azure Logic Apps are built using a visual designer with a simpler definition language.

Why logic apps are better than web apps?

You don't worry about sizing or scaling and you pay by consumption. Faster development. Logic Apps allows you to build out the solution faster especially as you consider that you don't have to code for monitoring views, alerting, and error handling that comes out of the box with Logic Apps.

Why do we use logic apps?

The Azure Logic Apps platform helps you seamlessly connect disparate systems across cloud, on-premises, and hybrid environments. For example, you can connect a cloud marketing solution to an on-premises billing system, or centralize messaging across APIs and systems using Azure Service Bus.

What is a major difference between Azure function and logic apps?

Azure Functions is a serverless compute service, whereas Azure Logic Apps is a serverless workflow integration platform. Both can create complex orchestrations. An orchestration is a collection of functions, or actions in Azure Logic Apps, that you can run to complete a complex task.


1 Answers

Good question. WebJob may be great for your use-case of a console app. Logic Apps provide a few features which may or may not benefit you based on your use case:

Logic Apps

  • Comes with some Out-of-the-box support for connectors to SaaS solutions like Salesforce, Blob storage, Dropbox, etc.
  • Allows you to build and extend jobs by adding additional 'steps' without writing code using the designer
  • Has retry policies and do-until to insure delivery of messages when integrating
  • Can live-edit and save workflows to change things like recurrence schedule without having to modify any code.
  • "Runs" pane that will detail when each run started, the inputs and outputs, and the status

If any of those features make it worth the jump, Logic Apps may be a better fit. If you are just running a recurring background task and want to pop something up real quick, web job may be great. Let me know if that makes sense or if you have any questions.

like image 115
jeffhollan Avatar answered Oct 06 '22 14:10

jeffhollan