The upcoming Veeam Availability Suite v10 includes Veeam Continuous Data Protection, a snapshot-less replication...
mechanism that promises to reduce your recovery point objective.
In the past, Veeam relied on VMware snapshot technology to free up VM disk space to process the changed blocks of a VM for replication and backup, but Veeam CDP leverages vSphere APIs for I/O (VAIO) filtering to circumvent the drawbacks of snapshots and achieve the same result. According to the official announcement at VeeamON in May 2017, CDP with VMware VAIO can achieve a recovery point objective of as little as five seconds and can even decrease your recovery time objective.
What exactly is VMware VAIO?
VMware VAIO is a framework around which third-party vendors can design and implement their own features and products. Like Virtual Volumes, VMware's storage framework, VAIO is a set of APIs that the ecosystem can consume. Basically, VAIO allows an organization to create an I/O filter that sits between the guest OS and the virtual disk. An organization can develop this custom filter around a few different filter classes: replication filters, encryption filters and caching filters. Every single I/O that flows from the VM must pass through these filters one at a time before it is committed to disk.
With all of these extra steps, one might think that VMware VAIO negatively affects performance or introduces latency into the infrastructure as I/O is processed. Fortunately, there's very little -- if any -- overhead associated with VAIO filtering. In a traditional I/O path, the guest OS sends write via the virtual SCSI (vSCSI) device driver inside the VM. The vSCSI driver then opens a channel to the vSCSI back end of the VMkernel. The VMkernel opens the location within the file system to process the write and then hands the I/O off to the file device layer (FDL). The FDL accesses the physical device and maps and commits the write to disk.
VMware VAIO simply adds one step to the I/O path. After the VMkernel hands the I/O off to the FDL, VAIO steps in. If the VM has a filter policy in place, the I/O is sent back to the user space to pass through the customer I/O filter before the data is sent to the physical device. If the VM doesn't have a filter policy in place, the I/O is treated normally and sent directly to the physical device, which maps and commits the write to disk.
The only additional latency associated with VAIO is the handoff of data back to VM user space for I/O filtering, but this call is extremely lightweight and occurs in less than a microsecond. So, it doesn't negatively affect application performance. Like most new vSphere features, VAIO is policy-driven, which means you can set different policies on different VMs or even VM disks. Hypothetically, you could encrypt one disk while replicating another, all while caching both. You only need to filter each I/O by the driver that supports its defined policies.
Waiting for vendors to get on board
We're unlikely to see a large number of VAIO-certified offerings in the near future due, in part, to the fact that VMware VAIO is still a relatively new technology and has only been generally available since September 2015. It will also take some time for third-party vendors to actually develop offerings around this functionality, but some vendors -- primarily in the caching space -- have already started to get on board. Vendors in the encryption space will likely take the longest to adjust because VAIO didn't initially offer an encryption filter; the VAIO encryption filter became available with ESXi 6.5.
In my opinion, the adoption of VAIO-certified offerings will increase in the future because it has the potential to provide significant enterprise storage performance and data protection. VMware VAIO will likely become the norm for things like replication, caching, encryption, antivirus protection, security and more. Hopefully, we'll hear more news about VAIO and its supported ecosystems at VMworld 2017.