We present an autonomic resource management framework that takes advantage of both virtual machine resizing (CPU and memory) and physical CPU frequency scaling to reduce the power consumption of servers while meeting performance requirements of colocated applications. We design online performance and power model estimators that capture the complex relationships between applications' performance and server power (respectively), and resource utilization. Based on these models, we devise two optimization strategies to determine the most power efficient configuration. We also show that an operator can tune the tradeoff between power and performance. Our evaluation using a set of cloud benchmarks compares the proposed solution in power savings against the Linux ondemand and performance CPU governors. The results show that our solution achieves power savings between 12% to 20% compared to the baseline performance governor, while still meeting applications' performance goals.