しばやん雑記

Azure とメイドさんが大好きなプログラマーのブログ

Microsoft Build 2026 で発表された Azure Functions / Container Apps のアップデート

先週にサンフランシスコで Microsoft Build 2026 が開催され、キーノートでは例年通り AI と Windows の改善についての発表が中心でしたが、その裏では Azure の Serverless 周りのアップデートが去年よりも多く発表されていました。

残念ながら全くキーノートでは触れられず、セッションも無かったので知らない人も多そうですが、かなり大きなアップデートが来ているので、個人的に注目している部分についてまとめます。

今年は App Service に関しては特筆すべきアップデートは無く、Azure Functions と Azure Container Apps のアップデートがかなり熱いものでした。このエントリでは触れませんが Foundry Hosted Agents など含め、最近の Azure コンピューティングでは microVM がキーワードになっています。

Azure Functions

最近の Azure のトレンド通り Azure Functions は今年も AI を意識したアップデートが多いですが、機能としては Flex Consumption のアップデートや新しい Azure Functions CLI など開発体験の向上なども順当に行われています。

個人的には Durable Task Scheduler のアップデートがかなり面白いと思っているので、Private Preview に申し込んで検証してみたいですね。

Serverless agents runtime が Public Preview

正直なところ、名前からはどんな機能なのかイメージがつかないと思いますが、少し前に実験的にリリースされていた Markdown ベースで AI Agent を定義できるランタイムが正式に Public Preview としてリリースされました。AI Agent 自体は Markdown で定義出来て、Python で書いたコードは Tool Call で呼び出せるというかなり扱いやすいものです。

実験的なリリースの時はトリガーは定義出来ていなかったですが、今回の Serverless agents runtime では Frontmatter 部分で Azure Functions のトリガーを指定できるのが大きな特徴です。AI Agent を作るのはかなり簡単になってきましたが、どのタイミングで動かすかかが難しいと感じていたので、トリガーのサポートはかなり好きな機能です。

Azure Functions で動作するので VNET Integration や Managed Identity といった機能がそのまま使えるのも便利です。Foundry Hosted Agents でも同じことは可能ですが、設定としては Azure Functions の方が圧倒的に簡単なので、個人的にはこちらを使いたい気持ちです。

Managed connectors が Public Preview

Azure Functions は標準で多くのトリガーとバインディングに対応していますが、Microsoft 365 周りとの接続は標準では用意されていないため、その部分だけは Logic Apps を使った方が楽だったりしました。今回のアップデートで Logic Apps と同じコネクターが利用可能になったので、Azure Functions だけで解決できる部分が大きく増えました。

SDK が提供されているサービスでは専用の型が用意されているので、Azure Functions のバインディングを使ってマッピングして扱いやすくなっています。

この機能は Logic Apps で新しく Public Preview となった Connector Namespace を使っていますので、使う場合には Connector Namespace 自体も理解しておく必要があります。

Connector Namespace は各種 SaaS への接続を管理するサービスで、認証周りの面倒を見てくれるので Azure Functions 側では SaaS の情報を持つ必要がないのは大きなメリットです。

MCP Extensions のアップデート

Build の前から継続的にアップデートが行われてきましたが、このタイミングで最近のアップデートのまとめが出ました。これまでは Tools として使うことが中心でしたが、Resources と Prompts へのサポートが追加されたので、MCP で定義されている機能にほぼ対応しました。

Microsoft としては MCP Apps を推している感じはしますが、OBO を含む MCP の認証の改善や Structured Content といった機能の追加も行われているので、全体として扱いやすくなっていると感じています。

今後も認証周りを含め改善が行われていくようなので期待です。

Azure Functions CLI v5 が Public Preview

Azure Functions の開発には Azure Functions Core Tools が必要ですが、この CLI が Azure Functions CLI と名前を変えて v5 のプレビューが公開されました。これまでの CLI は全ての言語ワーカーが含まれていましたが、新しい v5 CLI では個別にインストールが必要になっています。

コマンドがシンプルになっているので開始しやすいのはもちろん、CLI での実行時に Azurite を自動的に起動するようになっているので、これまでのように個別に Azurite を起動する必要がありません。

Golang サポートが Public Preview

これまでも Custom Handler を使うことで Go を使った開発は行えていましたが、Java や Python などと同じレベルで Go のサポートが Public Previw となりました。ライブラリで各種クラスやメソッドが用意されているので、それを使うことで Azure Functions の開発が簡単に行えるようになっています。

Go を使った Azure Functions の実行にはローカルでは新しい Azure Functions CLI v5 が、Azure 上では Flex Consumption が必要になります。依存関係の影響を受けにくい言語ではあるので、意外に使いどころはあるのかなという気がしています。

