Разница между облаком и VPS?
VPS это VPS, конкретная виртуальная машина. Она избавляет вас от необходимости покупать конкретное железо и настраивать драйвера, так как может быть поднята в виде виртуальной запущенной машине как на старом железе, так и на новом, без переустановки драйверов и прочего хлама.
Облако это облако. Под облаком обычно подразумевается кластеризация машин таким образом, что ресурсы распределяются между ними и легко мигрируют с конкретной машины на другую машины прозрачно для пользователя. Избавляет от необходимости перемещать виртуальные машины на другой сервер вручную, упрощает расширение и добавление ресурсов, которые в кластере машин грубо говоря бесконечны, ибо добавляться могут на лету, без перезапуска "хоста" - "хостом" в облаке является кластер из машин, а не один конкретный хост-сервер.
SaaS это SaaS. Когда виртуализируется не ОС, а конкретный сервер, конкретное приложение. Избавляет вас от необходимости задумываться об операционной системе.
То есть каждая из вышеупомянутых технологий, может существовать как отдельно друг от друга, так и представлять собой более высокий уровень абстрации, избавляя от рутины.
SaaS - это SaaS. Это gmail, например. 
VPS/VDS - это виртуалки. Под облаками подразумевают очень разные вещи, но если говорить про "VPS в облаке" - то чаще всего это кластер из пачки железок с единой панелью управления. Большинство "облачных" хостеров не запаривается ни с общим стораджем, ни с автоматическим подъемом виртуалок после падения одной из железок, ни с биллингом по ресурсам "эластичным". В общем, на выходе получаются обычные виртуалки в эксплуатации, с той лишь разницей, что их можно запускать-выключать-удалять пачками.