Best Practices für den effizienten Betrieb von Cloud-Bereitstellungen
Vorgänge als Code ausführen
- OCI Landing Zones-Framework verwenden
Nutzen Sie die von Oracle kuratierten Blueprints mit Designrichtlinien und vorkonfigurierten Terraform IaC-Vorlagen, die für verschiedene Architekturen und Anwendungsfälle für die meisten OCI-Deployments geeignet sind.
- Infrastruktur als Code übernehmen (IaC)
Automatisieren Sie die Bereitstellung von Workloads und Betriebsverfahren, begrenzen Sie die menschliche Interaktion und verbessern Sie die Reaktion auf Ereignisse, indem Sie Infrastruktur als Code verwenden.
- Workload-Infrastruktur definieren
Wenn Sie die Infrastruktur als Code definieren, können Sie Workloads automatisch und wiederholt in einer konsistenten Infrastruktur bereitstellen. Die Parametrisierung ermöglicht die Wiederverwendung gemeinsamer Vorlagen, die Förderung der umgebungsübergreifenden Standardisierung und die Minimierung von Überarbeitungen innerhalb der Teams.
- Anwendungen entwickeln und bereitstellen
Die Automatisierung der Codebereitstellung in der vorhandenen Infrastruktur ermöglicht die Anwendungskonsistenz bei mehreren Infrastrukturbereitstellungen.
- Infrastructure-Konfiguration verwalten
Konsistenz ist bei der Konfiguration und Aktualisierung der Infrastrukturkonfiguration für mehrere Cloud-Ressourcen von entscheidender Bedeutung. Mit der Konfigurationsverwaltung ist es möglich, die Bereitstellung der Infrastrukturkonfiguration während Design, Implementierung, Tests, Patching und neuen Releases zu verwalten.
Häufige und iterative Deployments ausführen
Minimieren Sie Risiken, indem Sie beim Testen und Bereitstellen von Code Automatisierung und einen iterativen Entwicklungsprozess verwenden.
- Automatisieren Sie Ihren Anwendungsbereitstellungsprozess
Automatisieren Sie so viele Prozesse wie möglich. Wenn möglich, vermeiden Sie manuelle Bereitstellungen in der Produktion. Dies kann jedoch in niedrigeren Umgebungen akzeptabel sein, um Geschwindigkeit und Flexibilität zu fördern.
- Nutzen Sie die Automatisierung, um Ihren Code vor der Bereitstellung zu testen
Tests auf Bugs, Sicherheitslücken, Funktionalität, Performance und Integrationen sind von entscheidender Bedeutung, um Probleme zu minimieren, die Benutzer entdecken. Testfehler sollten verhindern, dass Code in die Produktion freigegeben wird.
- Iterative und inkrementelle Deployments implementieren
Reduzieren Sie Risiken, indem Sie Deployments häufiger testen und validieren. Kleinere, häufigere Änderungen können zu weniger Ausfällen und Verzögerungen bei der Erkennung von Problemen führen.
Betriebliche Prozeduren definieren
Definieren Sie Verfahren, um verfügbare Tools zu nutzen und Verfahren zu automatisieren.
- Patching und Wartung automatisieren
Nutzen Sie Tools, um Compute-Instanzen, Datenbankinstanzen und Server, die Teil Ihrer Kundenwartungsverantwortung sind, automatisch zu aktualisieren und zu patchen.
- Nutzung von Konfigurationsmanagement-Dienstprogrammen
Verwenden Sie Konfigurationsverwaltungstools, um das Risiko bei der Aktualisierung von Ressourcenkonfigurationen zu automatisieren und zu reduzieren.
- Systemperformancemetriken überwachen
Machen Sie sich mit den Metriken vertraut, die von den Infrastrukturservices bereitgestellt werden. Richten Sie Monitoring und Alerts ein, um einen Einblick in den Status aller Workloads und proaktive Fehlerindikatoren zu erhalten.
- Dokumentieren und testen Sie Ihren Disaster Recovery-Plan
Erstellen Sie einen Disaster Recovery-Plan, der die geschäftlichen Auswirkungen von Anwendungsfehlern widerspiegelt. Verstehen Sie Anwendungsabhängigkeiten und ihre Auswirkungen auf Anwendungen. Automatisieren Sie den Wiederherstellungsprozess so weit wie möglich und dokumentieren Sie alle manuellen Schritte. Testen Sie regelmäßig Ihren Disaster Recovery-Prozess, um den Plan zu validieren und zu verbessern.
- Interaktionen zur Unterstützung von Oracle Cloud Infrastructure planen
Bevor dies erforderlich ist, richten Sie einen Prozess für die Kontaktaufnahme mit dem Oracle Cloud Infrastructure-Support ein.
- FinOps-Praktiken integrieren
Integrieren Sie FinOps-Praktiken in betriebliche Verfahren, um sicherzustellen, dass das Kostenmanagement ein wesentlicher Bestandteil des täglichen Betriebs wird.
Fehler erwarten und lernen
Unerwartete Fehler treten während des gesamten Lebenszyklus einer Anwendung auf. Lernen Sie von einem Fehler und verbessern Sie die Reaktions- und Recovery-Prozesse.
- Aus Fehlern lernen
Führen Sie Ursachenanalysen durch und optimieren Sie Betriebsprozesse, um in Zukunft besser und agiler auf Fehler zu reagieren.
- Kontinuierliche Verbesserung der Reaktion auf Vorfälle
Integrieren Sie die Erkenntnisse aus Fehlern und früheren Problemen in vorhandene Verfahren zur Reaktion auf Vorfälle, um zukünftige Probleme zu vermeiden und die durchschnittliche Reparaturzeit zu reduzieren.
- Übung zum Scheitern
Testen und proben Sie regelmäßig Incident Management- und Recovery-Prozesse, um sich auf zukünftige Antworten einzustellen.
Workload-KPIs identifizieren und überwachen
Identifizieren Sie die Baseline-Performance und KPIs für Ihre Workloads. Mit den KPIs und Logs können Sie den Zustand und die Performance von Anwendungs-Workloads überwachen.
Sie sollten Folgendes zur Überwachung der Workload-Performance verwenden:
- Tracing für Serviceaufrufe implementieren
Baseline-Performancedaten können dazu beitragen, Trenddaten bereitzustellen, mit denen Sie Performanceprobleme proaktiv identifizieren können, bevor sie sich auf Benutzer auswirken.
- Health Checks implementieren
Führen Sie Health Checks und Probes regelmäßig von außerhalb der Anwendung aus, um eine Beeinträchtigung der Anwendungsintegrität und -performance zu ermitteln. Die Health Checks und Sonden sollten mehr sein als nur statische Seitentests, sie sollten den ganzheitlichen Anwendungszustand widerspiegeln.
- Workflows mit langer Ausführungszeit prüfen
Das frühzeitige Abfangen von Problemen kann die Notwendigkeit minimieren, den gesamten Workflow zurückzusetzen oder mehrere Vergütungstransaktionen auszuführen.
- Verwalten von System-, Anwendungs- und Auditlogs
Verwenden Sie einen zentralen Logging-Service, um Ihre Logs zu speichern und zu analysieren.
- Frühwarnsystem einrichten
Identifizieren Sie die Key Performance Indicators (KPIs) des Zustands einer Anwendung, z. B. vorübergehende Ausnahmen und Remote Call Latenz, und legen Sie für jede Anwendung geeignete Schwellenwerte fest. Senden Sie einen Alert an Vorgänge, wenn der Schwellenwert erreicht ist.
- Mehrere Operatoren trainieren, um die Anwendung zu überwachen und manuelle Recovery-Schritte auszuführen
Stellen Sie sicher, dass immer mindestens ein geschulter Operator aktiv ist.
- Skalierungs-Policys erstellen, die basierend auf KPIs Maßnahmen ergreifen
Mit Skalierungs-Policys können Sie für Endbenutzer in Perioden mit hohem Bedarf eine konsistente Performance bereitstellen und Ihre Kosten in Perioden mit niedrigem Bedarf reduzieren.
Verwaltete Services nutzen
Verwenden Sie verwaltete Cloud-Services, um sicherzustellen, dass Ihre Cloud-Ressourcen effizient und kostengünstig ausgeführt werden. Ihre IT-Organisation kann die taktischen und undifferenzierten Schwerpunkte im Zusammenhang mit der Verwaltung von Cloud-Ressourcen auslagern, damit sie sich auf ihre Kernkompetenzen konzentrieren können.
Zuständigkeiten identifizieren
Cloud-Provider dokumentieren, wofür ihre Plattform verantwortlich ist und wofür der Kunde verantwortlich ist. Identifizieren Sie die Verantwortlichkeiten Ihrer Kunden und stellen Sie sicher, dass Sie über operative Verfahren für jede dieser Verantwortlichkeiten verfügen.