Prüfliste für die Produktionsbereitschaft

Sind Ihre Anwendung und Ihr Cluster bereit für den Produktionsdatenverkehr? Das Ausführen und Testen Ihrer Anwendung und Ihres Clusters bedeutet nicht notwendigerweise, dass Produktionsbereitschaft vorliegt. Halten Sie die Ausführung Ihrer Anwendung und Ihres Clusters reibungslos in Gang, indem Sie die folgende Prüfliste durchgehen. Wir empfehlen dringend, alle diese Punkte abzuhaken. Selbstverständlich können Sie für einen bestimmten Punkt alternative Lösungen verwenden (z. B. eigene Diagnoseframeworks).

Voraussetzungen für die Produktion

  1. Bewährte Methoden für Azure Service Fabric: Anwendungsentwurf, Sicherheit, Netzwerk, Kapazitätsplanung und Skalierung, Infrastruktur als Code und Überwachung und Diagnose.
  2. Konfigurieren Sie die FabricTransport-Einstellungen, wenn Sie das Reliable Actors-Programmiermodell verwenden und sichere Kommunikation zwischen Diensten benötigen.
  3. Erstellen Sie für Cluster mit mehr als 20 Kernen oder 10 Knoten einen dedizierten primären Knotentyp für Systemdienste. Fügen Sie Platzierungseinschränkungen hinzu, um den primären Knotentyp für Systemdienste zu reservieren.
  4. Verwenden Sie für den primären Knotentyp eine SKU des Typs D2v2 oder höher. Es wird empfohlen, eine SKU mit einer Festplattenkapazität von mindestens 50 GB auszuwählen.
  5. Produktionscluster müssen sicher sein. Ein Beispiel für das Einrichten eines sicheren Clusters finden Sie in dieser Clustervorlage. Verwenden Sie allgemeine Namen für die Zertifikate, und vermeiden Sie selbstsignierte Zertifikate.
  6. Fügen Sie Ressourceneinschränkungen für Container und Dienste hinzu, damit diese nicht mehr als 75 % der Knotenressourcen belegen.
  7. Machen Sie sich mit Dauerhaftigkeitsstufen vertraut, und legen Sie eine fest. Für Knotentypen, auf denen zustandsbehaftete Workloads ausgeführt werden, wird die Dauerhaftigkeitsstufe „Silber“ oder höher empfohlen, die für die Produktion erforderlich ist.
  8. Machen Sie sich mit Zuverlässigkeitsstufen vertraut, und legen Sie eine für den Knotentyp fest. Die Zuverlässigkeitsstufe „Silber“ oder höher wird empfohlen und ist für die Produktion erforderlich.
  9. Laden Sie Ihre Workloads, und unterziehen Sie sie Skalierungstests, um die Kapazitätsanforderungen für Ihren Cluster zu ermitteln.
  10. Ihre Dienste und Anwendungen werden überwacht und Anwendungsprotokolle mit Warnhinweisen erstellt und gespeichert. Beispiele finden Sie unter Hinzufügen von Protokollierung zur Service Fabric-Anwendung und Überwachen von Containern mit Azure Monitor-Protokollen.
  11. Der Cluster wird mit Warnungen überwacht (z. B. mit Azure Monitor-Protokollen).
  12. Die zugrunde liegende Infrastruktur von VM-Skalierungsgruppen wird mit Warnungen überwacht (z. B. mit Azure Monitor-Protokollen).
  13. Der Cluster verfügt stets über primäre und sekundäre Zertifikate (damit Sie nicht ausgesperrt werden).
  14. Für Entwicklung, Staging und Produktion werden getrennte Cluster verwaltet.
  15. Anwendungsupgrades und Clusterupgrades werden zuerst in Entwicklungs- und Stagingclustern getestet und bereitgestellt.
  16. Deaktivieren Sie automatische Upgrades in Produktionsclustern, und aktivieren Sie sie für Entwicklungs- und Staging-Cluster (Rollback nach Bedarf).
  17. Richten Sie ein Recovery Point Objective (RPO) für Ihren Dienst und einen Notfallwiederherstellungsprozess ein, und testen Sie ihn.
  18. Planen Sie die manuelle oder programmgesteuerte Skalierung Ihres Clusters.
  19. Planen Sie das Patchen der Clusterknoten.
  20. Richten Sie eine CI/CD-Pipeline ein, sodass die letzten Änderungen fortlaufend getestet werden. Beispiel für die Verwendung von Azure DevOps oder Jenkins
  21. Testen Sie Ihre Entwicklungs- und Stagingcluster unter Last mit dem Fault Analysis Service, und induzieren Sie kontrolliertes Chaos.
  22. Planen Sie die Skalierung Ihrer Anwendungen.

Wenn Sie das Programmiermodell Service Fabric Reliable Services oder Reliable Actors verwenden, müssen die folgenden Punkte abgehakt werden:

  1. Aktualisieren Sie Anwendungen während der lokalen Entwicklung, um zu überprüfen, ob Ihr Dienstcode das Annullierungstoken in der RunAsync-Methode beachtet und benutzerdefinierte Kommunikationslistener schließt.
  2. Vermeiden Sie häufige Fehlerquellen bei Verwendung zuverlässiger Sammlungen.
  3. Überwachen Sie die .NET CLR-Speicherleistungszähler, wenn Sie Lasttests durchführen, und prüfen Sie auf hohe Raten von Garbage Collection oder Ausreißer bei der Zunahme der Heapgröße.
  4. Halten Sie Offlinesicherungen von Reliable Services und Reliable Actors vor, und testen Sie den Wiederherstellungsprozess.
  5. Die Anzahl der Instanzen Ihrer primären virtuellen NodeType-Computer sollte idealerweise gleich der Mindestzahl für Ihre Clusterzuverlässigkeitsebene sein. Unter den folgenden Bedingungen ist es zulässig, das Ebenenminimum zu überschreiten: vorübergehend bei vertikaler Skalierung Ihrer SKU für Ihre VM-Skalierungsgruppe des primären virtuellen NodeTypes-Computers.

Optionale bewährte Methoden

Die obigen Listen sind Voraussetzungen für die Inbetriebnahme in der Produktion, aber auch die folgenden Punkte sollten berücksichtigt werden:

  1. Stellen Sie eine Verbindung mit dem Service Fabric-Integritätsmodell her, um die integrierte Integritätsbewertung und Berichterstellung zu erweitern.
  2. Stellen Sie einen benutzerdefinierten Watchdog bereit, der Ihre Anwendung überwacht und Last für Ressourcenausgleich meldet.

Nächste Schritte