Hello, @R H !
I'd like to second what @Michael Taylor has said--usually if you find yourself looking for supercomputer-level power for a personal project it's a good idea to look at optimization before looking at additional power. Azure does offer this kind of computing power but there's likely a better (and cheaper) way to go about this than by using brute force. I'd like to review some of the services that Azure offers which may be of use.
Is Azure a good option for my compute intensive workload?
There are very few scenarios where the cloud is not a better choice than an on-premises solution which is why so many companies have been moving to the cloud. A direct follow up question, however, would be what is the best architecture for your solution and to that end I'm going to include some Azure services that may be of use.
Advantages of Azure over an on-premises solution
For your solution, I imagine that cost and hardware availability are core considerations but there are a lot of other benefits that the cloud offers as well.
- On demand: Solutions can be created on demand and deleted just as easily.
- Setup time: Creating resources can usually be done within a couple minutes so you can get started quickly.
- Cost: Pay as you go pricing with no upfront costs and competitive prices that often beat the cost of on-premises solutions (including things like electricity and cooling).
- Scaling and flexibility: You can scale your workloads based on metrics with a few clicks (even automatically).
- Power usage (and environmental impact): Heavy computation workloads use a lot of power so the cost of your power usage as well as your environmental impact will be important.
- Maintenance: You can have Azure take care of your software and security updates leaving you more time to focus on your solution.
- Reliability: Azure offers SLAs to ensure that your solution has as much uptime as possible.
- Security: Cloud workloads suffer far fewer security incidents than those in traditional data centers.
- Remote access and team controls: You can access your solution from practically anywhere, and on several different devices. There are also a lot of tools at your disposal when it comes to working with teams.
Read more: Cloud storage vs. on-premises servers: 9 things to keep in mind
Azure services for compute related solutions
There are a variety of Azure services you can use for your compute related solutions. If VMs aren't cutting it, you may want to look into a couple of the other options. Given the number of hours you are looking at, I might recommend starting at the bottom of the list with the big compute architecture style documentation that covers Azure Batch.
- Virtual machines: VMs are a great solution for a wide variety of projects and it sounds like you are already experimenting with compute optimized VMs using the F4s v2.
- Virtual machine scale sets: You can create and deploy thousands of VMs in minutes depending on your needs.
- Azure Functions: You mentioned that you would be open to other languages and Azure Functions allows you to abstract away the operating system to focus on the code. Several languages are supported, including C#, Java, JavaScript, PowerShell, Python, TypeScript, and Go/Rust.
- Azure Batch: Used for managing large-scale high-performance computing (HPC) applications.
- Azure Kubernetes Service (AKS) and Azure Container Instances (ACI): Although these don't sound like a natural fit for your scenario, they may be worth considering for future projects.
Read more: Big compute architecture style
I hope this helps!