❌

Normal view

Should I use Nomad for single VM?

I'm looking for some architectural advice on building a lightweight, self-hosted job execution platform on a single VM (8C/32GB).

I want something with semantics similar to Google Cloud Run / Cloud Run Jobs:

  • Execute Python scripts and arbitrary Docker containers.
  • Trigger jobs through an API.
  • Configure CPU, memory, environment variables, timeouts, etc.
  • Track execution status, exit codes, and logs.
  • Handle retries and concurrency limits.
  • Integration with Artifact/Container Registry

Current constraints:

  • Only one VM for now & no need for HA.
  • No Kubernetes requirement or plans for a multi-node cluster.
  • Jobs are primarily internal workloads, and quite lightweight.
  • I'd prefer something relatively lightweight and easy to maintain.

Technologies I'm considering

  1. HashiCorp Nomad
  2. Docker Sock + custom built runner – Build my own execution manager, scheduling, lifecycle management, and monitoring.

Questions

  1. Is Nomad overkill for a single VM? Does it provide enough value over simply using Docker directly?
  2. Would you use Nomad in production for this use case?
  3. Are there simpler alternatives that provide similar execution semantics?
  4. What operational overhead should I expect from running Nomad on a single node?

I'm particularly interested in hearing from people who have actually run Nomad in production, especially for single-node deployments.

Thanks!

submitted by /u/LowProgram6449 to r/devops
[link] [comments]
❌