Freigeben über


Hosten von Anwendungen in Azure

Dieser Artikel ist Teil 3 einer Reihe von sieben Artikeln, die Entwicklern bei den ersten Schritten mit Azure helfen.

Azure bietet mehrere Möglichkeiten zum Hosten Ihrer Anwendung. In diesem Artikel werden Dienste vorgeschlagen, die Ihren Anforderungen entsprechen. Es ist nicht präskriptiv. Kombinieren Sie Dienste, um Ihren Anforderungen gerecht zu werden. Die meisten Produktionsumgebungen kombinieren Dienste, um geschäftliche und organisatorische Anforderungen zu erfüllen.

Die von Ihnen gewählten Dienste kommen häufig auf zwei Überlegungen zu:

  • Bevorzugen Sie Einfachheit oder Kontrolle?
  • Bevorzugen Sie cloudnativ (Container) oder Azure-native (maßgeschneiderte Tools und Integrationen)?

Im folgenden Video wird die erste Überlegung erläutert: Einfachheit im Vergleich zur Kontrolle.

Einfachheit und Kontrolle

Azure-Hostingdienste umfassen zwei wichtige Überlegungen:

  • Einfachheit im Vergleich zur Kontrolle
    • Einfache Hostingplattformen benötigen weniger Konfiguration und Verwaltung, bieten Ihnen jedoch weniger Kontrolle über die zugrunde liegende Infrastruktur.
    • Komplexe Hostingplattformen benötigen mehr Konfiguration und Verwaltung, bieten Ihnen jedoch mehr Kontrolle über die zugrunde liegende Infrastruktur.
  • Cloudnativ im Vergleich zu Azure-nativ
    • Cloud-native kann als cloud-portabel betrachtet werden. Verwenden Sie Open-Source-Workloads wie Container und Technologien wie Dapr, damit Sie die Anwendungen bereitstellen können, die Sie für jeden Cloudanbieter erstellen.
    • Azure-native konzentriert sich auf Azure-spezifische Tools und Technologien zur Verwaltung der Infrastruktur. Zu diesen Diensten gehören Container, Code-First, Low-Code und Infrastrukturtools, die die Integration mit Azure-Diensten betonen.

Vereinfachtes Hosting

Vereinfachte Hostinglösungen werden vollständig von Azure verwaltet. Sie sind für die Code- und Umgebungskonfiguration verantwortlich. Azure verwaltet die zugrunde liegende Laufzeit und Infrastruktur, einschließlich Updates und Patches. Vereinfachtes Hosting ist der Azure-native Ansatz.

  • Logic Apps: Erstellen und Ausführen automatisierter Workflows mit minimalem bis keinem Code.
  • Power Automate: Automatisieren von Geschäftsprozessen und Workflows.
  • Azure Static Web Apps: Bereitstellen statischer Web-Apps, die mit Frameworks wie Blazor oder React erstellt wurden.
  • Azure Functions Apps: Führen Sie serverlosen Code oder Container aus.

Ausgewogenes Hosting

Ausgewogene Hostinglösungen balancieren den Bedarf an Einfachheit mit dem Bedarf an Kontrolle. Sie sind für Funktionen wie Code- und Umgebungskonfiguration verantwortlich. Azure verwaltet die zugrunde liegende Laufzeit und Infrastruktur, einschließlich Updates und Patches. Sie können auch Ihren eigenen Container zum Dienst mitbringen. Ausgewogenes Hosting ist sowohl azure-native als auch cloudnativ.

  • Azure App Service: Umfassendes Webhosting, einschließlich Sprachausführungsumgebungen, Containern und Automatisierungslasten.
  • Azure Container Apps: serverloses Container-Hosting.
  • Azure Spring Apps: Migrieren von Spring-Boot-Anwendungen in die Azure-Cloud.

Kontrolliertes Hosting

Kontrollierte Hostinglösungen bieten Ihnen die vollständige Kontrolle über die zugrunde liegende Infrastruktur. Sie sind für Updates, Patches, Code, Ressourcen und Umgebungskonfiguration verantwortlich. Kontrolliertes Hosting ist der cloudnative Ansatz.

Hosten von KI-Workloads

Wenn Ihre Anwendung KI-Modelle oder Agents enthält, gelten dieselben Hostingdienste. Die folgenden Dienste sind für das Hosten von KI-Workloads in Azure beliebt:

  • Azure Container-Apps und Azure Kubernetes-Dienst sind beliebte Optionen für das Hosten von KI-Inference-Endpunkten und Agent-Orchestratoren
  • Azure Functions eignet sich gut für ereignisgesteuerte KI-Pipelines, die auf neue Daten reagieren.
  • Für GPU-beschleunigte Workloads bieten virtuelle Azure-Computer Zugriff auf NVIDIA-GPU-Instanzen.

