В общем, вы не можете просто взять то, что вы разрабатываете для одной облачной платформы, и поместить его на другую: они имеют разные наборы функций и предоставляют разные API. Тем не менее, чем ниже уровень написанного вами кода, тем выше вероятность того, что вы найдете другого поставщика с очень похожим API, поскольку виртуализация инфраструктуры проще (и ближе к стандартизированной), чем виртуализация приложения CMS.
Если вы используете только IaaS, вы, вероятно, можете довольно быстро портировать, но вам придется проделать большую работу, чтобы создать свое приложение. Если вы используете PaaS (или SaaS!), То вы более замкнуты, но получаете больше поддержки для быстрой разработки: это та платформа поддержки, которая является одновременно добавленной стоимостью и блокировкой, и вы не будете получить одно без другого.