Autonomic resource provisioning in cloud systems with availability goals