Weitere Informationen zum Erstellen von KI-Apps in Azure finden Sie in der Übersicht über die KI-App-Entwicklung.

Quellcode-Hosting

Entwickler, die in Azure einsteigen und eine neue Entwicklung beginnen möchten, verwenden das folgende Diagramm, um die vorgeschlagene Hostinglösung zu finden.

Diagramm, das im ersten Feld No-Code/Low-Code, im zweiten Feld Code und im dritten Feld Container zeigt, mit jeweils empfohlenen Diensten für jedes Feld.

No-Code oder Low-Code

Azure unterstützt No-Code-Lösungen als Teil des Cloudansatzes.

  • Logic Apps: Verwenden Sie einen visuellen Designer mit vorgefertigten Vorgängen, um einen Workflow für Unternehmens- und Geschäftsszenarien zu entwickeln.
  • Power Automate wie Power Apps: Verwenden Sie diese Tools, um Geschäftsprozesse und Workflows innerhalb der Microsoft 365-Organisation zu automatisieren.

Code im Vergleich zum Container

Low-Code-Hostinglösungen sind so konzipiert, dass Sie Ihre Codefunktionalität bereitstellen können, ohne die Anwendungsinfrastruktur verwalten zu müssen.

  • Azure Static Web Apps: Bereitstellen generierter statischer Web-Apps.
  • Azure-Funktionen: Bereitstellen von Codefunktionen in unterstützten Sprachen ohne Verwaltung der Anwendungsinfrastruktur.

Code-first-Hostinglösungen hosten Code, sodass Sie diesen direkt auf den Dienst bereitstellen.

Container-first-Hostinglösungen sind für das Hosten von Containern konzipiert. Der Dienst stellt containerspezifische Konfigurationsoptionen und -features bereit. Sie sind für die im Container verwendete Rechenleistung verantwortlich. Die Dienstleistungen, die Container hosten, gehen von der verwalteten Kontrolle in die volle Verantwortung über, sodass Sie nur so viel Containerverwaltung übernehmen, wie Sie möchten.

Kubernetes-zentriertes Hosting für Orchestrierung umfasst:

Dienst Fokus Verwendung
Azure Kubernetes Service (AKS) Cloudnativ Wird für Kubernetes-Cluster mit einem deklarativen Ansatz mit Konfigurationsdateien und externen Artefakten verwendet.
Azure Service Fabric Azure-nativ Verwenden Sie einen imperativen Ansatz zum Bereitstellen von Microservices auf Computerclustern. Es bietet ein Programmiermodell, das es Entwicklern ermöglicht, Code zu schreiben, der den gewünschten Zustand des Systems beschreibt, und die Service-Fabric-Laufzeit sorgt dafür, dass das System diesem Zustand entspricht.

Vorkonfiguriertes Containerhosting bedeutet, dass die Orchestrierungsoptionen für Sie vorkonfiguriert sind. Ihre Möglichkeit zur Kommunikation zwischen Containern oder Containerclustern könnte einen zusätzlichen Dienst wie Dapr erfordern.

Dienst Verwendung
Azure App Service Umfassendes Webhosting
Azure Spring Apps Spring Boot-Anwendungen
Azure Container Apps Serverloses Containerhosting
Azure Container Instances Einfaches Hosten mit einem einzelnen Container

Azure stellt eine Containerregistrierung zum Speichern und Verwalten Ihrer Containerimages bereit, oder Sie können eine Containerregistrierung eines Drittanbieters verwenden.

Dienst Verwendung
Azure Container Registry Verwenden Sie diese Methode, wenn Sie eigene Containerimages erstellen und hosten, die mit Quellcode-Commits und Basisimageupdates ausgelöst werden können.

Serverlos

Serverless-Hostinglösungen sind so konzipiert, dass sie zustandslosen Code ausführen und eine verbrauchsbasierte Preisstufe enthalten, die auf Null skaliert, wenn nicht verwendet.

Dienst Verwendung
Azure Container Apps Containerhosting
Azure Functions Code oder Container-Hosting

Microservices

Microservices-Hosting-Lösungen betreiben kleine, unabhängige Dienste, die zusammenarbeiten, um eine größere Anwendung zu bilden. Microservices werden in der Regel als Container bereitgestellt.

Dienst Verwendung
Azure Container Apps Wird für serverlose containerisierte Microservices verwendet.
Azure Functions Wird für serverlosen Code oder containerisierte Microservices verwendet.

Cloud-Edge

Cloud-Kante ist ein Begriff, der angibt, ob der Clouddienst so positioniert ist, dass er dem Benutzer (Client) oder der Anwendung (Server) zugutekommt.

Client-Computing-Ressourcen

Client-Berechnungen werden auf dem Client außerhalb von Azure ausgeführt. Client-Computing wird in der Regel für das clientseitige Rendering und die clientseitige Verarbeitung verwendet, z. B. für browserbasierte oder mobile Anwendungen.

