Heim  >  Artikel  >  Java  >  Vergleich zweier Methoden zum Bereitstellen von Azure Functions in Azure Container Apps

Vergleich zweier Methoden zum Bereitstellen von Azure Functions in Azure Container Apps

王林
王林Original
2024-09-11 06:43:061167Durchsuche

Gestern habe ich einen Artikel mit dem Titel „Bereitstellen einer Java Azure-Funktion in Azure Container Apps“ geschrieben.

In diesem Eintrag habe ich die Verwendung der integrierten Verwaltungsfunktionen von Azure erwähnt und möchte klarstellen, was das bedeutet und wie es sich von den vorherigen Methoden in diesem Artikel unterscheidet.

Alte Methode: Erstellen mit az containerapp create

Azure Container Apps ist eine der Containerausführungsumgebungen von Azure, mit der Sie jeden Containerdienst ausführen können. Wenn Sie bisher Azure Functions in Azure Container Apps ausführen wollten, erstellten Sie eine Instanz mit dem folgenden Befehl:

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

Nachdem Sie den Befehl ausgeführt haben, wird eine Meldung wie diese angezeigt:

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

Sie könnten dann einen Curl-Befehl verwenden, um eine Verbindung zu Ihrem Azure Functions-Dienst herzustellen:

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

Beim Zugriff auf die Azure Container Apps-Umgebung sehen Sie, dass die allgemeine Container-App als Container-App erstellt wurde und diese Verwaltungsschnittstelle für jede bereitgestellte Containeranwendung verfügbar ist.

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

Neue Methode: Erstellen mit az functionapp create

Mit der neuen Methode können Sie Azure-Funktionen in Azure Container Apps mithilfe des Befehls „az functionapp create“ anstelle von „az containerapp create“ erstellen.

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

Mit diesem Befehl werden Ihre Azure Functions in Azure Container Apps erstellt und die Verwaltungsoberfläche zeigt deutlich an, dass es sich um eine Funktions-App handelt.

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

Das bedeutet, dass Azure Functions jetzt über eine dedizierte Azure Functions-Verwaltungsschnittstelle verwaltet werden kann, was den Unterschied zu anderen Containeranwendungen darstellt.

Es gibt jedoch einige Unterschiede zwischen den in Azure App Service bereitgestellten Verwaltungsfunktionen und denen, die für Azure Functions in Container Apps verfügbar sind. Beispielsweise sind bestimmte Funktionen wie Diagnosetools, Bereitstellungsfunktionen und andere möglicherweise nicht verfügbar.

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

Referenz: Azure Functions on App Service (Portal)

Zum Vergleich sehen Sie hier die Verwaltungsschnittstelle für Azure Functions, die im Azure App Service bereitgestellt wird.

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

Die Unterschiede in den Verwaltungsfunktionen zwischen App Service und Azure Container Apps können Folgendes umfassen:

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

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

Einige denken vielleicht, dass das Fehlen bestimmter Funktionen auf fehlende Funktionalität hindeutet.

Bei der Bereitstellung in Azure Container Apps ist die Betriebsumgebung jedoch Container-basiert, wodurch sich die Bereitstellungs- und Verwaltungsmethoden ändern. Funktionen, die nicht in der Azure Functions-Verwaltungsschnittstelle enthalten sind, müssen separat über die Azure Container Apps-Schnittstelle verwaltet werden.

Verwaltung von Containern in Azure Container Apps

Wenn Sie den Befehl az functionapp create verwenden, um eine Azure Functions-Instanz in Azure Container Apps zu erstellen, wird automatisch eine neue Ressourcengruppe erstellt, die die Containerinstanz enthält.

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

In meiner Umgebung folgt der Ressourcengruppenname dieser Konvention:

$CONTAINER_ENVIRONMENT_FunctionApps_$UUID

Sie werden sehen, dass eine Azure Container Apps-Instanz mit dem Namen Ihres angegebenen $AZURE_FUNCTION_NAME generiert wurde.

Wenn Sie auf diese Instanz klicken, werden Sie zu einer Verwaltungsoberfläche speziell für Azure Container Apps weitergeleitet, wo die Azure-Funktionen als Containerinstanzen ausgeführt werden.

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

Azure Container Apps bietet andere CI/CD- und Bereitstellungsmethoden als Azure App Service. Es ermöglicht auch die Nutzung von auf Containerebene angebotenen Funktionen wie Dapr und Service Connector.

Abschluss

Zuvor war es möglich, Azure Functions durch Containerisierung in einer Containerausführungsumgebung auszuführen, es gab jedoch keine dedizierte Verwaltungsschnittstelle für Azure Functions.

Mit dieser neuen Methode wurden Azure Functions und Azure Container Apps integriert und bieten eine Containerumgebung mit einer zugehörigen Azure Functions-Verwaltungsschnittstelle.

Ich weiß, dass einige Kunden Azure Functions Container auf Azure Kubernetes Service (AKS) betreiben. Bisher fehlte ihnen eine dedizierte Verwaltungsschnittstelle. Durch die Bereitstellung in Azure Container Apps können sie jetzt jedoch die Azure Functions-Verwaltung nutzen und gleichzeitig die Einfachheit der Verwaltung von Azure Container Apps im Vergleich zur Verwaltung von Vorgängen auf AKS genießen.

Die Methoden zur Bereitstellung von Azure Functions in Azure Container Apps werden sich wahrscheinlich weiterentwickeln. Ich bin gespannt, wie sich das entwickelt.

Das obige ist der detaillierte Inhalt vonVergleich zweier Methoden zum Bereitstellen von Azure Functions in Azure Container Apps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn