Use Google Photos on my android phone, then use gphotos-sync[0] to sync the files to a hard drive on my DIY NAS. Contents of hard drive are periodically backed up with restic[1] to B2[2].
My reasoning is that I don't trust Google to not lock me out of my account at some point, so having both a local and a remote backup gives me piece of mind. I periodically check the offsite backup to check that it's still all working. Total cost for about a terabyte of files (it's not only photos and videos) is about $6/month, which is pretty reasonable.