Atproto decouples them: there's app-agnostic hosting (which anyone can run), and there's hosting-agnostic apps (which anyone can run).
I wrote about it here: https://overreacted.io/there-are-no-instances-in-atproto/#so...