SaaS Infrastruktur und Hosting
Die Infrastruktur und das Hosting von Bubble Chat sind so konzipiert, dass sie Skalierbarkeit, Sicherheit und Zuverlässigkeit gewährleisten. Diese Kapitel beschreibt die technischen Details der Infrastruktur, einschliesslich der Nutzung von Kubernetes, Google GKE, Load Balancer, Reverse Proxy, Datenbank, AI Services und Monitoring-Tools.
Hosting-Plattform
Kubernetes Cluster
- Der Kubernetes-Cluster wird von Google Kubernetes Engine (GKE) bereitgestellt.
- Standort: Google-Rechenzentrum in Zürich, Schweiz.
- Cluster ist auf eine Region beschränkt, um Datenschutzrichtlinien und geografische Anforderungen zu erfüllen.
Load Balancer
- Der Google Cloud Load Balancer nimmt eingehende Anfragen entgegen und leitet sie an den Reverse Proxy weiter.
- Verschlüsselung (HTTPS) wird vollständig auf dem Reverse Proxy gehandhabt, der Load Balancer verarbeitet nur verschlüsselte Datenpakete und hat keinen Zugriff auf den Klartext.
Reverse Proxy
- Läuft als eigener Pod im Kubernetes-Cluster.
- Verantwortlich für:
- Weiterleitung der Anfragen an die richtigen Chatbot-Pods.
- Erstellung der HTTPS-Verschlüsselung.
- Wartung und Updates erfolgen durch Apptiva.
CertBot und Let's Encrypt
- CertBot läuft als eigener Pod im Kubernetes-Cluster und wird von unserem Team betrieben.
- Automatisiert die Erstellung und Erneuerung von SSL-Zertifikaten, die von Let's Encrypt ausgestellt werden.
- Zertifikate werden automatisch aktualisiert, bevor sie ablaufen.
Skalierung und Ressourcenmanagement
- Ressourcenmanagement pro Pod:
- CPU und Memory werden für jeden Chatbot individuell konfiguriert.
- Horizontales und vertikales Skalieren basierend auf der Auslastung.
- Skalierbarkeit:
- Bedarfsorientierte Anpassung der Pods.
Monitoring und Protokollierung
Ressourcenüberwachung
- Google Kubernetes Engine Monitoring:
- Überwachung des Ressourcenverbrauchs (CPU, Speicher) pro Pod.
- Historische Protokollierung des Verbrauchs zur Analyse und Optimierung.
Log-Management
- Fluentd:
- Läuft als eigener Pod im Cluster.
- Liest Logs aus den Anwendungen und leitet sie an Papertrail weiter.
- Fluentd wird regelmässig durch Apptiva aktualisiert.
- Papertrail:
- Speicherung von Logs aus allen Pods des Clusters.
- Sendet Fehler von Chatbots an den
chatbots-loggerSlack Kanal.
- Google Cloud Logging:
- Zentralisierte Erfassung und Speicherung von Logs aus dem gesamten Kubernetes-Cluster.
Sicherheit und Verschlüsselung
- HTTPS-Verschlüsselung:
- Wird vollständig auf dem Reverse Proxy gehandhabt, sodass der Load Balancer keine Klartextdaten sieht.
- SSL-Zertifikate:
- Automatisiert durch CertBot und Let's Encrypt.
- Netzwerksicherheit:
- Es besteht keine Isolation der Pods durch Kubernetes-Namespaces oder Network Policies.
Datenhaltung
- MongoDB:
- Jeder Chatbot besitzt eine eigene Datenbank.
- Zugriffskontrolle durch individuelle Benutzer und Rollen.
- Daten werden regelmässig gesichert, um Datenverlust vorzubeugen. Siehe Backup-Strategie
- Datenlokalität:
- Daten verbleiben in der Region Schweiz, um Datenschutzanforderungen zu erfüllen (z. B. DSGVO).
AI Services
Die nachfolgende AI Services können je nach Chatbot individuell oder parallel genutzt werden, um massgeschneiderte Lösungen zu bieten.
- Azure AI Services:
- Bubble Chat nutzt Azure AI Services für verschiedene KI-Funktionen (primär für die Wissensdatenbank). Dazu gehören:
- OpenAI-Modelle: Verwendung von text-embedding-3-large und gpt-4o für die Verarbeitung natürlicher Sprache und andere KI-Aufgaben.
- AI Search: Jeder Chatbot hat einen eigenen Suchindex, um gezielte und effiziente Suchanfragen zu ermöglichen.
- Datenlokalität:
- Daten werden pro Chatbot in einem eigenen Suchindex in der Schweiz gespeichert.
- Je nach Sprachmodell (LLM) werden diese in der Schweiz oder in Schweden gehostet.
- Bubble Chat nutzt Azure AI Services für verschiedene KI-Funktionen (primär für die Wissensdatenbank). Dazu gehören:
Verwaltung
- Lens:
- Verwendung von Lens für die Verwaltung des Kubernetes-Clusters.
- Zugriff auf Cluster-Status, Logs und Ressourcenverbrauch über eine zentrale GUI.
Häufig gestellte Fragen
Hat der Chatbot eine Anfragelimit?
Der Chatbot ist flexibel skalierbar und es gibt keine Begrenzung für Kundenanfragen. Bei sehr grossen Projekten muss die Umsetzung jedoch genauer geprüft werden. Die Antworten werden über Azure OpenAI generiert, und bei erhöhter Nutzung des Chatbots steigen auch die damit verbundenen Kosten.
Wie lange läuft der Vertrag und wie kann ich kündigen?
Die standardmässige Vertragslaufzeit beträgt 12 Monate. Der Vertrag kann mit einer Kündigungsfrist von drei Monaten auf das Ende der jeweiligen Vertragslaufzeit gekündigt werden. Erfolgt keine fristgerechte Kündigung, verlängert sich der Vertrag automatisch um weitere 12 Monate.