Hosten von Anwendungen in Azure
Azure bietet verschiedene Möglichkeiten, Ihre Anwendung je nach Ihren Anforderungen zu hosten. In diesem Artikel werden Dienste vorgeschlagen, die den Anforderungen entsprechen. Es ist nicht proscriptiv. Sie können Dienste kombinieren und aufeinander abstimmen, um Ihren Anforderungen gerecht zu werden. Die meisten Produktionsumgebungen verwenden eine Kombination von Diensten, um ihren Geschäftlichen und organisatorischen Anforderungen gerecht zu werden.
Einfachheit und Kontrolle
Azure-Hostingdienste werden mit zwei Überlegungen bereitgestellt:
- Einfachheit im Vergleich zu Steuerelementen
- Einfache Hostingplattformen erfordern weniger Konfiguration und Verwaltung, bieten jedoch weniger Kontrolle über die zugrunde liegende Infrastruktur.
- Komplexere Hostingplattformen erfordern mehr Konfiguration und Verwaltung, bieten jedoch mehr Kontrolle über die zugrunde liegende Infrastruktur.
- Cloudnativ im Vergleich zu Azure-nativen
- Cloudnativ kann man sich als cloud-portierbar mit Open-Source-Workloads wie Containern und Open-Source-Technologien wie Dapr überlegen. Die von Ihnen erstellten Anwendungen können für jeden Cloudanbieter bereitgestellt werden.
- Azure-native ist spezifisch für Azure mit einer Investition in Azure-spezifische Tools und Technologien zur Verwaltung dieser Infrastruktur. Während diese Dienste Containerworkloads enthalten, umfassen sie auch Code-first-, Low-Code- und Infrastrukturtools speziell für Azure, wobei der Schwerpunkt auf der Verbindung und Integration zwischen Azure-Diensten liegt.
Vereinfachtes Hosting
Vereinfachte Hostinglösungen werden vollständig von Azure verwaltet. Sie sind für die Funktionalität wie Code- und Umgebungskonfiguration verantwortlich. Azure verwaltet die zugrunde liegende Laufzeit und Infrastruktur, einschließlich Updates und Patches. Vereinfachtes Hosting ist der azure-native Ansatz.
- Logik-Apps: Erstellen und Ausführen automatisierter Workflows ohne Code.
- Power Automate: Verwenden Sie diese Anwendung, wenn Sie Geschäftsprozesse und Workflows automatisieren müssen.
- Azure Static Web-Apps: Bereitstellen generierter statischer Web-Apps wie Blazor und React.
- Azure Functions Apps: serverloses Code- oder Containerhosting.
Ausgewogenes Hosting
Ausgewogene Hostinglösungen nutzen die Notwendigkeit der Einfachheit mit der Notwendigkeit der Kontrolle. Sie sind für die Funktionalität 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 in den Dienst bringen. Ausgewogenes Hosting ist sowohl azure-native als auch Cloud-native.
- Azure-App-Dienst: Full-Service-Webhosting, einschließlich Sprachlaufzeiten, Containern und Automatisierungsworkloads.
- Azure-Container-Apps: Serverloses Containerhosting.
- 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 und Patches sowie ihre Code-, Ressourcen- und Umgebungskonfiguration verantwortlich. Kontrolliertes Hosting ist der cloudeigene Ansatz.
- Virtuelle Azure-Computer: Vollzugriff auf vm.
- Azure Kubernetes Service: Vollzugriff auf Kubernetes-Cluster.
Quellcodehosting
Für Entwickler, die mit Azure neu beginnen möchten, verwenden Sie das folgende Diagramm, um die vorgeschlagene Hostinglösung zu finden.
Kein Code oder niedriger Code
Azure-Support s no-code solutions are part of its Azure-Cloud approach.
- Logik-Apps: Verwenden Sie einen visuellen Designer mit vordefinierten Vorgängen, um einen Workflow für Ihre Unternehmens- und Geschäftsszenarien zu entwickeln.
- Power Automate wie Power Apps: Verwenden Sie diese Möglichkeit, um Geschäftsprozesse und Workflows innerhalb der Microsoft 365-Organisation zu automatisieren.
Code im Vergleich zum Container
Hostinglösungen mit geringem Code 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 die Anwendungsinfrastruktur verwalten zu müssen.
Code-first-Hostinglösungen sind für hosten Code konzipiert. Sie können Ihren Code direkt in der Hostinglösung bereitstellen.
- Azure-App Service: Full-Service-Webhosting.
- Azure Spring Apps: Spring Boot-Anwendungen.
Container-first Hosting-Lö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 Berechnung verantwortlich. Die Dienste, die Container hosten, werden von der verwalteten Kontrolle in die volle Verantwortung verschoben, sodass Sie nur die gewünschte Containerverwaltung übernehmen.
Kubernetes-zentriertes Orchestrierungshosting umfasst:
Dienst | Fokus | Verwenden |
---|---|---|
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 clustern Computern. Es stellt ein Programmiermodell bereit, mit dem Entwickler Code schreiben können, der den gewünschten Zustand des Systems beschreibt, und die Service Fabric-Laufzeit kümmert sich um die Übereinstimmung des Systems mit diesem Zustand. |
Vorkonfiguriertes Containerhosting bedeutet, dass die Orchestrierungsoptionen für Sie vorkonfiguriert sind. Ihre Fähigkeit zur Kommunikation zwischen Containern oder Containerclustern erfordert möglicherweise einen zusätzlichen Dienst wie Dapr.
Dienst | Verwenden |
---|---|
Azure App Service | Full-Service-Webhosting |
Azure Spring Apps | Spring Boot-Anwendungen |
Azure Container Apps | Serverloses Containerhosting |
Azure Container Instances | einfaches, einzelnes Containerhosting |
Azure stellt eine Containerregistrierung zum Speichern und Verwalten Ihrer Containerimages bereit, oder Sie können eine Containerregistrierung eines Drittanbieters verwenden.
Dienst | Verwenden |
---|---|
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
Serverlose Hostinglösungen sind so konzipiert, dass zustandsloser Code ausgeführt wird, der eine verbrauchsbasierte Preisstufe enthält, die bei Verwendung auf Null skaliert wird.
Dienst | Verwenden |
---|---|
Azure Container Apps | Containerhosting. |
Azure-Funktionen | Code oder Containerhosting. |
Microservices
Microservices-Hostinglösungen sind so konzipiert, dass kleine, unabhängige Dienste ausgeführt werden, die zusammenarbeiten, um eine größere Anwendung zu bilden. Microservices werden in der Regel als Container bereitgestellt.
Dienst | Verwenden |
---|---|
Azure Container Apps | Wird für serverlose containerisierte Microservices verwendet. |
Azure-Funktionen | Wird für serverlosen Code oder containerisierte Microservices verwendet. |
Cloud-Edge
Cloud-Edge ist ein Begriff, der angibt, ob sich der Clouddienst befindet, um dem Benutzer (Client) oder der Anwendung (Server) zu profitieren.
Client compute
Client compute is compute that runs on the client away from the Azure cloud. Client compute is typically used for client-side rendering and client-side processing such as browser-based or mobile applications.
Dienst | Verwenden |
---|---|
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 | Verwenden |
---|---|
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 compute
Server compute assets are files that are processed by the server before being served to the client. Dynamische Ressourcen werden mithilfe der Back-End-Server-Compute entwickelt, optional in andere Azure-Dienste integriert.
Dienst | Verwenden |
---|---|
Azure App Service | Verwenden Sie diesen Dienst für typisches Webhosting. Dies unterstützt eine vielzahl von Funktionen-API-Endpunkten, Vollstapelanwendungen und Hintergrundaufgaben. Dieser Dienst enthält viele Programmiersprachenlaufzeiten sowie die Möglichkeit, Ihren eigenen Stapel, Ihre Sprache oder Workload aus einem Container bereitzustellen. |
Azure-Funktionen | 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 | Wird verwendet, um Spring Boot-Anwendungen ohne Codeänderungen bereitzustellen. |
Azure Container Apps | Wird verwendet, 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 Container-Orchestrierung benötigen. |
Azure Kubernetes Service (AKS) | Verwenden Sie diesen Dienst, wenn Sie einen Kubernetes-Cluster benötigen. Die Steuerebene zum Verwalten des Clusters wird erstellt und für Sie ohne zusätzliche Kosten bereitgestellt. |
Serverendpunktverwaltung
Die Serverendpunktverwaltung ist die Möglichkeit, Ihren Serverendpunkt und seine Berechnung über ein Gateway zu verwalten. Dieses Gateway bietet Funktionen wie Versionsverwaltung, Zwischenspeichern, Transformation, API-Richtlinien und Überwachung.
Dienst | Verwenden |
---|---|
Azure API Management | Verwenden Sie diesen Dienst, wenn Sie Ihre REST-, OpenAPI- und GraphQL-APIs mit einem API-Gateway produktisieren, einschließlich Kontingente und Ratenbeschränkungen, Authentifizierung und Autorisierung, Transformation und zwischengespeicherte Antworten. |
Azure Application Gateway | Wird für den regionalen Lastenausgleich (OSI-Ebene 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 Layer 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 für die Verteilung von Datenverkehr nach DNS (OSI Layer 7) an Ihre öffentlich zugänglichen Anwendungen in den globalen Azure-Regionen verwendet. 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. |
Automatisierte Berechnung
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 | Verwenden |
---|---|
Power Automate | Verwenden Sie diese Vorgehensweise, wenn Sie Geschäftsprozesse und Workflows automatisieren müssen. |
Azure-Funktionen | 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 standardautomatierbare Workloads |
Azure Batch | Verwenden Sie diese Anwendung, wenn Sie eine leistungsstarke Automatisierung benötigen. |
Hybrid Cloud
Hybrid cloud is a computing environment that connects a company's on-premises private cloud services and third-party public cloud into a single, flexible infrastructure for running the organization's applications and workloads.
Dienst | Verwenden |
---|---|
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 Standard müssen, können Sie Azure Stack HCI verwenden, um virtuelle Computer lokal auszuführen.
High Performance Computing
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 über einem Teraflop oder 10^12 Gleitkommaoperationen pro Sekunde funktionieren.
Dienst | Verwenden |
---|---|
Azure Batch | Azure Batch erstellt und verwaltet einen Pool mit Computeknoten (virtuelle Computer), installiert die Anwendungen, die Sie ausführen möchten, und plant Aufträge für die Ausführung auf den Knoten. 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 nichtvirtualisierten Umgebung mit Zugriff auf die Stammebene auf das Betriebssystem, den Speicher und das Netzwerk ausgeführt werden 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. |
Erfahren Sie mehr über High-Performance Computing in Azure.
Ereignisbasierte Berechnung
Die ereignisbasierte Berechnung wird berechnet, die von einem Ereignis wie einem zeitgesteuerten Zeitplan oder einem anderen Azure-Dienst ausgelöst wird. Ereignisbasierte Compute wird in der Regel für Hintergrundverarbeitung, Batchverarbeitung oder lange ausgeführte Prozesse verwendet.
Dienst | Verwenden |
---|---|
Power Virtual Agents | Verwenden Sie diese Anwendung, wenn Sie Chatbots mit einer Code-Schnittstelle erstellen müssen. |
Azure-Funktionen | 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-Messaging | Verwenden Sie diese Funktion, wenn Sie Anwendungen und Dienste entkoppeln müssen. |
CI/CD Compute
CI/CD compute is compute that is used to build and deploy your application.
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-Aktionen | Verwenden Sie GitHub-Aktionen, um Ihre GitHub-Repositoryanwendungen zu erstellen und bereitzustellen. Verwenden Sie die Azure CLI, um sicher auf Azure innerhalb der Aktion zuzugreifen. |
Dokumentation zu virtuellen Computern | Wenn Sie ein anderes CI/CD-System verwenden, können Sie Azure Virtual Machines verwenden, um Ihr CI/CD-System zu hosten. |
Java-Ressourcen
Zusätzliche Ressourcen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für