The elastic cloud-computing infrastructure, as well as its pay-as-you-go price model, attracts increasingly more enterprises to deploy their applications in the cloud. However, it is nontrivial to scale applications automatically due to the dynamic nature of the cloud-computing infrastructure and the dependencies among application components. The challenges include declaration of extensible scaling rules to satisfy application-specific requirements, the coordination of scaling actions that may interfere with each other, and the resolution of dynamic information that can only be determined during runtime. To address these challenges, we designed and implemented an extreme automation framework, which enables the autoscaling capability of applications by automatically carrying out user-specified scaling policies during runtime. The contribution of the extreme automation framework is twofold. First, it alleviates application administrators' burden of making the right scaling decisions. Second, it helps application administrators to coordinate scaling actions to avoid potential resource contention. The proposed framework has been fully implemented and verified with different types of cloud applications, including web applications hosted by Tomcat™ clusters and WebSphere® application server clusters, Web 2.0 applications hosted by sMash clusters, and map-reduce applications deployed in Hadoop™ clusters.