Virtual Machines (VMs) are used extensively in cloud computing. The underlying hypervisor allows hardware resources to be split into multiple virtual units which enhances resource utilization. However, VMs with traditional architecture introduce heavy overhead and reduce workload performance. Containers have been introduced to overcome this drawback, yet such a solution raises security concerns due to poor isolation. Lightweight hypervisors have been leveraged to strike a balance between performance and isolation. We conducted a comprehensive performance evaluation of containers based on modern lightweight hypervisors, elaborated on the limitations that affect virtualization performance, identified the best fit use case for practitioners and provided pros and cons analysis of each solution in great detail.