I don’t frequent that world much these days, but I personally preferred the agent/pull model when I did. I can’t really articulate why, I think I feel comfortable knowing that the agent will run with the last known config on the machine, potentially correcting any misconfiguration even if the central host is down.
The big debate back in the day was Puppet vs. Chef (before Ansible/SaltStack). Puppet was more declarative, Chef more imperative.
I also admit, I don’t like YAML, other than for simple, mostly flat config and serializing.
I further admit that Ansible just has a bigger community these days, and that’s worth something. When I need to do a bit of CM these days, I use Ansible.
There was a good discussion online between Christine Lemmer-Webber, one of the editors of the ActivityPub W3C Standard, and Bryan Newbold, protocol engineer at BlueSky.
These are long reads. But they are worth reading. Christine and Bryan agree that ATProto and ActivityPub have different design goals and so what you get from “federation” with each is different. ATProto makes a centralized index of the entire system possible, at the cost of relying on very few (practically likely one) centralized providers.
As a result, the Lemmy ecosystem, as it exists today, wouldn’t be possible with ATProto. It would probably look more like Reddit, but with a “credible exit” possible as a defense against enshittification.