"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Comparação de dois métodos para implantar funções do Azure em aplicativos de contêiner do Azure

Comparação de dois métodos para implantar funções do Azure em aplicativos de contêiner do Azure

Publicado em 13/09/2024
Navegar:936

Ontem, escrevi um artigo intitulado "Implantando uma função Java Azure em aplicativos de contêiner do Azure".

Nessa entrada, mencionei o uso dos recursos de gerenciamento integrado do Azure e quero esclarecer o que isso significa e como difere dos métodos anteriores neste artigo.

Método antigo: Criando com az containerapp create

Azure Container Apps é um dos ambientes de execução de contêiner do Azure, permitindo executar qualquer serviço em contêiner. Anteriormente, se você quisesse executar o Azure Functions em aplicativos de contêiner do Azure, criaria uma instância usando o seguinte comando:

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

Depois de executar o comando, você verá uma mensagem como esta:

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

Você poderia então usar um comando curl para se conectar ao seu serviço Azure Functions:

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

Ao acessar o ambiente de aplicativos de contêiner do Azure, você verá que o aplicativo de contêiner geral é criado como um aplicativo de contêiner e essa interface de gerenciamento está disponível para qualquer aplicativo em contêiner implantado.

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

Novo Método: Criando com az functionapp create

O novo método permite criar Funções do Azure em Aplicativos de Contêiner do Azure usando o comando az functionapp create em vez de az containerapp create.

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

Com este comando, suas Funções do Azure serão criadas em Aplicativos de Contêiner do Azure e a interface de gerenciamento mostrará claramente que se trata de um Aplicativo de Funções.

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

Isso significa que o Azure Functions agora pode ser gerenciado por meio de uma interface de gerenciamento dedicada do Azure Functions, fazendo a diferença em relação a outros aplicativos de contêiner.

No entanto, existem algumas diferenças entre os recursos de gerenciamento fornecidos no Azure App Service e aqueles disponíveis para Azure Functions em aplicativos de contêiner. Por exemplo, certas funcionalidades como ferramentas de diagnóstico, recursos de implantação e outras podem não estar disponíveis.

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

Referência: Azure Functions no Serviço de Aplicativo (Portal)

Para comparação, aqui está a interface de gerenciamento do Azure Functions implantada no Azure App Service.

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

As diferenças nas capacidades de gerenciamento entre o Serviço de Aplicativo e os Aplicativos de Contêiner do Azure podem incluir:

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

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

Alguns podem pensar que a falta de certos recursos sugere funcionalidade ausente.

No entanto, quando implantado em aplicativos de contêiner do Azure, o ambiente operacional é baseado em contêiner, o que altera os métodos de implantação e gerenciamento. Os recursos não incluídos na interface de gerenciamento do Azure Functions precisarão ser gerenciados separadamente por meio da interface do Azure Container Apps.

Gerenciamento de contêineres em aplicativos de contêiner do Azure

Ao usar o comando az functionapp create para criar uma instância do Azure Functions em aplicativos de contêiner do Azure, um novo grupo de recursos é criado automaticamente para abrigar a instância do contêiner.

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

No meu ambiente, o nome do grupo de recursos segue esta convenção:

$CONTAINER_ENVIRONMENT_FunctionApps_$UUID

Você verá que uma instância do Azure Container Apps com o nome do $AZURE_FUNCTION_NAME especificado foi gerada.

Ao clicar nesta instância, você será direcionado para uma interface de gerenciamento específica para aplicativos de contêiner do Azure, onde o Azure Functions é executado como instâncias de contêiner.

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

Os Aplicativos de Contêiner do Azure fornecem diferentes métodos de CI/CD e implantação do Serviço de Aplicativo do Azure. Ele também permite recursos oferecidos no nível do contêiner, como Dapr e Service Connector, que podem ser utilizados.

Conclusão

Anteriormente, era possível executar Azure Functions armazenando-as em contêineres em um ambiente de execução de contêiner, mas não havia interface de gerenciamento dedicada para Azure Functions.

Com este novo método, o Azure Functions e os Azure Container Apps foram integrados, oferecendo um ambiente de contêiner com uma interface de gerenciamento associada do Azure Functions.

Sei que alguns clientes operam o Azure Functions Container no Azure Kubernetes Service (AKS). Anteriormente, eles não tinham uma interface de gerenciamento dedicada. No entanto, ao implantarem-se em Aplicativos de Contêiner do Azure, eles agora podem usar o gerenciamento do Azure Functions enquanto aproveitam a simplicidade do gerenciamento de Aplicativos de Contêiner do Azure em comparação com o gerenciamento de operações no AKS.

Os métodos para implantar o Azure Functions nos aplicativos de contêiner do Azure provavelmente evoluirão ainda mais. Estou ansioso para ver como isso se desenvolve.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/azure/comparison-of-two-methods-for-deploying-azure-functions-to-azure-container-apps-2o7o?1 Se houver alguma violação, por favor entre em contato com study_golang@163 .comdelete
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3