The configuration of a service-based system has a significant impact on the nonfunctional requirements of the system as a whole. However, finding the best configuration is very challenging and sometimes impossible for administrators because so many factors have to be considered. More importantly, a service based system has to be frequently reconfigured to adapt to rapid and continuous changes in user requirements and runtime environments. In this paper we propose an autonomic computing approach to the problem of reconfiguration, that is, enabling the service based system to configure itself by means of a loop of monitoring, analyzing, planning and executing actions. We begin by formalizing the definition of configuration and reconfiguration. Then, we describe how we implemented the autonomic computing mechanisms for reconfiguring service-based systems to satisfy service level agreements with minimal resource consumption. The approach is demonstrated on a resilient service provisioning environment. Finally, the preliminary experiments are evaluated to determine the effectiveness of proposed approach.