BlueMind v5: Tschüss, Cyrus IMAP!

Bis einschließlich Version 4 integrierte BlueMind Cyrus-imap, einen anerkannten Open-Source-IMAP-Server, der als Basis für den Mailserver diente.
BlueMind se sépare de Cyrus Imap

Bis einschließlich Version 4 enthielt BlueMind Cyrus IMAP, einen anerkannten Open-Source-IMAP-Server, der als Basis für den E-Mail-Server diente. Seit der Version 5, die 2024 veröffentlicht wurde, ist das anders. BlueMind hat beschlossen, diesen Baustein zu entfernen und die IMAP/POP-Messaging-Funktionen direkt in den Core (die Kernkomponente von BlueMind) zu integrieren.

Warum das so ist und wie das möglich ist, können Sie im Folgenden nachlesen.

Cyrus IMAP in BlueMind

In BlueMind 4 und früheren Versionen wird Cyrus IMAP dafür verwendet, die Standard-E-Mail-Protokolle IMAP und POP3 zu verwalten. Cyrus IMAP ist auch der Speicherserver für E-Mails. Das heißt, er speichert und verwaltet die physischen Daten der E-Mails, Anhänge, Metadaten (wie „gelesen“ oder „ungelesen“) und regelt die Datenhierarchien auf Speicherebene (HSM, Hierarchical Storage Management).

Native Outlook-Unterstützung, exklusiv bei BlueMind

BlueMind hat zum Ziel, eine souveräne Alternative aufzuzeigen und der Forderung nach einem Ausstieg aus den Microsoft-Servern nachzukommen. Deshalb bietet BlueMind exklusiv die native Unterstützung von Outlook an, ohne Outlook zu erweitern oder zu verändern – sei es auf der Ebene der GUI, der Funktionen oder des Verhaltens. Denn das ist es, was Benutzer wollen: Outlook so zu erhalten, wie es heute bei denjenigen funktioniert, die Exchange einsetzen. Das erfordert die Unterstützung der nativen Protokolle und Formate von Exchange/Outlook, also MAPI auf der Serverseite.

MAPI funktioniert wie eine Datenbank, durch Synchronisation. Die Abfragen, die Outlook durchführt, sind absolut nicht kompatibel mit der Funktionsweise und den Prinzipien eines IMAP-Servers.

Es galt, MAPI zu unterstützen und seine Anfragen, die sehr schnelles, sehr häufiges und komplexes Lesen und Schreiben erfordern, korrekt und schnell zu beantworten. Deshalb war es notwendig, den IMAP-Server Cyrus zu umgehen und die E-Mail-Daten – genauer gesagt die Metadaten und die E-Mail-Struktur – in einer Datenbank zu speichern. Der Textkörper der E-Mails wurde nur in Cyrus IMAP aufbewahrt.

Für BlueMind 4 wurde daher eine Replikation eingerichtet, mit der die E-Mail-Daten für Outlook, aber auch für andere Zwecke vorbereitet werden, zum Beispiel für neue Webmail und mobile Geräte.

Der Replikationsserver ermöglicht es Cyrus IMAP, eine Kopie der Nachrichten an den bm-core-Dienst zu übermitteln. Dieser ruft die Metadaten der Nachrichten ab, die für Exchange Active Sync (bm-eas), Outlook (bm-mapi) und Elasticsearch erforderlich sind. Diese Daten speichert er in einer Datenbank – wie Exchange es tut – und in Elasticsearch.

Ein Beispiel: Wenn Sie eine E-Mail in Outlook als „gelesen“ markieren, muss BlueMind v4 einen IMAP-Call bei Cyrus IMAP tätigen und auf die Rückmeldung von Cyrus warten. Dann muss es die Daten auf dem Replikationsserver replizieren und danach in Postgres und Elasticsearch speichern.

Das nennt man in BlueMind v4 die Replikationsschleife. Diese Funktionsweise macht Cyrus IMAP zur Referenz für alle E-Mail-Daten und für alle Zugänge – Outlook, Thunderbird, Mobiltelefon, Webmail und andere IMAP-Clients. Wenn etwas „kaputt“ geht, beginnt man wieder bei Cyrus und rekonstruiert anhand der Informationen.

Aber warum dann auf Cyrus verzichten?

Cyrus IMAP weist mehrere Einschränkungen auf. Damit passt er nicht mehr zu den Ansprüchen und Entwicklungen der E-Mail- und BlueMind-Funktionen.

Allem voran gilt dies im Bereich der Objektspeicherung. Diese ist notwendig, wenn man eine Plattform über Cloud-Technologien anbieten will. Tatsächlich ist es seit BlueMind v4 möglich, SDS (Software Defined Storage) zu aktivieren, um große Mengen an E-Mails zu verwalten. Da Cyrus IMAP keine Objektspeicherung unterstützt, waren Anpassungen erforderlich, um diese Unterstützung überhaupt zu ermöglichen. Für eine effektive Unterstützung von Objektspeicher müsste Cyrus IMAP komplett neu geschrieben werden. Das bedeutet, er müsste unter den spezifischen Bedingungen dieses Modus konzipiert und entwickelt werden.

Ab Version 5, ohne Cyrus IMAP, ist die Infrastruktur von BlueMind ganz auf Objektspeicherung ausgelegt und ermöglicht so Funktionen wie Upgrades oder Hot PRA/PCA. Außerdem läuft die Version auf einem traditionellen Dateisystem.

