Choosing the right compute option: VMs vs containers vs PaaS vs FaaS