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.
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.
https://raw.githubusercontent.com/yoshioterada/Azure-Functions-Deploy-To-Azure-Container-Apps/main/images/ACA-Instance-for-Azure-Functions.png
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.
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.
Para comparação, aqui está a interface de gerenciamento do Azure Functions implantada no Azure App Service.
As diferenças nas capacidades de gerenciamento entre o Serviço de Aplicativo e os Aplicativos de Contêiner do Azure podem incluir:
- 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.
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.
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.
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.
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.
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