Azure Function (timed trigger or blob add) vs Batch Job vs Java Spring Boot mocroservice

ChanLK 20 Reputation points
2024-01-17T15:20:14.08+00:00

Hi All,

I have web app that triggers the Azure function and the Azure function updates the data in table and blob storage at the same time. At given time the DB row data will be persisted in storage account.

Now I need to create a job that will inspect DB entries vs Storage account periodically (say every 15 min). to scan the DB entries and compare the same with storage account to make sure they are in sync. If they are not in sync I need to trigger an email or ticket and send it to the developer. Approximately the number of events i am expecting is 500 to 1000 during peak hours within 15 minutes.

Considering that what would be an ideal solution, below are my initial thoughts on probable solutions.

  1. Create a Azure batch
  2. Create Azure function that self triggers every 15 minutes
  3. Create azure function that triggers every blob upload in the storage account
  4. Create separate microservice (batch) and deploy it on VM

Could you please suggest cost effective, scalable and ideal solution in this case.

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,566 questions
Azure Batch
Azure Batch
An Azure service that provides cloud-scale job scheduling and compute management.
320 questions
{count} votes

1 answer

Sort by: Most helpful
  1. MayankBargali-MSFT 69,946 Reputation points
    2024-01-22T08:19:46.3766667+00:00

    @ChanLK Thanks for reaching out.

    Based on your requirements, I would suggest creating an Azure Function that runs on a timer trigger every 15 minutes. This function can then query both the database and the storage account to check if they are in sync. If they are not in sync, the function can trigger an email or ticket to notify the developer.

    Using a timer trigger Azure Function is a cost-effective and scalable solution as it only runs when needed and can handle the expected number of events during peak hours. Additionally, Azure Functions can be easily scaled up or down based on demand.

    Creating a separate microservice or using Azure Batch may be overkill for your requirements and may result in unnecessary costs. However, if you anticipate a significant increase in the number of events in the future, you may want to consider using Azure Batch or a separate microservice for better scalability.

    Please 'Accept Answer' if it helped so that it can help others in the community looking for help on similar topics.

    0 comments No comments