Azure Functionsは、ランタイムと一緒に.NETワーカープロセスを実行するアウトオブプロセスモデルに移行しつつある。Azure FunctionsチームはNode.js 14に対するパブリックプレビューサポートも発表した。Node.js 14は、1月の更新でLinuxで実行されるカスタムハンドラーとJavaベースの関数に関する一般向けの提供(GA)である。
Azure Functionsは、イベント駆動型のコンピュートオンデマンドエクスペリエンスである。これは、既存のAzureアプリケーションプラットフォームを拡張したものであり、Azureまたはサードパーティのサービスで発生するイベントによってトリガーされるコードを実装する機能を備えている。Node.js、C#、F#、Python、Php、Bash、Batch、Powershellを使用して関数を記述できる。
リリース以来、Azure Functionsでの.NETサポートは、Azure Functionsランタイムと緊密な依存関係がある。このアーキテクチャの決定により、関数コードに直接型を挿入するなどの機能が使えるようになったが、.NETの新しいリリースは、ホストの.NETバージョンを更新する場合にのみサポートできることも意味する。
Azure Functionsで.NET5をサポートするために、チームはアウトオブプロセスモデルを採用し、新しい.NETワーカーを構築している。これは、現在プレビュー中であり、ランタイムと一緒に.NET5を実行する。これにより、ランタイムの依存関係との競合を心配することなく、アプリケーションの依存関係を完全に制御できる。この分離により、Azure Functionsは、リリースされるとすぐに将来の.NETバージョンを迅速にサポートできるようになる。
クラウドアプリケーションを使う場合、一時的な障害が原因でコードが例外を発生させる可能性がある。ほとんどの場合、数秒後にリクエストを再試行すると、アプリケーションは期待どおりに動作する。この問題を解決するために、チームはAzure Functionsアプリケーションでの再試行ポリシーのプレビュー版のデモを行った。これは、関数アプリ内のすべての関数に、または個別の関数に適用できる。
この機能の動機はユーザのフィードバックからである。そのユーザは、関数の実行に失敗した場合にメッセージをチェックポイントしないようにEventProcessorHostに要求していた。有効にすると、再試行ポリシーは、実行が成功するまで、あるいは最大再試行回数に達するまで、関数を再実行する。
最新のライブと以前のライブは、公式のAzure FunctionのYouTubeチャンネルで入手できる。