Anwendungsentwicklung und Bereitstellung
Untersuchen Sie Muster und Vorgehensweisen für die Anwendungsentwicklung, konfigurieren Sie Azure Pipelines, und implementieren Sie bewährte Methoden für Websitezuverlässigkeits-Engineering (Site Reliability Engineering, SRE). SRE ist ein Softwareentwicklungsansatz für Anwendungsentwicklung und -bereitstellung, Change Management, Überwachung und Notfallreaktion.
Planen, Trainieren und Prüfen
Verwenden Sie die Prüfliste und die Anwendungsentwicklungsressourcen in den folgenden Abschnitten, um die Anwendungsentwicklung und -bereitstellung zu planen. Sie sollten diese Fragen beantworten können:
- Haben Sie Ihre Anwendungsentwicklungsumgebung und den Setupworkflow vorbereitet?
- Wie strukturieren Sie den Projektordner, um die Kubernetes-Anwendungsentwicklung zu unterstützen?
- Haben Sie für Ihre Anwendung den Status, die Konfiguration und die Speicheranforderungen ermittelt?
SRE-Prüfliste
Vorbereiten Ihrer Entwicklungsumgebung: Konfigurieren Sie Ihre Umgebung mit den Tools zum Erstellen von Containern und zum Einrichten des Entwicklungsworkflows.
Weitere Informationen finden Sie unter
Containerisieren Ihrer Anwendung: Machen Sie sich mit der gesamten Kubernetes-Entwicklungsumgebung vertraut, z. B. Anwendungsgerüst, Inner Loop-Workflows, Frameworks für die Anwendungsverwaltung, CI/CD-Pipelines, Protokollaggregation, Überwachung und Anwendungsmetriken.
Weitere Informationen finden Sie unter:
- Schneller Einstieg in Kubernetes
- Containerize Your Applications with Kubernetes on Azure (Webinar) (Containerisieren Ihrer Anwendungen mit Kubernetes in Azure (Webinar))
Gängige Kubernetes-Szenarien: Kubernetes wird häufig als Plattform für die Bereitstellung von Microservices betrachtet, aber die Entwicklung geht in Richtung einer umfassenderen Plattform. Weitere Informationen zu gängigen Kubernetes-Szenarien (z. B. Batchanalysen und Workflows) finden Sie unter Übersicht über häufige Szenarien für die Verwendung von Kubernetes (Video).
Vorbereiten Ihrer Anwendung für Kubernetes: Bereiten Sie Ihr Anwendungsdateisystem-Layout für Kubernetes vor, und organisieren Sie wöchentliche oder tägliche Releases. Informieren Sie sich, wie durch den Kubernetes-Bereitstellungsprozess zuverlässige Upgrades ohne Ausfallzeit ermöglicht werden.
Weitere Informationen finden Sie unter
Verwalten des Anwendungsspeichers: Machen Sie sich mit den Leistungsanforderungen und Zugriffsmethoden für Pods vertraut, damit Sie die entsprechenden Speicheroptionen zur Verfügung stellen können. Planen Sie Möglichkeiten zur Sicherung und zum Testen des Wiederherstellungsprozesses für angefügten Speicher.
Weitere Informationen finden Sie unter:
Verwalten von Anwendungsgeheimnissen: Verwenden Sie einen Schlüsseltresor, um Schlüssel und Anmeldeinformationen zu speichern und abzurufen. Speichern Sie Anmeldeinformationen nicht in Ihrem Anwendungscode.
Weitere Informationen finden Sie unter
Bereitstellen für die Produktion und Anwendungen von bewährten Methoden
Verwenden Sie die folgende Prüfliste, während Sie die Anwendung für die Produktion vorbereiten. Sie sollten diese Fragen beantworten können:
- Können Sie alle Aspekte Ihrer Anwendung überwachen?
- Haben Sie Ressourcenanforderungen für Ihre Anwendung definiert? Welche Skalierungsanforderungen bestehen?
- Können Sie neue Versionen der Anwendung bereitstellen, ohne dass sich Auswirkungen auf Produktionssysteme ergeben?
Prüfliste für bewährte SRE-Methoden
Konfigurieren von Integritätsprüfungen in Bezug auf die Bereitschaft und den Livezustand: In Kubernetes werden Bereitschafts- und Livetests durchgeführt, damit Sie wissen, wann Ihre Anwendung für den Empfang von Datenverkehr bereit ist und wann sie neu gestartet werden muss. Wenn Sie keine Überprüfungen definieren, kann Kubernetes nicht ermitteln, ob Ihre Anwendung ausgeführt wird. Weitere Informationen finden Sie unter Configure Liveness, Readiness and Startup Probes (Konfigurieren von Live-, Bereitschafts- und Starttests).
Konfigurieren von Protokollierung, Anwendungsüberwachung und Warnungen: Die Überwachung Ihrer Container ist vor allem dann entscheidend, wenn Sie einen umfangreichen Produktionscluster mit mehreren Anwendungen ausführen. Das empfohlene Protokollierungsverfahren für containerisierte Anwendungen ist das Schreiben in die Standardausgabe- (
stdout
) und Standardfehlerstreams (stderr
).Weitere Informationen finden Sie unter
- Protokollierung in Kubernetes
- Erste Schritte mit Überwachung und Warnungen für Kubernetes (Video)
- Azure Monitor für Container
- Aktivieren und Überprüfen von Protokollen der Kubernetes-Steuerungsebene in Azure Kubernetes Service (AKS)
- Anzeigen von Kubernetes-Protokollen, -Ereignissen und -Podmetriken in Echtzeit
Definieren der Ressourcenanforderungen für die Anwendung: Eine primäre Methode zum Verwalten der Computeressourcen in einem Kubernetes-Cluster ist die Verwendung von Podanforderungen und -grenzwerten. Anhand dieser Anforderungen und Grenzwerte können Kubernetes-Planer*innen sehen, welche Computeressourcen einem Pod zugewiesen werden sollten. Weitere Informationen finden Sie unter Definieren von Podressourcenanforderungen und -grenzwerten.
Konfigurieren der Skalierungsanforderungen für Anwendungen: Kubernetes unterstützt die automatische horizontale Skalierung von Pods, um die Anzahl von Pods in einer Bereitstellung je nach CPU-Nutzung und anderen ausgewählten Metriken anzupassen. Um die automatische Skalierungsfunktion zu verwenden, müssen für alle Container in Ihren Pods CPU-Anforderungen und -Grenzwerte definiert sein. Weitere Informationen finden Sie unter Automatisches Skalieren von Pods.
Stellen Sie Anwendungen mit einer automatisierten Pipeline und DevOps bereit. Die vollständige Automatisierung aller Schritte vom Codecommit bis zur Bereitstellung für die Produktion ermöglicht Teams die Konzentration auf die Codeerstellung und beseitigt den Mehraufwand und die potenzielle Anfälligkeit für menschliche Fehler bei manuellen Schritten. Die Bereitstellung von neuem Code ist schneller und weniger risikobehaftet, sodass Teams Code flexibler, produktiver und sicherer ausführen können.
Weitere Informationen finden Sie unter:
Optimieren und Skalieren
Nachdem sich die Anwendung nun in der Produktion befindet, verwenden Sie die Prüfliste für die Anwendungsbereitstellung, um Ihren Workflow zu optimieren und Ihre Anwendung und Ihr Team auf die Skalierung vorzubereiten. Sie sollten diese Fragen beantworten können:
- Werden von Ihrer Anwendung übergreifende Anwendungsaspekte abstrahiert?
- Können Sie die System- und Anwendungszuverlässigkeit aufrechterhalten, während neue Features und Versionen durchlaufen werden?
Prüfliste für die Anwendungsbereitstellung
Bereitstellen eines API-Gateways: Ein API-Gateway dient als Einstiegspunkt für die Microservices, entkoppelt Clients von Ihren Microservices, fügt eine weitere Sicherheitsebene hinzu und verringert die Komplexität Ihrer Microservices, da die Behandlung von bereichsübergreifenden Problemen entfällt. Weitere Informationen finden Sie unter Verwenden von API Management mit in Azure Kubernetes Service bereitgestellten Microservices.
Bereitstellen eines Dienstnetzes: Ein Dienstnetz bietet Funktionen für Ihre Workloads für die Bereiche Datenverkehrsverwaltung, Resilienz, Richtlinien, Sicherheit, sichere Identität und Einblick. Ihre Anwendung ist von diesen betriebsbezogenen Funktionen abgekoppelt, und sie werden vom Dienstnetz von der Anwendungsebene herunter auf die Infrastrukturebene verschoben.
Weitere Informationen finden Sie unter
Implementieren Sie SRE-Praktiken. SRE ist ein bewährter Ansatz, der die entscheidende System- und Anwendungszuverlässigkeit beibehält und mit der am Markt erforderlichen Geschwindigkeit Schritt hält.
Weitere Informationen finden Sie unter: