Cloud computing offers a vast number of processing opportunities and heterogeneous resources and meets the requirements of numerous applications at various levels. Thus, the allocation and management of resources are vital in cloud computing. Resource allocation is a technique in which the available resources such as central processing unit, random‐access memory, storage, and network bandwidth in cloud data centres are divided among users in a way that facilitates resource utilisation, provider profit, and user satisfaction. Integration and interaction with other modules of the resource management system, security, privacy, fairness, non‐fragmentation of resources, resource utilisation, provider profit, user satisfaction, reducing energy consumption, load balancing, flexibility, scalability, availability, improvement the number and time of virtual machine migrations, and the number of overloaded resources are considered as challenges for the resource allocation mechanism. A systematic resource allocation survey with innovations in resource management system architecture, categorising mechanisms, addressing the challenges, and issues is presented. In addition to introducing the existing resource allocation mechanisms, other similar survey papers have been reviewed. Finally, there are some suggested topics for future work.