Batch Jobs and Scheduled Processing

If the application need is to batch process data, then SSIS (SQL Server Integration Services) should be used to process and move data, including creating files and transferring them electronically to external parties.

A shared VM (virtual machine) running windows server can be used to host a constantly running windows service or can leveraging a scheduler agent to execute console applications.

Azure Logic Apps or Azure App Service WebJobs may also be considered to perform batch or scheduled processing.

Azure Logic Apps allows for orchestration of workflows and has a user interface for designing workflows. The designer exists in the Azure portal and as a Visual Studio plugin (to create ARM templates). The workflows can perform a wide range of functions including, but not limited to: database CRUD, send email, respond as a webhook or execute a process on a schedule, and many more.

Azure App Service WebJobs can provide more of a console application job execution. WebJogs are deployed with and run in the same executing process context as the web application hosted as an Azure App Service (so if one crashes, they all crash). The Azure App Service will need to be configured as “Always On” in order to execute jobs on an indefinite, reoccurring basis.

PREVIOUS: Messaging
Solution Architecture Guidance
NEXT: Shared APIs and Client Libraries