What is Nomad?
June 20, 2022 2:05 PM   Subscribe

I made a post the other day about Nomad as half a joke. I spent today installing and playing with it. Is it an "enterprise cron scheduler" or something more? I was under the impression it was sort of a Kubernetes replacement. The post I made said it was for a simple homelab but I can't for the life of me figure out the actual use is unless you need advanced versioning and other enterprise features?

This is not a slight on Nomad, it has a pretty UI and does I guess what it says it does but am I missing something? The website doesn't really give a good use case which means it probably isn't for me but I could achieve the same with a bash script and a cron job without perhaps the corporate reporting features. My question is simple: who is this for and what does it actually do? I've been playing with it and usually I find a use for a tool even if it is too complex for my day to day use, but this has me stumped.

I'm not one to say "use shell scripts and perl to do what you need to do" but really this has me thinking there's a lot of other tools even not basic that servers the same purpose? It seems to just run jobs on schedules with a lot of additional reporting and functionality? Perhaps I never needed this functionality which is why it has me stumped as to why this is the hot new thing.

N.B. I could have completely missed the point so please correct me if there's features beyond deploy and run jobs.
posted by geoff. to Computers & Internet (5 answers total) 2 users marked this as a favorite
 
Response by poster: Link to Nomad, the marketing is confusing as it says it is an alternative to Kubernetes but doesn't seem to present itself that way, which is fine, I get marketing fibs sometimes. I just am trying to figure out if that is actually true and I'm not understanding it or it has different functionality.
posted by geoff. at 2:29 PM on June 20, 2022


I can't force myself to pay enough attention to their documentation to really internalize it, but I will say that batch scheduling has been a weak spot in k8s land, and managing complex batch scheduling systems is not a well-solved problem at scale. It's still a very common use case in data processing for analytics/reporting, and systems like Airflow try to address it but have their own issues. So if (and this I cannot say personally, except that it is front and center on their website) they have a better solution for that, it might find an audience. Of course, that problem is more common in large orgs that have been around for a long time, and therefore tend to have their own homegrown solutions that are painful to move away from.
posted by ch1x0r at 4:16 PM on June 20, 2022


Response by poster: Ah so it is a Kubernetes replacement or at least can be. I think I'm so used to Kubernetes the simplicity threw me off! This is a real cool tool that unfortunately I will probably not use but for a hobby project as no cloud providers supports it natively, so it'll be a hard sell even on-prem as Kubernetes is the de facto.

Thanks everyone I will monitor this for further experiences or even Kubernetes alternatives. I'm well aware of the flavors like K3s, Kind, etc. but they all have limitations (namely Windows support).
posted by geoff. at 4:28 PM on June 20, 2022


Right, it's essentially an alternative to Kubernetes. I run a few Nomad clusters at work on bare metal (and have run a few k8s clusters), and the main things I like about Nomad are:
- Super easy to set up, manage, and upgrade - you just run one binary with 10-15 lines of config. No need for a separate tool to manage your tool.
- The job files are fairly straightforward, much more so than the heap of YAML that Kubernetes requires.
- It integrates well with other pieces of your environment; I have it connected to a Consul cluster we were already using, using existing load balancers, using the existing VLANs and routing, etc.
- You can fit the entire config of your Consul and Nomad environment on a single screen, so you can really understand the whole system.

Part of what makes it simple is that you don't get everything right out of the box. If you need service discovery, you add Consul; if you need secret management, you add Vault; if you need CNI network or persistent storage, you plug that in separately. IMO a basic Consul+Nomad deployment gives you about 80% of the advantages of Kubernetes (scaling, auto-healing, easy deployments, easy rollback) plus excellent service discovery with about 15% of the complexity.

OTOH, if you do want an elaborate networking or storage setup, you may as well just go straight to k8s; you're going to have a hairy environment either way, so you may as well have the one that has the ecosystem behind it.
posted by pocams at 7:31 PM on June 20, 2022 [1 favorite]


In 2015 there was a massive glut of container orchestration platforms elbowing one another to run docker in prod for you. Hashicorp is well known in the tooling space, having written both Vagrant and Terraform. In a world where Google didn't elbow in with Kubernetes, it might have won the war for containers.

It's part of a suite of tech they've launched that work together in various ways to facilitate many of the same things k8s does. Of course, you can often just pick the one thing you want out of Hashicorp's stack and k8s the rest.

it has me stumped as to why this is the hot new thing.

It's not, really. Whatever rando blogger you found trying out Nomad on Homelab is looking for something simpler than k8s, and looking to diversify their resume away from Kubernetes.

Nomad is just one of the few that haven't folded / sold out. Mesosphere rebranded and pivoted to Kubernetes. CoreOS sold out to RedHat. Docker sold to Mirantis. Rancher sold to SUSE. I don't even know what happened to Chef's Habitat, and frankly never understood what the hell it was or who it was for.

In contrast, Hashicorp IPO'd last year. Its actually looking rough, with massive negative margins. Selling OSS is a double edged sword -- you can get adoption, but anyone can just "hire a guy" do support instead, and AWS can just ship your services as a managed product and cut you out. Google at least has its own cloud platform for revenue, and kinda invented the Linux container back in like 2008.

they all have limitations (namely Windows support).

Yea, most of these are organized around Linux based LXC containers, which is a pretty Linux specific tech, and WSL wasn't ready for it at the time. Even macOS is a pita with containers. It's entirely possible that this is their niche -- I suspect that in 2022, very few web stacks remain that want containers at scale but require Windows. But maybe I just don't run in those circles.
posted by pwnguin at 9:42 PM on June 20, 2022 [3 favorites]


« Older Help old dog adjust to cats and sleep quietly at...   |   do you know about police auctions? Newer »
This thread is closed to new comments.