Я создал несколько Azure Webjobs, которые используют триггеры, и я только что узнал о Azure Functions.
Из того, что я понимаю, функции Azure, похоже, перекрываются с функциями Azure Webjobs, и мне сложно понять, когда выбирать между Function и Webjob:
-
В отличие от Webjobs, функции могут быть запущены, но не предназначены для непрерывного процесса (но вы можете написать код для создания непрерывной функции).
-
Вы можете писать Webjobs и Functions с помощью многих языков (С#, node.js, python...), но вы можете написать свою функцию с портала Azure, чтобы было проще и быстрее разработать тест и развернуть Функция.
-
Webjobs запускаются в качестве фоновых процессов в контексте веб-приложения App App, приложения API или мобильного приложения, тогда как функции выполняются с использованием классического/динамического плана обслуживания приложений.
-
Что касается масштабирования, функции, как представляется, дают больше возможностей, так как вы можете использовать план обслуживания динамических приложений, и вы можете масштабировать одну функцию, тогда как для webjob вам нужно масштабировать все веб-приложение.
Итак, есть разница в ценах, если у вас есть существующее веб-приложение, вы можете использовать его для запуска webjob без каких-либо дополнительных затрат, но если у меня нет существующего веб-приложения, и я должен написать код для вызвать очередь, следует ли использовать webjob или функцию?
Есть ли какие-либо другие соображения, которые следует учитывать при выборе?