Cloud computing is a technical "as-a-service" usage model utilizing virtualization. Virtual machines are the core of cloud computing that runs as independent machine grouped into different networks within the hypervisor. Practically done by deployment of clouds computing hosts enterprise servers in virtual machines on an array of high-end servers. Managing cloud resources has to do with controlling and limiting access to the pool of available resources. This brings about the conception of an agreement between the resource services cloud providers and the customers otherwise known as Service Level Agreement, in other to restrict access to provisioned resources. Resource provisioning is a flexible on-demand pay-as-you-go package that is negotiated; and signed based on SLAs between customers and cloud providers. SLAs enable cloud providers to evade costly SLA consequences payable when there are violations, optimizing the performance of customers' applications and professionally manage resources to reduce cost. These documents are the agreements called Service Level Agreements (SLAs). SLAs outline the expectations which are: terms, conditions, and services of the clients from their service providers regarding availability, redundancy, uptime, cost, and penalties in cases of violations. These ensure clients' confidence in the services offered. Managing resource is an ongoing major issue in cloud computing. Considering the limitation of resources, it poses a challenge for cloud service providers to make provision for all resources as needed. This paper seeks a solution to problems that relates to the present trends and developments of what cloud Service Level Agreements are and it ensures so by reviewing current literature. Thus, this research is a study of cloud Service Level Agreements, cloud resource management and their challenges. This paper has made provision to act as guidance for future research and it is anticipated to be beneficiary to potential cloud end users and cloud service providers.