Dienst Verwendung
Azure Static Web Apps Wird für statische Web-Apps verwendet, die clientseitiges Rendering wie React, Angular, Svelte, Vue und Blazor verwenden.

Clientverfügbarkeit

Dienst Verwendung
Azure Front Door Wird für alle in das Internet zugänglichen Anwendungen verwendet, um ein globales zwischengespeichertes und sicheres Netzwerk für Ihre statischen und dynamischen Ressourcen bereitzustellen, einschließlich DDoS-Schutz, End-to-End-TLS-Verschlüsselung, Anwendungsfirewalls und Geofilterung.

Server-Rechenleistung

Server-Computing-Ressourcen sind Dateien, die vom Server verarbeitet werden, bevor sie an den Client gesendet werden. Dynamische Ressourcen werden mithilfe des Back-End-Server-Computing entwickelt, optional in andere Azure-Dienste integriert.

Dienst Verwendung
Azure App Service Verwenden Sie diesen Dienst für standardmäßiges Webhosting. Dies unterstützt eine Vielzahl von Funktionen-API-Endpunkten, Full-Stack-Anwendungen und Hintergrundaufgaben. Dieser Dienst enthält viele Programmiersprachenlaufzeiten und die Möglichkeit, Ihren eigenen Stapel, Ihre Sprache oder Workload aus einem Container bereitzustellen.
Azure Functions Verwenden Sie diesen Dienst, um Ihren eigenen Code in den unterstützten Sprachen für HTTP-Endpunkte oder ereignisbasierte Trigger von Azure-Diensten bereitzustellen.
Azure Spring Apps Verwenden Sie diese Option, um Spring Boot-Anwendungen ohne Codeänderungen bereitzustellen.
Azure Container Apps Verwenden Sie diese Option, um verwaltete Microservices und containerisierte Anwendungen auf einer serverlosen Plattform zu hosten.
Azure Container Instances Verwenden Sie diese Option für einfache Containerszenarien, die keine Containerorchestrierung benötigen.
Azure Kubernetes Service (AKS) Verwenden Sie diesen Dienst, wenn Sie einen Kubernetes-Cluster benötigen. Die Kontrollebene zum Verwalten des Clusters wird erstellt und für Sie ohne zusätzliche Kosten bereitgestellt.

Serverendpunktverwaltung

Mit der Serverendpunktverwaltung können Sie Serverendpunkte über ein Gateway verwalten, das Versionsverwaltung, Zwischenspeicherung, Transformation, API-Richtlinien und Überwachung hinzufügt.

Dienst Verwendung
Azure-API-Verwaltung Verwenden Sie diesen Dienst, wenn Sie Ihre REST-, OpenAPI- und GraphQL-APIs mit einem API-Gateway in die Produktion überführen, einschließlich Kontingente und Ratenbeschränkungen, Authentifizierung und Autorisierung, Transformation und zwischengespeicherte Antworten.
Azure Application Gateway Wird für den regionalen Lastenausgleich (OSI-Schicht 7) verwendet. Sie kann verwendet werden, um Datenverkehr basierend auf URL-Pfad- oder Hostheadern weiterzuleiten und unterstützt SSL-Offloading-, cookiebasierte Sitzungsaffinitäts- und WAF-Funktionen (Web Application Firewall).
Azure Front Door Wird für den globalen Lastenausgleich (OSI-Schicht 7) verwendet, um ein globales zwischengespeichertes und sicheres Netzwerk für Ihre statischen und dynamischen Ressourcen bereitzustellen, einschließlich DDoS-Schutz, End-to-End-TLS-Verschlüsselung, Anwendungsfirewalls und Geofilterung.
Azure Traffic Manager Wird verwendet, um den Datenverkehr über DNS (OSI-Schicht 7) auf Ihre öffentlich zugänglichen Anwendungen in den weltweiten Azure-Regionen zu verteilen. Traffic Manager verwendet DNS, um die Clientanforderungen auf der Grundlage einer Datenverkehrsrouting-Methode an den passenden Dienstendpunkt weiterzuleiten. Es unterstützt verschiedene Datenverkehrsroutingmethoden wie Priorität, Leistung und geografisches Routing. Es ist ideal für die Verwaltung des Datenverkehrs über mehrere Regionen oder Rechenzentren hinweg.

Automatisiertes Rechnen

Die automatisierte Berechnung wird von einem Ereignis wie einem zeitgesteuerten Zeitplan oder einem anderen Azure-Dienst automatisiert und wird in der Regel für Hintergrundverarbeitung, Batchverarbeitung oder lange ausgeführte Prozesse verwendet.

