На чем можно писать Azure Functions?

Ответ

Azure Functions поддерживает несколько языков программирования и сред выполнения. Основные из них:

  • C# (.NET Core/.NET 6+): Наиболее интегрированный вариант, особенно для стека Microsoft. Можно писать как в виде изолированных процессов, так и в процессе .NET.
  • JavaScript/Node.js: Широко используется для серверных сценариев и интеграций.
  • Python: Популярен для задач обработки данных, машинного обучения и скриптинга.
  • Java: Применяется в корпоративных средах, часто с Spring Cloud Function.
  • PowerShell: Для автоматизации и администрирования в среде Azure.
  • TypeScript, F#, PHP (через Custom Handlers).

Выбор зависит от задачи, производительности, существующей кодовой базы команды и экосистемы необходимых библиотек. Например, для высоконагруженного API на корпоративном стеке Microsoft выбирают C#, а для быстрого прототипирования скрипта обработки событий — Python.

Ответ 18+ 🔞

Давай разберем, на чем эти твои функции в Azure писать можно, а то глаза разбегаются, как в хорошем меню. Выбор, конечно, овердохуища, но и запутаться — раз плюнуть.

Ну, во-первых, C# на .NET. Это как родной сын для всей этой экосистемы Microsoft. Самый интегрированный, самый облизованный. Если у тебя всё крутится вокруг их стека — это твой беспроигрышный вариант. Пишешь, и всё просто работает, без лишних плясок с бубном. Можно и в изоляции, и в общем процессе — как душе угодно.

Дальше идёт JavaScript, а точнее Node.js. Ну, это классика жанра для всяких серверных скриптов и быстрых интеграций. Знаешь JS? Значит, уже можешь что-то слепить. Просто, быстро, куча библиотек на любой, даже самый извращённый, случай.

Python — это, блядь, для умных. Ну или для тех, кто делает что-то с данными, машинным обучением или просто любит писать скрипты, от которых у C#-разработчика волосы дыбом встанут. Популярен, читаем, но тут уже надо смотреть на производительность в конкретных сценариях, а то может и подвести.

Java. А вот это уже серьёзно, ёпта. Корпоративный уровень. Если у тебя вся команда дышит Spring'ом и смотрит на мир через призму JVM — то тебе сюда. Мощно, надёжно, но иногда и ceremony этой самой — хоть жопой ешь.

PowerShell — это отдельная песня. Не для веб-API, конечно, а для всякой админской автоматизации внутри Azure. Скрипт написал — и пол-инфраструктуры переконфигурировал. Удобная штука в своём нише.

А ещё есть TypeScript, F#, PHP через какие-то кастомные обработчики... В общем, вариантов — хуй с горы.

Так на чём же писать-то, чувак? А вот тут надо головой думать, э бошка! Смотри:

  • Задача: Делаешь высоконагруженный API в мире Microsoft? Бери C# и не парься.
  • Задача: Надо быстро наколбасить скрипт, который триггерится событием из хранилища и что-то там обрабатывает? Python или Node.js — твои лучшие друзья.
  • Задача: У тебя вся кодовая база на Java и команда с неё не слезает? Ну, понятное дело, Java и выбирай, чего уж там.
  • Задача: Админ ты наш, и нужно автоматизировать рутину? PowerShell в руки и вперёд.

Главное — не быть тем распиздяем, который для микросервиса на три вызова тянет за собой Spring Boot со всеми потрохами. Соизмеряй инструмент с работой, и будет тебе счастье. А то ведь можно и так накодить, что потом сам от себя охуеешь.