VMware recognized pretty early that backing up virtual machines (VMs) through the traditional backup approaches (client in VM) was not going to work very well. The problem is simple: traditional backups are extremely resource-intensive in terms of both CPU and memory. I've always said that nothing stresses a server more than backing it up. As a matter of fact, nothing stresses your network more than a backup application – but that's a topic for a different time.
Anyway, the traditional client backup method worked fine in the physical world because we had excess CPU and memory. Well that's exactly why we can virtualize the machines. The physical server that hosts the VMs can do its magic because each VM is not consuming all of the resources. Backups will consume everything you give them – that's a problem.
In versions 3.x of ESX, a backup API solution was released by VMware. It was called VMware Consolidated Backup (VCB). As a backup solution, it was a good attempt. But in practical terms, it did not scale, it was difficult to manage, and reliability suffered because of it. Much to their credit, VMware learned their lessons and released a completely new set of APIs in vSphere 4.0 (and later). These are collectively known as the vStorage APIs. They come in two flavors: VAAI and VADP. VAAI (vStorage API for Array Integration) is a set of APIs that allow the storage vendors to have much tighter integration with the hypervisor. VADP (vStorage API for Data Protection) is a set of tools for backup vendors to efficiently protect resources in a vSphere environment. Both APIs are very rich topics of discussion.
This video covers APIs in a little bit more detail. And we'll cover even more in forthcoming posts.