Тут є кілька варіантів в рамках Служби додатків. Я не торкаюсь програм Logic Apps або Azure Automation, які також торкаються цього простору.
Azure WebJobs
Ця стаття є чесно найкращим поясненням, але я підсумую тут.
За запитом WebJobs ака. Заплановані WebJobs ака. Запущені WebJobs
Запущені WebJobs - це WebJobs, які запускаються один раз, коли викликається URL-адреса або коли властивість розкладу присутня у raspored.job . Заплановані WebJobs - це лише WebJobs, у яких була створена робота Azure Scheduler для виклику нашої URL-адреси за графіком, але ми також підтримуємо властивість розкладу, як згадувалося раніше.
Підсумок:
+
Виконавчий / сценарій на вимогу
+
Заплановані страти
-
Потрібно запустити через .scm кінцеву точку
-
Масштабування ручне
-
ВМ завжди потрібен
Постійні веб-роботи (без SDK)
Ці роботи працюють вічно, і ми їх розбудимо, коли вони завершаться. Вам потрібно ввімкнути Always On, щоб вони працювали, а значить, запускати їх у базовому рівні та вище.
Підсумок:
+
Виконаний / сценарій завжди працює
-
Потрібно завжди ввімкнено - Основний рівень і вище
-
ВМ завжди потрібен
Постійні WebJobs за допомогою SDK WebJobs
Це не що інше, з точки зору "функції WebJobs". По суті, у нас є цей солодкий SDK, який ми писали націляючи на WebJobs, який дозволяє виконувати код на основі простих тригерів. Про це я розповім пізніше.
Підсумок:
+
Виконаний / сценарій завжди працює
+
Багаті лісозаготівля / приладова панель
+
Тригери підтримуються разом із тривалими завданнями
-
Потрібно завжди ввімкнено - Основний рівень і вище
-
Налаштування масштабування вручну
-
Початок роботи може бути трохи стомлюючим
-
ВМ завжди потрібен
Пакет SDK Azure WebJobs
Azure WebJobs SDK - це абсолютно окремий SDK від функції WebJobs на платформі. Він розроблений для запуску в WebJob, але його дійсно можна запустити де завгодно. У нас є клієнти, які виконують їх на робочих ролях і навіть на прем або інших хмарах, хоча підтримка - це лише найкращі зусилля.
SDK якраз полягає в тому, щоб легко запустити якийсь код у відповідь на якусь подію і зробити прив'язку до служб / тощо. легко. Це справді найкраще висвітлюється в деяких документах , але суть його полягає в тому, що "подія" + "код" характер. Ми також виконали кілька цікавих робіт з розширення можливостей, але це важливо для основної мети.
Підсумок:
- Більшість із них згадані вище
+
Ви можете розширити та запустити все, що завгодно. Повний контроль.
-
HTTP матеріал трохи химерний, але він працює
Функції Azure
Функції Azure - це те, щоб взяти основну мету SDK WebJobs, розмістити її як службу та полегшити роботу з іншими мовами. Ми також вводимо тут концепцію "Без сервера", оскільки для цього було багато сенсу - ми знаємо, як наші масштаби SDK, щоб ми могли робити розумні речі для вас.
Функції Azure - це дуже керований досвід. Ми не підтримуємо залучення власного господаря. Наразі ми не підтримуємо спеціальні розширення, але це те, що ми досліджуємо. Ми впевнені в тому, що ви можете, а чого не можете зробити, але для того, що ми надаємо, вони гладкі та прості у використанні та керуванні.
Більшість «рамкових» речей, які ми зробили для вдосконалення Функцій, проходять через SDJ WebJobs. Наприклад, ми будемо завантажувати новий NuGet для WebJobs, який дійсно різко збільшує швидкість ведення журналу, що має величезні переваги для клієнтів SDJ WebJobs. Перевіряючи функції "WebJobs SDK як послугу", ми дійсно покращили багато проблем із досвідом.
Я, мабуть, упереджений, оскільки "Функції" - це наше останнє і найбільше, але не соромтеся знімати більше мінусів для Функцій.
Я, мабуть, закінчую публікувати блог, який детальніше розробив, але я намагався зберегти це якомога коротше для цього форуму.