Weitere Problempunkte von Cyrus IMAP:

  • Die technische Architektur – eine Verbindung pro Prozess – ist veraltet. Das führt zu einer geringen Leistung und beansprucht gleichzeitig die Serverressourcen (CPU, RAM, I/O).
  • Die Architektur von Cyrus ist nicht für die Cloud ausgelegt. Die Referenzdaten werden lokal gespeichert (Beispiele: cyrus.index, cyrus.header, mailbox_NN.conversations, annotations.db, mailboxes.db), und der Applikationsbetrieb beruht auf der Verwaltung lokaler Dateien.
  • Das Mailformat ist unveränderlich. Es lässt sich nicht anpassen, um etwa neue Informationen aufzunehmen oder die E-Mails anzureichern.
  • Freigaben sind im Fall von Multi-Backend-Infrastrukturen – mehrere Cyrus-Server mit intelligentem Routing oder Placement – sehr umständlich. Das schränkt die Zusammenarbeit stark ein.
  • Der verbrauchte Speicherplatz ist hoch, da die E-Mails unverändert lokal und unverschlüsselt gespeichert werden.

BlueMind hat festgestellt, dass das IMAP-Protokoll nicht mehr der Hauptzugang zu den Daten ist. Das Alter hat seine Spuren hinterlassen, IMAP ist sehr wortreich, laut und nicht optimal. Tatsächlich werden Mobiltelefone hauptsächlich über das ActiveSync-Protokoll abgewickelt. BlueMind Webmail verwendet die eigenen Mail-APIs, und Outlook läuft über das MAPI-Protokoll. Thunderbird setzt das IMAP-Protokoll noch dafür ein, die Kompatibilität mit einigen weniger verbreiteten Clients zu ermöglichen.

Die Unterstützung von IMAP ist aus Gründen der Kompatibilität und der Einhaltung von Standards weiterhin wichtig, vor allem für eine Open-Source-Software. IMAP muss aber nicht mehr das Herzstück des Systems sein und darf dessen Möglichkeiten nicht einschränken.

BlueMind entschied sich daher dafür, auf Cyrus IMAP zu verzichten. Es gilt, die Leistung zu verbessern, weniger Arbeitsspeicher und Speicherplatz zu verbrauchen, globale Freigaben ohne Backend-Beschränkungen zu ermöglichen und die Anreicherung der E-Mails vorzubereiten.

Die neue Architektur von BlueMind v5

BlueMind 5 geht von dieser Situation aus:

Und erreicht diese:

BlueMind 5 bietet eine ganze Reihe von Vorteilen:

  • Deutlich verbesserte Betriebsleistung: Die Wege zu den Daten sind kürzer und direkter.
  • Geringerer Verbrauch von Speicher und Storage: BlueMind wechselt von einer prozessgesteuerten Verbindung zu einer ereignisgesteuerten Architektur (event loop). Wenn sich ein Client mit dem Server verbindet, erkennt BlueMind seine Anwesenheit, verbraucht aber nur sehr wenig Ressourcen dafür, die Verbindung aktiv zu halten.
  • Keine Einschränkung mehr für Freigaben auf Backend-Ebene, ohne Funktionsverlust.
  • Eine Architektur, die für die Objektspeicherung gemacht ist.
  • Verbesserung der Softwaresicherheit: Cyrus ist in C geschrieben, einer Low-Level-Programmiersprache, die oft für Systemcode verwendet wird. Die neue BlueMind-Architektur wurde in Java entwickelt, einer High-Level-Sprache, die im Web- und Mobilbereich sehr populär ist. Java ermöglicht statische Verifikation und automatische Speicherverwaltung.
  • PRA/PCA und Hot Updates werden möglich.
  • Der Backup-Prozess wurde allgemein verbessert.
  • POP- und IMAP-Dienste respektieren die globale Software-Architektur und bieten die gleichen Regeln für Konsistenz und Überprüfungen beim Datenzugriff.

Ihr Weg zu dieser neuen Architektur

Die Version 5 von BlueMind, die auf dieser neuen Architektur basiert, ist seit Mai 2024 verfügbar. Wenn Sie mehr darüber erfahren möchten, laden wir Sie herzlich ein zum Gespräch, sobald Sie uns kontaktieren. Wenn Sie bereits Version 4 im Einsatz haben, wenden Sie sich einfach an Ihren Integrator, um die Migration vorzubereiten.

Die Arbeit eines Softwareherstellers hört nie auf. Das Werk will ständig weiterentwickelt werden, um immer auf dem aktuellen Stand der Technik zu bleiben. Die Entwicklung eines vollständigen IMAP-Servers und die Implementierung von Object Storage sind große Projekte. Sie laufen parallel zu anderen Schlüsselaktivitäten wie UX, Webmail, Mobiltelefonie, Sicherheitswartung, Abbau der technischen Schulden, Wartung und Weiterentwicklung der Basis, funktionale Anreicherung, erweiterte Zusammenarbeit, Outlook-Konsolidierung.

BlueMind 4, BlueMind 5, BlueMind 5.1, 5.2. Wenn Sie alles über die Philosophie der BlueMind-Versionierung erfahren möchten, geht es hier entlang.

Picture of Leslie Saladin

Leslie Saladin

Teile diesen Artikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

48 + = 57

Über BlueMind

Unterstützung für alle E-Mail-, Web- und mobilen Clients, BlueMind bietet die beste kollaborative Unterstützung für Thunderbird und ist die einzige Lösung auf dem Markt, die zu 100% Outlook-kompatibel ist, ohne Konnektor.

Aktuelle Artikel

Folgen Sie uns in sozialen Netzwerken

Inscription à la newsletter

Un e-mail par mois pour rester au courant de toutes les nouveautés BlueMind