—The ongoing roll-out of 5G networks paves the way for many fascinating applications such as virtual reality (VR), augmented reality (AR), and autonomous driving. Moreover, 5G enables billions of devices to transfer an unprecedented amount of data at the same time. This transformation calls for novel technologies like multi-access edge computing (MEC) to satisfy the stringent delay and bitrate requirements of the mentioned applications. MEC is a technology to push data, virtualization, and processing resources from the cloud towards the edge of the network closer to the end-users and, therefore, improve their quality of experience (QoE). Resources at the edge are scarce, and MEC nodes are characterized by scarce computational resources calling for smart decisions on how to use these resources while ensuring that the service requirements (e.g., data rate, latency, etc.) are satisfied. Moreover, since the applications and services are to be deployed as virtual network functions (VNFs), it is important to consider efficient approaches to VNF migrations to guarantee high QoE for all the users. In this paper, we study the problem of joint user association, VNF placement, and resource allocation, employing mixedinteger linear programming (MILP) techniques. The objectives functions of this MILP-based problem formulations are to minimize (i) the service provisioning cost, (ii) the transport network utilization, and (iii) the impact of migration on users’ QoE. Moreover, a heuristic algorithm is proposed to tackle the scalability issue of the MILP-based algorithms. Finally, comprehensive experiments are performed to draw a comparison between these approaches.