I firmly am of the mindset of containerizing everything. It may be harder to set up for services that you write yourself or ones that don't already have containers, but as you said, it's so much easier to migrate in the future.
I actually use podman for my services and systemd to manage their lifecycle. For each service, I have a folder that contains the systemd service file (doesn't really work in btrfs systems. You need the service files in the same subvolume as etc or else they won't start at boot) any config files or anything else that needs to be mounted as a volume into my container. I back up the folder that contains all those folder with my nightly backup. If my server craps out, I can restore that directory from my backup, systemctl link and enable all of my service files, and I'm back up to 100%.