При создании нового приложения-функции Azure в каком сценарии я выбираю операционную систему, отличную от Windows?
Мы создали и протестировали несколько приложений-функций Azure, размещенных в Windows. При создании нового приложения-функции Azure в каком сценарии я выбираю ОС, отличную от Windows? Значение Linux или Docker.
Я создал тестовые экземпляры для всех трех вариантов выбора ОС, и базовые настройки каждого из них кажутся очень близкими.
3 ответа
Linux или Docker полезны, если ваши функции имеют зависимости, которые работают только на Linux/Docker. Например, некоторые нативные библиотеки node.js работают только в Linux и никогда не будут работать в Windows.
Если вам не нужен Linux для чего-то конкретного, то я предлагаю придерживаться Windows, поскольку в настоящее время это (на момент написания) лучшая и наиболее поддерживаемая среда для запуска функций Azure.
Среда выполнения Azure Functions 2.0 основана на.NET Core, поэтому она кроссплатформенная. Если вы выберете Linux/Docker, среда выполнения функций будет развернута в Linux.
2.0 все еще в предварительном просмотре, поэтому Linux / Docker пока не поддерживается в производстве. На данный момент план потребления (оплата за звонок) не поддерживается.
Посмотрите Функции Azure на Предварительном просмотре Linux. Цитата:
Функции в Linux могут быть размещены на выделенном уровне службы приложений в 2 различных режимах:
- Вы приносите код приложения Function, а мы предоставляем и управляем контейнером, никаких специальных знаний о Docker не требуется.
- Вы привезете свой собственный Docker-контейнер, включающий среду выполнения функций Azure 2.0, конкретные зависимости и код приложения-функции.
Для режима потребления холодный запуск немного различается в зависимости от ОС.
Похоже, хотя среднее время очень близко между Windows и Linux, лучшие и худшие случаи для Linux намного лучше ... что имеет смысл. Отметьте это как хорошую ссылку: https://mikhail.io/serverless/coldstarts/azure/
Теперь, если вы развертываете специальный план обслуживания приложений, он играет большую роль. Планы Linux дешевле, чем планы Windows, из-за стоимости лицензирования ОС.