On Azure, it seems possible to Auto-stop your VM based on CPU utilization
For this to be effectively used for cost-saving, I need the VM to be auto-started on the next access to its public IP address.
This is a server which gets only a few hours of usage every week, and they are concentrated, so this could mean ~10X cost reduction...
You could actually do something like that with something like Traffic Manager\Azure Function combination, but its probably better to move your workload to Azure Container Instances\Azure Functions, that would be a more native way of doing so.
If you wish to proceed with your design, you'd have to have some sort of load balancing between something that is always listening (like Azure Function) and a real VM. when you send a request to the endpoint Function will pick it up and start the vm, after that VM will pick up all the requests (it has to have a bigger weigth than the fucntion).