Hacker News new | ask | show | jobs
by Grimburger 36 days ago
> Why do I need a cluster?

Uptime, self healing, reproducibility, separating the system from app. There's probably a half dozen more.

K8s comes with resource consumption tax certainly but for anything beyond the trivial it's usually justified.

> Separate VM's for different apps works well for isolation

Sounds inefficient along with a lot more work doing the plumbing than simply writing a 100 lines of yaml.

1 comments

Who wants to deal with YAML? Sometimes the easiest way to set up a VM is by talking to your phone:

https://commaok.xyz/ai/just-in-time-software/

I mean, I don't do that, but I'll type a prompt.

you won't have to deal with yaml for these clusters

let me draw this out the way i've been playing with:

a classic vm exists, and supports kvm — this means you can run stuff like firecracker in there

an ssh server runs on this vm, and when you connect to it, you're dropped into a repl/tui where you can list existing microvms, create new ones, or destroy existing ones, and, of particular use, you can attach to one.

as an added nicety, if you connect with `ssh user+dev@example.com`, your connection skips the management interface and you are dropped into the `dev` machine — if it didn't yet exist, you wait 3s, and now it does

vms can talk to each other internally, can connect out, and persist if the server needs a restart

what i don't have yet is proper multi-tenancy, it treats each ssh key as an account, which is fine since it's just me; incoming connections is not figured out, internal supervisor to keep services running inside each microvm, isolation inside firecracker, snapshoting or backups, and the whole shopping list that would make it an actual mvp

Sounds like a nice setup. The way exe.dev does things seems somewhat similar.
yep, a lot of this is based on what exe.dev already does, some of it takes more inspiration from sprites.dev, and others are wishlist items