Azure Automation delivers cloud-based automation, operating system updates, and configuration service that supports consistent management across your Azure and non-Azure environments. It includes process automation, configuration management, update management, shared capabilities, and heterogeneous features. I see multiple options to achieve it. I would recommend you to put some thought into testing whether the approach works with your application architecture or with your organization's cloud policies.
- Logicapps: If we migrate your process execution code into logic apps, you can eradicate the VM. This is more flexible and can work for one job or multiple concurrent job execution, but through this option, you might have to rearchitect your job.
- Power Automate (flow) is new and robust. Recently, the flow has VM connectors through which we can perform VM operations. Through PowerShell & flow, you can execute the job. If you want a separate VM for each job execution then you can have a VMs pool (for example, 5 VM). Check if a VM is in a stop state, then start it, execute the program/job, and shut it down.
- Leverate Azure Runbooks automation - For more information, you can go through the article - https://learn.microsoft.com/en-us/azure/automation/start-runbooks
I hope I answered your question.