A kind of “extended” 3-2-1, more a 4-3-2. As nearly everything I host runs on Docker, I usually pause the stack, .tar.bz everything and back that up on several devices (NAS, off-site machine, external HDD).
The neat thing about keeping every database in its own container is the resulting backup “package”, which can easily be restored as a whole without having to mess with db dumps, permissions, etc.