Internet-scale computer systems have established themselves as the dominant platform for the majority of popular computing today. These systems handle workloads that span Web processing to scalable storage to batch processing. The massive quantity of servers that handle these workloads are housed in data centers and require large quantities of power and cooling. To extract the most benefit from these resources, we must ensure that they are utilized efficiently. In this dissertation, we address three important challenges in efficient data-center computing. First, we present the storage configuration compiler that combines an application model and workload characterization to identify low-cost hardware configurations. Next, we present Stout, a software layer that enables more efficient use of shared storage. Finally, we consider the accuracy and limitations of several lightweight power modeling techniques and the potential impact on dynamic power management. Together, they can significantly lower hardware costs and ensure effective consideration of energy management techniques