The advancements and rapid adoption of service oriented architecture, utility computing, virtualization, etc., have emerged in a new computing paradigm called cloud computing, in the last few years. Cloud computing enables on-demand delivery of data, software, and hardware in the form of services over the Internet. But the growing scale of cloud-users and type-of-services urge for an autonomous environment to automate the highly complex cloud environment in a suitable way to improve the overall management of the cloud systems. To counter these automation related issues, autonomic computing (AC) emerges as a potential solution to optimize the performance of cloud computing.The merge of these two prominent technologies gives rise to a new technological domain called autonomic cloud computing (ACC). In this survey article, the existing AC assisted solutions for cloud computing is broadly categorized into two groups, namely features based and parameters based. Features based solutions are further classified into management (of services, workload, and resources) and security aware solutions. Similarly, parameters based solutions are grouped into quality-of-service aware and performance management solutions. Finally, the comparative analysis of state-of-the-art ACC approaches with respect to the approach referred, performance metrics, outcome, and the derived inference is also presented to have an in-depth understanding of the existing literature. Overall, the work excites the research community to design the effective autonomous solutions for ACC resources and services. Additionally, several research gaps and challenges are identified and discussed in this article based on the study with a focus on the future research directions.