Предыстория
Я только начинаю работу над новым продуктом для веб-разработки, который планирую разместить в облаке, и обдумываю варианты поставщиков облачных услуг.
Мне очень нравится идея использования решения «Платформа как услуга», такого как Azure, потому что мои навыки администрирования серверов далеко не так надежны, как мои навыки разработки. Таким образом, возможность сосредоточиться только на приложении и аутсорсинге, таких как резервное копирование / балансировка нагрузки и т. Д. привлекателен для меня.
ОДНАКО, меня также беспокоит привязка к поставщику. Я ожидаю, что маржа моего приложения будет довольно небольшой, и мне нужно внимательно следить за контролем затрат. Если я выберу PaaS-решение, такое как Azure, и MS решит существенно поднять свои цены, я хотел бы иметь возможность передать свой бизнес более дешевому поставщику.
Я много лет занимаюсь разработкой ASP.NET, но только начинаю осваивать Azure. Я знаю, что приложения Azure написаны с использованием тех же инструментов/языка, что и обычные приложения ASP.NET, но не знаю, достаточно ли они отличаются, чтобы одно и то же приложение не запускалось в обычной установке IIS/ASP.NET без существенных изменений.
Вопрос
Переносят ли обычно приложения Azure на необлачные версии IIS/ASP.NET, что позволяет легко перенести их к одному из многочисленных поставщиков IaaS/HaaS без серьезных операций?
Я понимаю, что, очевидно, я потеряю преимущества PaaS, такие как встроенная балансировка нагрузки и другие дополнительные возможности. Меня в основном беспокоит, заставит ли Azure писать ваше веб-приложение очень специфичным для Azure способом, который необходимо будет реорганизовать для работы за пределами облака Microsoft.