Was ist Azure App Service?
Azure App Service ist ein HTTP-basierter Dienst zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. Sie können in Ihrer bevorzugten Programmiersprache oder Ihrem Lieblingsframework entwickeln. Anwendungen können in Windows- und Linux-basierten Umgebungen problemlos ausgeführt und skaliert werden.
Integrierte Unterstützung für die automatische Skalierung
Die Möglichkeit zum Hoch- oder Runterskalieren ist in den Azure App Service integriert. Je nach Nutzung der Web-App können Sie die Ressourcen des zugrunde liegenden Computers, auf dem Ihre Web-App gehostet wird, hoch- oder herunterskalieren. Zu den Ressourcen gehören die Anzahl der Kerne und die Menge des verfügbaren Arbeitsspeichers. Als horizontale Skalierung wird hingegen die Fähigkeit bezeichnet, die Anzahl der Computerinstanzen zu erhöhen oder zu verringern, auf denen Ihre Web-App ausgeführt wird.
Containerunterstützung
Mit Azure App Service können Sie containerisierte Web-Apps unter Windows und Linux bereitstellen und ausführen. Sie können Containerimages aus einer privaten Azure-Containerregistrierung oder Docker Hub abrufen. Azure App Service unterstützt auch Multi-Container-Apps, Windows-Container und Docker Compose zum Orchestrieren von Containerinstanzen.
Unterstützung für Continuous Integration/Continuous Deployment
Das Azure-Portal enthält standardmäßig Funktionen für Continuous Integration und Continuous Deployment mit Azure DevOps Services, GitHub, Bitbucket, FTP oder einem lokalen Git-Repository auf Ihrem Entwicklungscomputer. Verbinden Sie Ihre Web-App mit einer der oben genannten Quellen. App Service erledigt den Rest für Sie, indem der Code und alle künftigen Änderungen am Code automatisch mit der Web-App synchronisiert werden. Kontinuierliche Integration und Bereitstellung für containerisierte Web-Apps wird auch mit Azure Container Registry oder Docker Hub unterstützt.
Bereitstellungsslots
Beim Bereitstellen einer Web-App können Sie einen gesonderten Bereitstellungsslot anstelle des Standardproduktionsslots verwenden, wenn Sie die Ausführung im App Service-Plantarif „Standard“ durchführen. Bereitstellungsslots sind aktive Apps mit eigenen Hostnamen. Elemente für App-Inhalte und -Konfigurationen können zwischen zwei Bereitstellungsslots, einschließlich des Produktionsslots, ausgetauscht werden.
App Service unter Linux
Von App Service können Web-Apps für unterstützte Anwendungsstapel auch nativ unter Linux gehostet werden. Darüber hinaus können benutzerdefinierte Linux-Container ausgeführt werden. (Diese werden auch als Web-App für Container bezeichnet.) App Service für Linux unterstützt viele sprachspezifische integrierte Images. Stellen Sie einfach Ihren Code bereit. Unterstützte Sprachen und Frameworks sind unter anderem: Node.js, Java (JRE 8 und JRE 11), PHP, Python, .NET und Ruby. Sollte die für Ihre Anwendung erforderliche Runtime in den integrierten Images nicht unterstützt werden, können Sie sie mit einem benutzerdefinierten Container bereitstellen.
Die Programmiersprachen und ihre unterstützten Versionen werden regelmäßig aktualisiert. Sie können die aktuelle Liste mithilfe des folgenden Befehls in Cloud Shell abrufen.
az webapp list-runtimes --os-type linux
Einschränkungen
Für App Service für Linux gelten einige Einschränkungen:
- App Service für Linux wird im Tarif „Shared“ nicht unterstützt.
- Im Azure-Portal werden nur Features angezeigt, die aktuell für Linux-Apps geeignet sind. Wenn neue Features hinzukommen, werden sie im Portal aktiviert.
- Bei der Bereitstellung in integrierten Images wird Ihrem Code und Ihren Inhalten ein Azure Storage-basiertes Speichervolume für Webinhalte zugeordnet. Die Datenträgerwartezeit dieses Volumes ist höher und variabler als die Wartezeit des Containerdateisystems. Apps, die intensiven schreibgeschützten Zugriff auf Inhaltsdateien erfordern, profitieren möglicherweise von der Option „benutzerdefinierter Container“, da die Dateien hierbei im Containerdateisystem platziert werden und nicht auf dem Inhaltsvolume.