Dienst Verwendung
Power Automate Verwenden Sie diese Vorgehensweise, wenn Sie Geschäftsprozesse und Workflows automatisieren müssen.
Azure Functions Verwenden Sie diese Vorgehensweise, wenn Sie Code basierend auf einem zeitlich festgelegten Zeitplan oder als Reaktion auf Ereignisse in anderen Azure-Diensten ausführen müssen.
Containerdienste (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) Verwendung für automatisierbare Standardworkloads
Azure Batch Verwenden Sie diese Anwendung, wenn Sie eine leistungsstarke Automatisierung benötigen.

Hybrid Cloud

Ein Hybrid-Cloud ist eine Computerumgebung, die die privaten Cloud-Dienste eines Unternehmens vor Ort mit der öffentlichen Cloud eines Drittanbieters in einer einzigen flexiblen Infrastruktur verbindet, um die Anwendungen und Workloads der Organisation auszuführen.

Dienst Verwendung
Azure Arc Verwenden Sie, wenn Sie Ihre gesamte Umgebung verwalten müssen, sowohl Cloud- als auch lokale Ressourcen, einschließlich Sicherheit, Governance, Bestand und Verwaltung.

Wenn Sie ihre eigene Infrastruktur nicht verwalten müssen, verwenden Sie Azure Stack HCI, um virtuelle Computer lokal auszuführen.

Hochleistungsrechnen

High-Performance Computing (HPC) ist die Verwendung paralleler Verarbeitung für die effiziente, zuverlässige und schnelle Ausführung erweiterter Anwendungsprogramme. Der Begriff gilt insbesondere für Systeme, die mit einer Leistung von mehr als einem Teraflop oder 10^12 Fließkommaoperationen pro Sekunde arbeiten.

Dienst Verwendung
Azure Batch Azure Batch erstellt und verwaltet einen Pool mit Rechenknoten (virtuelle Computer), installiert die Anwendungen, die Sie ausführen möchten, und plant Aufträge zur Ausführung auf ihnen. Entwickler können Batch als Plattformdienst verwenden, um SaaS-Anwendungen oder Client-Apps zu erstellen, für die große Mengen von Ausführungen erforderlich sind.
Azure BareMetal-Instanzen Verwenden Sie diese Funktion, wenn Sie in einer nicht virtualisierten Umgebung mit Zugriff auf Root-Ebene das Betriebssystem, den Speicher und das Netzwerk ausführen müssen.
Azure Quantum-Arbeitsbereich Verwenden Sie diese Anwendung, wenn Sie Quantenalgorithmen entwickeln und experimentieren müssen.
Microsoft Genomics Verwendung für ISO-zertifizierte, HIPAA-kompatible genomische Verarbeitung.

Weitere Informationen finden Sie unter High-Performance Computing in Azure.

Ereignisbasiertes Computing

Ereignisbasierte Berechnung ist eine Berechnung, die durch ein Ereignis wie einen zeitlich festgelegten Zeitplan oder einen anderen Azure-Dienst ausgelöst wird. Ereignisbasiertes Computing wird in der Regel für Hintergrundverarbeitung, Batchverarbeitung oder lange ausgeführte Prozesse verwendet.

Dienst Verwendung
Microsoft Copilot Studio Verwenden Sie dies, wenn Sie Chatbots mit einer No-Code-Schnittstelle erstellen möchten.
Azure Functions Verwenden Sie diese Vorgehensweise, wenn Sie Code basierend auf einem zeitlich festgelegten Zeitplan oder als Reaktion auf Ereignisse in anderen Azure-Diensten ausführen müssen.
Azure Service Bus-Nachrichtenübermittlung Verwenden Sie diese Funktion, wenn Sie Anwendungen und Dienste entkoppeln müssen.

CI/CD-Rechenbetrieb

CI/CD-Computing bezieht sich auf Rechenleistung, die zum Erstellen und Implementieren Ihrer Anwendung verwendet wird.

Dienst Beschreibung
Azure DevOps Verwenden Sie Azure DevOps für eine enge Integration in die Azure-Cloud, einschließlich Authentifizierung und Autorisierung für die gehosteten Agents, die Ihre Anwendung erstellen und bereitstellen.
GitHub Actions Verwenden Sie GitHub Actions, um Ihre GitHub-Repository-Anwendungen zu erstellen und bereitzustellen. Verwenden Sie die Azure CLI, um sicher auf Azure innerhalb der Aktion zuzugreifen.
Azure Virtual Machines Wenn Sie ein anderes CI/CD-System verwenden, können Sie Azure Virtual Machines verwenden, um Ihr CI/CD-System zu hosten.

Java-Ressourcen

  • Java-Hostingoptionen
  • Migration von Java bei Azure

Zusätzliche Ressourcen

  • Azure Architecture Center: Wählen Sie einen Azure-Computerdienst

Weiter mit Teil 4: Verbinden Ihrer App mit Azure-Diensten