We just migrated to our new server, running Percona rather than MySQL. We've had problems in the past with the server slowing to a nearly unusable state during nightly cPanel backups, and I've heard good things about XtraBackup. I'd like to learn more about the best practices.
Should I use XtraBackup for the nightly database backups, then continue to use cPanel for the file system backups?
The problem with the cPanel backups is that it zips them up (gzip), which is what is going to use all the resources. Anything that doesn't compress your files (uses rsync or similar) is going to work great. XtraBackup only backs up the database and nothing else. If you want your entire site backed up, that isn't going to do it.
Cpremote is a good alternative that doesn't gzip the files, or you can set up your own backup using rsync and CRON jobs.
Exactly what @WSWD said. We use R1soft for our backup solution for our clients. Great example of it's use, we had a client by mistake delete their entire public_html folder. It was a simple restore without the hassle of the entire account being rolled back to the last backup.