There are a number of API/SDKs out there, and some with similar, overlapping functionalities. I'd appreciate some clarifications from experts on what each of the following API/SDK does:
1. VDDK
my take: read and write VM disks from and to vSphere. This can be used to implement the I/O part of a backup solution.
2. vCLI
my take: does administrative tasks like taking/deleting snapshots, turning on/off VMs, getting VM info.
3. VADP
my take: clueless. Though it is said to be designed for building backup solutions
4. vSphere APIs
my take: this seems to be an umbrella concept that is referred in many places, but I don't know what exactly it is.
5. storage API
my take: clueless
6. VMware vSphere Web Services SDK
my take: this seems to fall under vSphere management SDK, and is referred heavily in https://www.vmware.com/support/developer/vddk/vcb_vsphere_backup.pdf, which I find strange since the linked pdf is a document for VDDK.
ultimately, I want to find out what I can use to build a good backup solution. I know I need to use VDDK, but it's just part of the picture, as VDDK doesn't do most of the administrative tasks. I know that I can use vCLI for some of those, but given the number of available SDKs out there, I'm really not sure which one to choose.
Please advise