Wartungsprozess
Dieser Wartungsprozess beschreibt die Verfahren und Richtlinien, um die Zuverlässigkeit, Sicherheit und Performance der SaaS-Lösung Bubble Chat sicherzustellen.
Verantwortlichkeiten DevOps-Team
- Entwicklung und Pflege der Bubble Chat-Module.
- Behebung von Fehlern und Einspielen von Updates.
- Verwaltung der Build- und Deployment-Pipelines.
- Überwachung der Dienste und Infrastruktur.
- Regelmässige Sicherheitsüberprüfungen (z. B. Snyk).
- Implementierung von Schutzmassnahmen und Sicherheitsupdates.
Infrastruktur und Code-Verwaltung
Monorepo und Git-Repositories
- Bubble Chat-Module:
- Werden in einem Monorepo in Bitbucket verwaltet.
- Versionen der Module werden über semantisches Versionieren gekennzeichnet (z. B. v1.2.3).
- Chatbots:
- Jeder Chatbot hat ein eigenes Git-Repository in Bitbucket.
- Das Chatbot-Repository definiert, welche Modulversionen verwendet werden.
Build- und Deployment-Pipeline
Jede Änderung im Chatbot-Repository löst eine Bitbucket-Pipeline aus, die:
- Den Code baut.
- Tests ausführt (Unit- und Integrationstests).
- Die neue Version des Chatbots ohne Unterbrechung für die Nutzer in Kubernetes bereitstellt.
Automatisierte Updates
- Ein Script ermöglicht das automatische Aktualisieren aller Chatbots auf die neuesten Versionen der Bubble Chat-Module.
- Updates werden bei Verfügbarkeit neuer Funktionen oder Korrekturen durchgeführt.
- Es können mehrmals täglich Updates erfolgen.
Regelmässige Wartung
Tägliche Aufgaben
- Überwachung der Dienste mit Uptime Robot:
- Sicherstellen einer Verfügbarkeit von mindestens 99,9 %.
- Analyse der Logs in Papertrail:
- Automatische Weiterleitung von Fehlern an einen dedizierten Slack-Channel.
- Sofortige Reaktion auf kritische Fehler.
Wöchentliche Aufgaben
- Bibliotheken und Abhängigkeiten:
- Mindestens einmal wöchentlich überprüfen und aktualisieren.
- Verwendung von Tools wie Snyk zum Identifizieren von Schwachstellen.
- Tests:
- Sicherstellen, dass alle automatisierten Tests erfolgreich durchlaufen werden.
Monatliche Aufgaben
- Überprüfung der Kubernetes-Infrastruktur:
- Optimierung der Ressourcennutzung.
- Testen von Skalierungsfähigkeit und Failover-Mechanismen.
- Review des Deployment-Scripts:
- Sicherstellen, dass Updates effizient und fehlerfrei ausgeführt werden.
Sicherheitsüberprüfungen
Regelmässige Scans
- Snyk:
- Identifizierung und Behebung von Schwachstellen im Code.
- Automatische Benachrichtigungen bei kritischen Sicherheitsproblemen.
- Abhängigkeiten:
- Alle genutzten Bibliotheken werden mindestens wöchentlich auf Sicherheitsupdates geprüft.
Incident Response
- Kritische Sicherheitsvorfälle werden sofort an das Team eskaliert.
- Einspielen von Patches oder Workarounds innerhalb eines Arbeitstages.
Kommunikationsprozess
Interne Kommunikation
- Slack-Channel:
- Logs und Fehler werden automatisiert in einen Slack-Channel gepostet.
- Teammitglieder erhalten Benachrichtigungen bei kritischen Problemen.
- Trello:
- Alle Funktionen und Bugfixes werden in Trello dokumentiert.
Kundenkommunikation
- Geplante Wartungsarbeiten:
- Kritische Wartungsarbeiten, bei denen mit einem Unterbruch des Systems gerechnet wird, werden mindestens 48 Stunden vorher angekündigt.
- Statusseite:
- Bereitstellung einer Statusseite mit Live-Updates.
- Post-Mortem-Berichte:
- Nach grösseren Vorfällen werden Berichte an Kunden gesendet, die Ursache und Lösung erklären.