Von OTRS zu Zammad – 50.000 Tickets finden ein neues Zuhause
Der Wechsel von OTRS zu Zammad ist für viele Organisationen mehr als nur ein technisches Upgrade – es ist ein Schritt hin zu einer souveränen, modernen und hochverfügbaren Ticketing-Infrastruktur. In diesem Blogpost beschreiben wir detailliert, wie wir eine Migration von 50.000 Tickets von einer nicht-hochverfügbaren OTRS 6 Instanz auf eine in Kubernetes betriebene self-hosted Zammad-Instanz erfolgreich umgesetzt haben.
Der Wechsel von OTRS zu Zammad ist für viele Organisationen mehr als nur ein technisches Upgrade – es ist ein Schritt hin zu einer souveränen, modernen und hochverfügbaren Ticketing-Infrastruktur. In diesem Blogpost beschreiben wir detailliert, wie wir eine Migration von 50.000 Tickets von einer nicht-hochverfügbaren OTRS 6 Instanz auf eine in Kubernetes betriebene self-hosted Zammad-Instanz erfolgreich umgesetzt haben.
Wir gehen dabei sowohl auf die technischen Vorbereitungen ein, als auch auf Herausforderungen, Best Practices und konkrete Handlungsempfehlungen für alle, die eine ähnliche Reise planen.
Warum von OTRS zu Zammad?
OTRS ist seit vielen Jahren ein Standard im Helpdesk-Umfeld, aber viele Unternehmen stoßen mit OTRS 6 an Grenzen: fehlende moderne UI, eingeschränkte Skalierungsoptionen und oftmals eine mangelnde Hochverfügbarkeit. Zammad hingegen bietet:
Moderne Architektur: Rails, Websockets, Elasticsearch
Skalierbarkeit: Sehr gut für containerisierte Umgebungen geeignet
Community und Open Source: Lebendige Entwicklung, transparente Weiterentwicklung
Nahtlose Migration: Mit offiziellen Migrator-Plugins
Gerade im Kontext von Cloud-native Umgebungen und Kubernetes spielt Zammad seine Stärken aus. Mit dem offiziellen Helm Chart für Zammad lässt sich eine Instanz nicht nur schnell bereitstellen, sondern auch resilient, hochverfügbar und skalierbar betreiben.
Ausgangssituation
Altsystem: OTRS 6, single-node, keine Hochverfügbarkeit
Zielsystem: Zammad in Kubernetes mit Helm Chart, hochverfügbar
Datenvolumen: ca. 50.000 Tickets
Die Herausforderung: Eine Migration dieser Größe lässt sich nicht über die Zammad-Weboberfläche durchführen. Die UI-Import-Funktion ist für kleinere Umfänge geeignet, bei fünfstelligen Ticketzahlen stößt man jedoch an Grenzen.
Die Lösung: Migration über das OTRS-Migrator-Plugin und die Zammad Rails-Konsole.
Import vorbereiten
1. OTRS vorbereiten
Damit OTRS die nötigen Daten für Zammad bereitstellen kann, müssen zwei Plugins installiert werden:
Wie die Installation von Packages in OTRS funktioniert, ist hier beschrieben: OTRS Package Manager.
Nach der Installation stellt OTRS eine API-Schnittstelle für den Migrator bereit, die Zammad später abruft.
2. Zammad vorbereiten
Unsere Zammad-Instanz wird in Kubernetes mit dem Zammad Helm Chart betrieben. Um den Import zu starten, benötigen wir Zugriff auf den zammad-railsserver Pod:
kubectl exec -it <zammad-railsserver-pod> -- /bin/bash rails c
In der sich öffnenden Rails-Konsole konfigurieren wir die Import-Parameter:
Anschließend empfiehlt es sich, den zammad-init Pod neu zu starten:
helm upgrade <release-name> zammad/zammad
Der zammad-init Pod übernimmt die Reindexierung in Elasticsearch, was bei größeren Ticketmengen einige Zeit in Anspruch nehmen kann. Erst danach steht die volle Suchfunktionalität in Zammad bereit.
Lessons Learned
Planung ist alles: Vor allem die Dimensionierung der Ressourcen entscheidet über Erfolg oder Frust bei der Migration.
Clean Start statt Dirty Import: Eine frische Zammad-Instanz ist die sauberste Basis für einen Import. Versuche, in eine bereits produktive Instanz zu importieren, führen meist zu Inkonsistenzen.
Monitoring im Blick behalten: Während des Imports laufen Elasticsearch und PostgreSQL unter Volllast. Ohne Monitoring (CPU, RAM, Disk IO) ist man blind.
Zeit einplanen: Der Import von 50.000 Tickets dauert – je nach Hardware und Datenstruktur – mehrere Stunden. Das muss in die Migrationsplanung eingehen.
Ausblick
Für viele Organisationen ist der Umstieg auf Zammad der erste Schritt in Richtung einer vollständig cloud-native IT-Service-Landschaft. Die nächsten logischen Schritte können sein:
Automatisierte Backups & Disaster Recovery für PostgreSQL und Elasticsearch
Skalierung von Zammad in Kubernetes über horizontales Pod-Autoscaling
Integration mit externen Systemen (z. B. LDAP, SSO, Monitoring)
Souveräne Cloud-Strategien: Betrieb in europäischen Infrastrukturen, kombiniert mit Open-Source-Technologien
Hosten Sie Ihre Apps bei ayedo
Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.
Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →
Noch Fragen? Melden Sie sich!
Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.
Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.