In this paper, Stochastic Activity Networks (SANs) are used to model and evaluate the performance and power consumption of an Infrastructure-as-a-Service (IaaS) cloud. The proposed SAN model is scalable and flexible, yet encompasses some details of an IaaS cloud, such as Virtual Machine (VM) provisioning, VM multiplexing, and failure/repair behavior of VMs. Using the proposed SAN, a power-aware selfadaptive resource management scheme is presented for IaaS clouds that automatically adjusts the number of powered-on Physical Machines (PMs) regarding variable workloads in different time intervals. The proposed scheme respects user-oriented metrics by avoiding Service Level Agreement (SLA) violations while taking provider-oriented metrics into consideration. The behavior of the proposed scheme is analyzed when the arriving workload changes, and then its performance is compared with two nonadaptive baselines based on diverse performance and power consumption measures defined on the system. A validation of the proposed SAN model and the resource management scheme against an adapted version of the CloudSim framework is also presented.