I've been doing some research on how to try to organize an Azure system and would like some feedback on improvements.
I have a web interface that clients will be using. Think of this as a dashboard. This dashboard needs to kick off long running Selenium C# console jobs that run inside a Service Fabric console application.
What is the best way to implement this architecture without having an application constantly run listening for Service Bus message queue messages? I'm thinking during development this could really eat up $.
Initial design thoughts were:
Web app for dashboard - customer facing
The above web application needs to kick off a Service Fabric console application that runs Selenium ChromeDriver.
I was going to achieve this by implementing Service Bus on the web request, and then a listener console application inside Service Fabric that will spin up the Selenium ChromeDriver console application.
Is there a better way to do this aside from having a constant listening polling handler application always running?
I'm not sure how to trigger the Service Bus console application without having the Service Bus listener.
Unless you are talking about Azure Service Fabric Mesh, which is currently in public preview, hosting any process as a Service Fabric application requires a Service Fabric Cluster, meaning you have a Virtual Machine Scale Set running 24x7. Given this fact, I don't understand this part:
What is the best way to implement this architecture without having an application constantly run listening for service bus message queue messages? I'm thinking during development this could really eat up $.
You are already paying for the cluster anyway.
You might be better of skipping Service Fabric and spin up a container doing the work using Azure Container Instances and bring it down once the long running job has completed.