Cloud computing has been the topic of research for quite some time now. It is a model for enabling convenient, ubiquitous, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, applications, and services including security, application development, etc.) that can be rapidly provisioned and released with minimal management effort or service provider interaction. On the other hand, the increasing technological enhancement in the field of mobile computing is demanding pervasive and ubiquitous computing (PUC), which has given birth to the idea of integrating the concept of Cloud with mobile computing. This new paradigm known as Mobile cloud computing (MCC), has emerged as an area of keen interest among researchers. Mobile Cloud Computing is a mobile computing technology that uses unified elastic resources of different clouds and network technologies to provide mobile user with high computing power and storage capacity with limited resources in hand, and is based on the “pay-as-you-use” principle. This paper analyses the MCC architecture, exploring all possible challenges surrounding it under two groups (Challenges in Mobile Computing & Challenges in Cloud Computing) and finally concluding with heterogeneity being the prime factor contributing to these challenges.