Ich habe an mehreren Projekten gearbeitet, bei denen ich Anwendungen vom PoC in die Produktion verschoben habe.
Dies sind die Checklisten, die ich für mich und mein Team vorbereitet habe, um sicherzustellen, dass wir für die Produktion bereit sind.
Hier stehen die Checklisten im Mittelpunkt, da die Anwendung in der Programmiersprache Python vorliegt und über Kubernetes in AWS bereitgestellt wird.
Nicht alle davon sind obligatorisch, aber sie sind diejenigen, die ich am nützlichsten gefunden habe.
1. Warnungen und Metriken
- [ ] Sind Warnungen für Infrastrukturprobleme eingerichtet (z. B. erhöhte Speicher- oder CPU-Auslastung, Nichtverfügbarkeit von Diensten)?
- [ ] Sind Warnungen für kritische anwendungsspezifische Logikfehler eingerichtet?
- [ ] Können wir historische Daten (vergangene Stunden/Tage) der Infrastruktur- und Ressourcennutzung anzeigen?
- [ ] Gibt es ein Echtzeit-Überwachungs-Dashboard?
2. Dashboard und SOP
- [ ] Gibt es ein SOP-Dokument für den Umgang mit Warnungen und bekannten Problemen?
- [ ] Sind Runbooks für gängige Szenarien verfügbar?
- [ ] Gibt es einen Plan zur Reaktion auf Vorfälle?
3. Bereitschaftszuordnung und Kadenz
- [ ] Gibt es eine Zuordnung von Bereitschaftspersonen für Probleme auf Anwendungsebene?
- [ ] Gibt es eine Zuordnung von Bereitschaftspersonen für infrastrukturbezogene Probleme?
- [ ] Gibt es einen definierten Rotationsplan und eine Eskalationsrichtlinie?
4. Bereitstellung
- [ ] Wurde der entsprechende Instanztyp (GPU oder CPU) ermittelt?
- [ ] Wurde der erforderliche Servertyp angegeben?
- [ ] Gibt es Unterstützung für mehrere Verfügbarkeitszonen für Failover?
- [ ] Gibt es Unterstützung für mehrere Regionen?
- [ ] Ist die automatische Skalierung (z. B. HPA, Keda) für Traffic-Spitzen eingerichtet?
- [ ] Sind Integritätsprüfungen für den Server konfiguriert?
- [ ] Wurden Ressourcenlimits definiert und dokumentiert?
- [ ] Gibt es eine blaugrüne oder kanarische Bereitstellungsstrategie?
- [ ] Gibt es einen definierten Rollback-Plan und eine Vorgehensweise?
5. Beobachtbarkeit und Rückverfolgung
- [ ] Gibt es ein Dashboard, das relevante Metriken anzeigt (z. B. Anzahl der Anfragen, HTTP-Statuscodes, Nutzung)?
- [ ] Können wir eine einzelne Anfrage zu Debugging-Zwecken durchgängig verfolgen?
- [ ] Gibt es ein System zur Protokollaggregation und -analyse?
- [ ] Ist verteiltes Tracing implementiert?
6. Belastungstests
- [ ] Wurde eine Kapazitätsplanung durchgeführt, um die Lastverarbeitungsfähigkeiten des Servers zu bestimmen?
- [ ] Gibt es definierte Leistungsbenchmarks?
- [ ] Wurden Stresstests durchgeführt?
7. Qualität
- [ ] Gibt es automatisierte Unit-Tests?
- [ ] Gibt es automatisierte Integrationstests?
- [ ] Wird eine statische Codeanalyse (z. B. Komplexitätsprüfungen) durchgeführt?
- [ ] Ist die Codeabdeckung gemessen und auf einem akzeptablen Niveau?
- [ ] Gibt es Testfälle zur Produktionssicherheit?
- [ ] Ist eine CI/CD-Pipeline vorhanden?
- [ ] Werden regelmäßig Sicherheitsscans und Schwachstellenbewertungen durchgeführt?
8. Veröffentlichung
- [ ] Ist die Swagger/OpenAPI-Dokumentation verfügbar und aktuell?
- [ ] Gibt es ein Versionierungssystem für APIs und Releases?
- [ ] Gibt es einen etablierten Kommunikationskanal für geplante Wartungsarbeiten?
- [ ] Gibt es einen Change-Management-Prozess?
- [ ] Werden Feature-Flags für die schrittweise Einführung neuer Funktionen verwendet?
9. Notfallwiederherstellung und Geschäftskontinuität
- [ ] Sind Sicherungs- und Wiederherstellungsverfahren vorhanden und getestet?
- [ ] Gibt es eine Datenreplikationsstrategie?
- [ ] Wurden Recovery Time Objective (RTO) und Recovery Point Objective (RPO) definiert?
- [ ] Werden regelmäßige Notfallwiederherstellungsübungen durchgeführt?
10. Compliance und Sicherheit
- [ ] Werden Daten im Ruhezustand und während der Übertragung verschlüsselt?
- [ ] Sind Zugriffskontroll- und Authentifizierungsmechanismen vorhanden?
- [ ] Werden regelmäßige Sicherheitsüberprüfungen durchgeführt?
- [ ] Entspricht die Anwendung den relevanten Industriestandards (z. B. DSGVO, HIPAA)?
11. Dokumentation
- [ ] Ist die Dokumentation zur Systemarchitektur verfügbar und aktuell?
- [ ] Ist die API-Dokumentation vollständig und aktuell?
- [ ] Sind betriebliche Abläufe dokumentiert?
- [ ] Gibt es eine umfassende Anleitung zur Fehlerbehebung?