On-demand sandboxes Durable Task Scheduler が Private Preview

安定した AI Agent のワークフロー実装で重要になっている Durable Task Scheduler ですが、基本はそれぞれの Activity は Orchestrator などと同じインスタンス上で実行されるため、LLM が生成したコードの実行や特別なパッケージが必要な処理は Dynamic Sessions や ACI にオフロードする必要がありましたが、透過的に Sandboxes 上で実行する機能が Private Preview となりました。個人的にはかなり大きなアップデートだと考えています。

Dynamic Sessions や ACI を使っても実現は出来ましたが、今回の機能を使うことでコンピューティングの管理を全て Durable Functions と Durable Task Scheduler に任せられるようになり、おそらく後述する Container Apps Sandboxes と同じインフラ上で実行されるため高速な起動とスケーラビリティが得られるはずです。

これまでも一部の Activity は独立したコンピューティング上で実行させたいことがあったので、そういった場合には今回の機能が非常にフィットしそうです。

Flex Consumption のアップデート

地道にアップデートが行われている Flex Consumption ですが、今回の Build では Rolling Update でのデプロイが GA になったのが大きいです。デフォルトは Recreate なのでダウンタイムが発生しますが、Rolling Update は影響を最小限に抑えつつデプロイが可能になります。

それ以外に Flex Consumption のそれぞれの Function App 単位での証明書アップロード機能が Public Preview になっています。これまで Flex Consumption は TLS 証明書のアップロードが出来ていなかったようですが、今回のアップデートでサポートされたようです。

アップロードされた証明書は設定を有効化すればファイルシステムにマウントされて、アプリコードからも触れるようになるみたいなので、独自の証明書を持ち込む必要があるシナリオに対応できるようになりました。

Azure Container Apps

ここ最近は若干地味でアップデートもあまり多くなかった Azure Container Apps ですが、今回の Build では新しい microVM ベースのインフラを引っ提げて、大規模なサービスアップデートが公開されました。

Container Apps は AKS ベースという印象が強かったですが、新しく公開されたサービスでは microVM ベースになっているようなので、AKS っぽさが消えているのが大きいと感じています。新しい専用 Portal もリリースされたことで開発体験も大幅に改善しましたし、もはや初期のバージョンからは別物という感じです。

Container Apps Sandboxes が Public Preview

今回のアップデートのメインになるのは Container Apps Sandboxes であることは間違いないはずです。ブログを読んだだけでは Dynamic Sessions の後継サービスぐらいの印象になりますが、実体は Foundry Hosted Agents や GitHub Copilot の Cloud Sandboxes、更には Container Apps Express にも使われているサービスで、ハードウェアで分離された microVM ベースのインフラを提供する基盤となっています。

ドキュメントを確認すると Data-plane が ADC と呼ばれていて、エンドポイントが azuredevcompute.io となっているので、Flex Consumption のインフラが Legion と呼ばれていたように microVM / Sandboxes のインフラは Azure Dev Compute (ADC) という名前のようです。

正直なところ Container App Sandboxes はユーザーが直接利用するサービスというよりも、Hosted Agents のように間接的に利用するサービスな気がしています。Durable Task Scheduler の On-demand sandboxes も Container App Sandboxes が使われるようですし、Code Interpreter 的な機能を実装しない限り直接利用する機会は少ないと思っています。

Container Apps Express が Public Preview

数週間前にリリースされていましたが Container Apps Express も一応 Build での発表という扱いのようです。Container Apps Sandboxes を基盤として 使うことで高速なコールドスタートとスケーリングを実現しています。

既に以下のエントリで試しているので、詳細はこちらを参照してください。

AI Agents や Orchestrator 向けの実行環境だけではなく、通常の Web アプリケーションの実行環境としても最速かつ最安で利用可能なサービスになっているので、早く GA して欲しいサービスの一つです。

ContainerAppHTTPLogs 診断ログが GA

これまでの Container Apps では Envoy の HTTP ログを確認することが出来ませんでしたが、診断ログに新しく ContainerAppHTTPLogs が追加されたので、簡単に HTTP ログを確認できるようになりました。

テーブルのリファレンスも公開されていて、当然ながら Front Door の HTTP ログとは異なり Container Apps 固有の情報など、かなり詳細な情報が取れるようになっているのでトラブルシューティングで非常に役立ちそうです。

HTTP ログはデータ量が多くなりがちなので Log Analytics への転送よりも Blob Storage に保存する用途の方が多くなりそうです。正直最初から欲しかったログではありますが、対応したのは嬉しいですね。