Almost...
The statement has some inaccuracies. Here's the correct explanation:
Availability Sets: These are not free VM instances. Rather, an availability set is a logical grouping of VMs within a single Azure datacenter to ensure high availability. When you place your VMs in an availability set, Azure ensures that the VMs are distributed across multiple fault domains and update domains. This setup helps to minimize the impact of hardware failures or maintenance events. There are no direct charges for creating or using availability sets, but you will be charged for the individual VMs running within the availability set.
Availability Zones: These are physically separate locations within an Azure region. Each zone has independent power, cooling, and networking. Placing VMs in different availability zones provides higher fault tolerance than availability sets, as each zone is isolated from failures in other zones. There can be additional costs for data transfer between VMs located in different availability zones within the same region, and there might also be increased storage costs for zone-redundant storage (ZRS).
So, availability sets are not free VMs, and while availability zones provide better isolation and redundancy, they might incur costs for cross-zone data transfer.
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin