Availability/Realiability-aware Virtual Machine Provisioning and Placement in a Datacenter