>  기사  >  Java  >  Azure 컨테이너 앱에 Azure Functions를 배포하는 두 가지 방법 비교

Azure 컨테이너 앱에 Azure Functions를 배포하는 두 가지 방법 비교

王林
王林원래의
2024-09-11 06:43:06944검색

어제 "Azure 컨테이너 앱에 Java Azure 함수 배포"라는 제목의 기사를 썼습니다.

해당 항목에서 Azure의 통합 관리 기능을 사용한다고 언급했는데 이 문서에서는 이것이 무엇을 의미하며 이전 방법과 어떻게 다른지 명확히 하고 싶습니다.

기존 방법: az Containerapp create를 사용하여 만들기

Azure Container Apps는 Azure의 컨테이너 실행 환경 중 하나이며, 이를 통해 모든 컨테이너화된 서비스를 실행할 수 있습니다. 이전에는 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/

그런 다음 컬 명령을 사용하여 Azure Functions 서비스에 연결할 수 있습니다.

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

Azure 컨테이너 앱 환경에 액세스하면 일반 컨테이너 앱이 컨테이너 앱으로 생성되고 이 관리 인터페이스를 배포된 모든 컨테이너화된 애플리케이션에 사용할 수 있는 것을 볼 수 있습니다.

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 Containerapp 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에 생성되고 관리 인터페이스에 함수 앱임을 명확하게 표시합니다.

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 Functions가 컨테이너 인스턴스로 실행되는 Azure Container Apps 관련 관리 인터페이스로 이동됩니다.

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 Functions 和 Azure 容器應用程式已集成,提供具有關聯的 Azure Functions 管理介面的容器環境。

我知道有些客戶在 Azure Kubernetes 服務 (AKS) 上執行 Azure Functions 容器。以前,他們缺乏專門的管理介面。但是,透過部署到 Azure 容器應用程序,他們現在可以使用 Azure Functions 管理,同時享受與在 AKS 上管理操作相比管理 Azure 容器應用程式的簡單性。

將 Azure Functions 部署到 Azure 容器應用程式的方法可能會進一步發展。我期待看到事情如何發展。

위 내용은 Azure 컨테이너 앱에 Azure Functions를 배포하는 두 가지 방법 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.