Nomad
Dkron
Nomad | Dkron | |
---|---|---|
109 | 3 | |
15,427 | 4,460 | |
0.5% | 0.7% | |
9.9 | 9.1 | |
7 days ago | 9 days ago | |
Go | Go | |
GNU General Public License v3.0 or later | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Nomad
-
IBM Completes Acquisition of HashiCorp
20k+ nodes and 200k+ allocs. To be fair, Kubernetes cannot support this large of a cluster.
Most of my issues with it aren't related to the scale though. I wasn't involved in the operations of the cluster, I was just a user of Nomad trying to run a few thousand stateful allocs. Without custom resources and custom controllers, managing stateful services was a pain in the ass. Critical bugs would also often take years to get fixed. I had lots of fun getting paged in the middle of the night because 2 allocs would suddenly decide they now have the same index (https://github.com/hashicorp/nomad/issues/10727)
-
Dear friend, you have built a Kubernetes
https://github.com/hashicorp/nomad/blob/v1.6.0/website/conte... seems to have existed since before the license rug-pull. However I'm open to there being some miscommunication because https://developer.hashicorp.com/nomad/docs/glossary doesn't mention the word "control" and the word "host" could mean any number of things in this context
- Nomad: Simple, flexible scheduler, orchestrator to deploy and manage containers
-
Faster, Easier Deployments: How We Simplified Our Infrastructure with Nomad in 15 Hours (Goodbye, Kubernetes!)
Nomad: The Oasis in Our Infrastructure Desert
-
Building a highly-available web service without a database
> I should have just used on-disk mode from the start, but only now know better.
Yeah, I saw the recent post about reducing rqlite disk space usage. Using the on-disk sqlite as both the FSM and the Raft snapshot makes a lot of sense here. I'm curious whether you've had concerns about write amplification though? Because we have only the periodic Raft snapshots and the FSM is in-memory, during high write volumes we're only really hammering disk with the Raft logs.
> Do you find it in the field much with Nomad? I've managed to introduce new Raft Entry types very infrequently during rqlite's 10-years of development, only once did someone hit it in the field with rqlite.
My understanding is that rqlite Raft entries are mostly SQL statements (is that right?). Where Nomad is somewhat different (and probably closer to the OP) is that the Raft entries are application-level entries. For entries that are commands like "stop this job"[0] upgrades are simple.
The tricky entries are where the entry is "upsert this large deeply-nested object that I've serialized", like the Job or Node (where the workloads run). The typical bug here is you've added a field way down in the guts of one of these objects that's a pointer to a new struct. When old versions deserialize the message they ignore the new field and that's easy to reason about. But if the leader is still on an old version and the new code deserializes the old object, you need to make sure you're not missing any nil pointer checks. Without sum types enforced at compile time (i.e. Option/Maybe), we have to catch all these via code review and a lot of tedious upgrade testing.
> it requires discipline on the part of the end-users too.
Oh for sure. Nomad runs into some commercial realities here around how much discipline we can demand from end-users. =)
[0] https://github.com/hashicorp/nomad/blob/v1.8.2/nomad/fsm.go#...
- We migrated onto K8s in less than 12 months
-
Kubernetes Simplified: A Comprehensive Introduction for Beginners
However, Mesos has a steeper learning curve compared to Kubernetes and may require more expertise to manage effectively. For those seeking a simpler but less feature-rich alternative, HashiCorp's Nomad is worth considering.
- No Need For Docker Anymore
-
The coming eBPF revolution and why Kubernetes monitoring will never be the same
Just wanting to understand the definition of Open Source you are using here, considering that you can see and download the source here:
https://github.com/hashicorp/nomad
Are you maybe referring to their Enterprise offering?
-
Containers Orchestration and Kubernetes
Even though this article will be focused on Kubernetes I want to mention that there are multiple container orchestration platforms such as Mesos, Docker Swarm, OpenShift, Rancher, Hashicorp Nomad, etc.
Dkron
-
How to do distributed cronjobs with worker queues?
Works great. Hope this helps. (For easiness GH here).
-
Distributed job scheduling with Go?
I'am also familiar to hangfire, used in the past as distributed job scheduler for Owin microservices in C# too. Btw when we moved towards Golang stack realized that hangfire wasnt really necessary. It was enough standard and idiomatic Go code, learning using Go Routine adding any Cron library and maybe a Redis dependency if persistence is needed. But if you really prefer something hangfire-like, give a try to https://dkron.io/ and its GitHub repo https://github.com/distribworks/dkron , it's pretty similar. They have an open source version but also a pro license, in the same way as hangfire does.
-
Easy Distributed Cron Management
Perhaps https://dkron.io/ can solve your problem? Source at https://github.com/distribworks/dkron.
What are some alternatives?
Rundeck - Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
torrent - Full-featured BitTorrent client package and utilities
SaltStack - Software to automate the management and configuration of infrastructure and applications at scale.
DHT - BitTorrent DHT Protocol && DHT Spider.
kubernetes - Production-Grade Container Scheduling and Management
rpcx - Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud!