「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Azure Functions を Azure Container Apps にデプロイする 2 つの方法の比較

Azure Functions を Azure Container Apps にデプロイする 2 つの方法の比較

2024 年 9 月 13 日に公開
ブラウズ:231

昨日、「Azure Container Apps に Java Azure 関数をデプロイする」というタイトルの記事を書きました。

そのエントリでは、Azure の統合管理機能の使用について言及しましたが、それが何を意味するのか、またこの記事で以前の方法とどのように異なるのかを明確にしたいと思います。

古い方法: az contextapp create を使用して作成する

Azure Container Apps は、Azure のコンテナー実行環境の 1 つで、コンテナー化されたサービスを実行できます。以前は、Azure Container Apps で Azure Functions を実行する場合は、次のコマンドを使用してインスタンスを作成していました:

az containerapp create \
--name general-container-app \
--resource-group $RESOURCE_GROUP_NAME \
--environment $CONTAINER_ENVIRONMENT \
--registry-server $CONTAINER_REGISTRY_SERVER \
--image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \
--target-port 80 \
--ingress external \
--query properties.configuration.ingress.fqdn

コマンドを実行すると、次のようなメッセージが表示されます:

Container app created. Access your app at https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/

その後、curl コマンドを使用して Azure Functions サービスに接続できます:

curl https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/api/httpexample?name=World

Azure Container Apps 環境にアクセスすると、general-container-app がコンテナ アプリとして作成されており、この管理インターフェイスはデプロイされたコンテナ化アプリケーションで使用できることがわかります。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

https://raw.githubusercontent.com/yoshioterada/Azure-Functions-Deploy-To-Azure-Container-Apps/main/images/ACA-Instance-for-Azure-Functions.png

新しいメソッド: az functionapp create を使用して作成する

新しい方法では、az contextapp create の代わりに az functionapp create コマンドを使用して、Azure Container Apps で Azure Functions を作成できます。

az functionapp create \
--name $AZURE_FUNCTION_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--environment $CONTAINER_ENVIRONMENT \
--storage-account $STORAGE_NAME \
--workload-profile-name "Consumption" \
--max-replicas 15 \
--min-replicas 1 \
--functions-version 4 \
--runtime java \
--image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \
--assign-identity

このコマンドを使用すると、Azure Functions が Azure Container Apps に作成され、管理インターフェイスにはそれが Function App であることが明確に表示されます。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

これは、Azure Functions が専用の Azure Functions 管理インターフェイスを通じて管理できるようになり、他のコンテナー アプリケーションとは異なることを意味します。

ただし、Azure App Service で提供される管理機能と、コンテナ アプリ上の Azure Functions で利用できる管理機能の間には、いくつかの違いがあります。たとえば、診断ツール、展開機能などの特定の機能が利用できない場合があります。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

参考: App Service 上の Azure Functions (ポータル)

比較のために、Azure App Service にデプロイされた Azure Functions の管理インターフェイスを次に示します。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

App Service と Azure Container Apps の管理機能には次のような違いがあります。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

  • 選び出す:
- Diagnose and solve problems
- Microsoft Defender for Cloud
- Events (preview)
- Log stream
- Deployment
- App Service plan
- Development Tools
- Monitoring
- Support   troubleshooting

特定の機能がないということは、機能が欠けているのではないかと考える人もいるかもしれません。

ただし、Azure Container Apps にデプロイすると、オペレーティング環境がコンテナベースになるため、デプロイと管理の方法が変わります。 Azure Functions 管理インターフェイスに含まれていない機能は、Azure Container Apps インターフェイスを通じて個別に管理する必要があります。

Azure Container Apps でのコンテナーの管理

az functionapp create コマンドを使用して Azure Container Apps 上に Azure Functions インスタンスを作成すると、コンテナー インスタンスを収容する新しいリソース グループが自動的に作成されます。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

私の環境では、リソース グループ名は次の規則に従います:

$CONTAINER_ENVIRONMENT_FunctionApps_$UUID

指定した $AZURE_FUNCTION_NAME にちなんで名付けられた Azure Container Apps インスタンスが生成されたことがわかります。

このインスタンスをクリックすると、Azure Container Apps に固有の管理インターフェイスに移動し、そこで Azure Functions がコンテナー インスタンスとして実行されます。

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Azure Container Apps は、Azure App Service とは異なる CI/CD およびデプロイ方法を提供します。また、Dapr や Service Connector など、コンテナー レベルで提供される機能を利用できるようになります。

結論

以前は、Azure Functions をコンテナー実行環境でコンテナ化することで実行できましたが、Azure Functions 専用の管理インターフェイスはありませんでした。

この新しい方法により、Azure Functions と Azure Container Apps が統合され、関連する Azure Functions 管理インターフェイスを備えたコンテナー環境が提供されます。

一部のお客様は Azure Kubernetes Service (AKS) 上で Azure Functions Container を運用していると思います。以前は、専用の管理インターフェイスがありませんでした。ただし、Azure Container Apps にデプロイすることで、AKS での操作の管理と比較して Azure Container Apps の管理の簡素化を享受しながら、Azure Functions 管理を使用できるようになります。

Azure Functions を Azure Container Apps にデプロイする方法はさらに進化する可能性があります。これがどのように発展するのか楽しみです。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/azure/comparison-of-two-methods-for-deploying-azure-functions-to-azure-container-apps-2o7o?1 侵害がある場合は、 Study_golang@163 .comdelete に連絡してください
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3