TL; DR: построение для наименьшего общего знаменателя среди провайдеров IaaS.
Простой ответ на этот вопрос заключается в том, чтобы использовать провайдера IaaS строго только для их инфраструктуры, а не для их «услуг».
Хороший способ сделать это может состоять только в том, чтобы выполнять в облачном приложении только те действия, которые позволяет выполнять terraform.Интересно, что такие инструменты, как Docker, Kubernetes, значительно упрощают приложения, не зависящие от инфраструктуры, и наблюдается феноменальный рост числа решений, которые помогут вам в этом.Приложения, построенные на Openshift , cloudfoundry и т. Д., Помогают нормализовать работу облачных поставщиков.Появляются и более мелкие, более удобные для разработчиков инструменты, использующие k8s / docker для создания приложений, независимых от поставщиков: deis , dokku , hasura .Отказ от ответственности: я работаю в Hasura.
Чтобы конкретно ответить на ваши вопросы:
Предположим, у меня есть система на основе Microsoft Cloud с SQL Azure в качестве базы данных.Завтра я хотел бы перенести его на другого провайдера облачных вычислений, бывшего Amazon.
Нет, если вы сделаете это, вы не сможете быть «мультиоблаком».
Мы находимся в состоянии, когда у нас есть подход плавной миграции для переноса данных приложений от одного поставщика облачных услуг к другому.
Мы еще не полностью там.Но мы определенно движемся к этому.См. Подробности, которыми я поделился выше.