0

I have a business workload that has very low CPU-usage most of the time, and occasionally needs to burst to very high CPU-usage. It currently runs on a dedicated server with 32 cores, but was hoping to transition to a cloud hosting solution. The demands are roughly:

  • 1 core most of the time
  • 32 cores approximately every 20 minutes on average for about 30 seconds (not pre-determined intervals, and needs to run within seconds of being triggered)
  • 100s of cores (as many as possible) every few weeks, for a few hours (depending on how many cores available, with 32 cores about 8 hours)

Is there any setup I could arrange to deal with such a workload? The basic solution is to just setup at 32 core instance, but it doesn’t seem like the most efficient. I looked into burstable instances, but they don’t offer the high number of cores I would need. Ideally there would be some service that allows instant vertical scaling, but that doesn’t seem to exist.

Any ideas? Thank you!

Albeit
  • 161
  • 1
  • 1
  • 2
  • There's many alternatives. What kind of workload is it? For a simple eventdriven workload, a function app may work. For other workloads, a docker image may work. Furthermore, is the scaling predictive? Can you spin up more instances *before* you need them, or is it induced demand that you can't exactly predict? – vidarlo Jun 30 '21 at 18:35
  • @vidarlo: Thanks for the help! The work that occurs about every 20 minutes is a multi-threaded search program written in C++, that requires a minimal amount of memory but close to full core usage. It runs well on about 16 or 32 cores. The work that occurs every few weeks is many instances of the search, on different inputs. From what I've seen the function services don't allow lower-level code (like C++) and wouldn't be performant enough. The every 20 minute work is not very predictive - in an hour period it will run about three times, but I don't know ahead of time when it will be triggered. – Albeit Jun 30 '21 at 20:33

0 Answers0