Ну AWS это всего-лишь сервис. В чем смысл SOA? Что вы пишете свой код так, чтобы он не был Жестко привязан к провайдеру сервиса. Чтобы провайдеров можно было лекго менять. Разбейте Ваше приложение на такие компоненты, чтобы в любой момент их можно было перенести куда Вам угодно в течении дня.
Мы используем для этого Ansible - система провижионинга. Мы ей "говорим" вот тебе ip сервера, логин, ключи - подними там наше приложение, ( Как поднимать, придется написать конфиг, и это занимает время, закто какой результат) И ансибле разворачивает там наше приложение. Завтра если нам не нравится Amazon, мы покупаем другую vps и указываем другой доступ - и вуаля - наше приложение за полчаса уже на другом сервис провайдере.
Конечно ansible это всего лишь инструмент - основную мысль вы уловили - архитектура такая, в котором приложение не зависит от провайдера. Если сегодня Вас амазон устраивает - используйте.