Self-management of large information technology components, such as DBMSs, has emerged as one important problem in the area of autonomic computing. In particular, automated storage management is critical for most data-intensive applications. The reason is that the storage maintenance cost manifests one of the biggest factors in the overall operational cost. At the same time, due to the interactive nature of most applications, users typically pose the QoS constraints on 10 access performance. Hence it is crucial to ensure that the applications are not underprovisioned (giving rise to the risk of QoS violation) or over-provisioned (resulting in high operational costs). Such issue gets further complicated when the application workload keeps changing. In this paper, we present a novel analytic framework, PULSATINGSTORE, for autonomically managing the storage to balance the cost and performance in an online manner. In particular, given the workload characteristics of an application and storage QoS requirement, our PULSATINGSTORE framework is capable of scheduling the up-migration (in the case of under-provisioning) or down-migration (in the case of over-provisioning) with the optimal or near-optimal cost while still maintaining the QoS constraint.