You deploy a .NET Core application that is configured to connect with an Azure Service Bus queue.
The application reads messages in the queue and processes the messages to an external service. You should avoid any cold start when running the application.
You need to provide the infrastructure for this application. You want to use the best Azure service and pricing tier.
Which service and tier should you use?
You should use Azure Functions. Azure Functions can run specialized code to perform a single task called functions without needing to manage application infrastructure. You can execute a function in response to events from other services by using triggers. You can use a variety of built-in triggers to execute your function, such as the trigger Service Bus.
You should not use Logic Apps. Logic Apps can automate tasks and integrate applications or data without having to write code. You can build workflows using a range of triggers similar to Azure Functions. However, you need to build custom connectors to integrate with external services that are not supported by the built-in connectors.
You should not use ACI. You can use ACI to run container applications that do not require complex orchestration. With an ACI, you need to develop the connection logic with the Service Bus queue into the application.
You should use the Premium plan. You can use this plan to always run your function on warm instances and avoid cold starts. A cold start is the process of loading your function in Azure infrastructure before you actually run the function, which increases latency.
You should not use the Consumption plan. This is the standard option to run Azure Functions without the need to manage application infrastructure. However, the application may suffer from a cold start.
You should not use the Dedicated plan. This plan runs the function in an existing App Service Plan in your subscription. You should use this plan if you have underutilized VMs that run other App Service instances.