When could/should/would I use Guest level (agent based) backups?

I've recently read an article that listed "best practices" and one of the items listed seemed a bit like bad advice. Which one you ask? When it stated you shouldn't perform Guest Level backups of your virtual machines.

Why would you ever want to backup from the guest instead of the hypervisor level? There are 4 cases I can think of right off of the top of my head:

1) Need to be able to perform granular recovery of files from a filesystem not supported by VADP. While the list of supported file systems is growing, some backup systems still have problems reading metadata from EXT4 and support only LVM2, but even currently filesystems such as BTRFS are still unsupported.

2) Backup of Fault Tolerant (FT) clients. Currently FT does not support VMware snapshots, which makes VADP backups a non-starter. Solutions recommended was to disable the FT during the backup and then re-enable it afterwards. To me this seems unnecessarily convoluted and prone to any number of failures. It seems simpler and more logical to just perform the backup with a guest level client and reduce the overall risk to your systems.

3) Systems using Raw Device Mappings (RDM) either standalone or in a cluster. Ok, this last one should be pretty obvious. RDMs in physical mode don't support snapshots. Clusters in VMware are less common these days, in particular clusters that utilize shared disks, but they do still exist. In such cases the only reliable way would be via guest level backups.

4) Scripts that need to be ran at the beginning/end of backups. What, you don't want to snapshot that 1TB of RAM in a VM? You mean you need to run a process at the beginning and end of your backups for ApplicationX to be supported by your vendor? That's a bit more difficult to do when using purely VADP setups, which is another place where guest level backups can be handy.

These 4 cases I've listed are just off of the top of my head. They may or may not apply to you, but I thought they deserved to be mentioned for consideration. Remember, to use absolutes like "NEVER" is a dangerous thing. It limits your options and you exclude what could be a simple fix to a complex problem.

Hope this helps!