BlueMind sort sa version 5.0 : tous les détails techniques
BlueMind est une suite logicielle libre (AGPL v3) de messagerie dâentreprise, dâagendas et de travail collaboratif.
Poursuivant lâobjectif global de permettre aux utilisateurs de concrĂ©tiser lâabandon des messageries Microsoft, Exchange et 365, cette nouvelle version apporte plusieurs nouveautĂ©s et des changements profonds dâarchitecture, pour supporter les diffĂ©rents clients et simplifier la transition des utilisateurs.
- lien ná” 1 : Site de BlueMind
- lien ná” 2 : Consulter les changelogs
Sommaire
- Nouveautés architecture
- Le stockage objet
- OpenID et le SSO
- AuditLog
- Nouveautés utilisateur
- Le passage en version 5
Nouveautés architecture
Le Remplacement de Cyrus-IMAP
JusquâĂ sa version 4 incluse, BlueMind intĂ©grait Cyrus-imap â une brique open source bien connue â comme serveur de stockage des mails.
BlueMind 5 a remplacé Cyrus Imap par un composant maison.
Il y a plusieurs raisons derriĂšre ce choix :
- La premiĂšre consistait Ă se libĂ©rer de la dĂ©pendance Ă un code non Ă©crit par BlueMind qui apportait des limitations techniques de plus en plus contraignantes sans possibilitĂ© rĂ©elle dâĂ©volution.
- La deuxiĂšme raison majeure concernait le stockage objet, un point faible de Cyrus qui ne correspondait plus aux besoins dâĂ©volution de BlueMind.
Jusque-lĂ , beaucoup dâĂ©lĂ©ments de BlueMind Ă©taient construits de façon Ă sâadapter ou contourner les limitations de Cyrus-imap. Le choix a donc Ă©tĂ© fait de sâen affranchir.
Les limitations de Cyrus IMAP
Cyrus accuse son Ăąge et engendre des limites de plus en plus fortes dans un contexte de messagerie moderne, en plus des contraintes inhĂ©rentes au protocole IMAP, loin dâĂȘtre toujours efficient (performances & limites fonctionnelles). Les principaux inconvĂ©nients de Cyrus sont :
- Consommation de ressources élevée (RAM et CPU). Le modÚle 1 connexion = 1 process a fait long feu.
- Pas adapté au stockage objet, car conçu pour stockage disque local (les mails et toutes les méta-données sont stockés directement sur le filesystem local, et les traitements sont adaptés à ceci).
- Les partages sont limitĂ©s au pĂ©rimĂštre dâun backend, donc Ă ce que peut supporter un seul serveur. Pas de partage global. Les mĂ©canismes de contournement sont trĂšs archaĂŻques, limitĂ©s et peu fiables.
- ModĂšle de mail figĂ© et limitĂ©, qui ne permet pas dâajouter des informations (catĂ©gories enrichies, infos diverses de collaboration ou gĂ©rĂ©es par des plugins, etc.) ou de façon trĂšs limitĂ©e.
à noter : BlueMind 4 intÚgre de nombreux contournements ou palliatifs afin de dépasser ces limites.
La fin de la réplication
BlueMind propose le support natif dâOutlook, sans ajout dâextension ou modification dâOutlook (que ce soit au niveau des IHM, des fonctionnalitĂ©s ou du comportement), car câest ce que veulent les utilisateurs : Outlook (tel quâil fonctionne aujourdâhui chez nous avec Exchange). Cela se traduit par le support des protocoles/formats natifs dâExchange/Outlook, soit MAPI cĂŽtĂ© serveur.
Cependant, MAPI fonctionne comme une base de donnĂ©es, par synchronisation, et les requĂȘtes quâeffectue Outlook ne sont absolument pas compatibles avec le fonctionnement/principes dâun serveur IMAP.
Pour supporter MAPI et rĂ©pondre de façon correcte et rapidement Ă ses requĂȘtes, qui nĂ©cessitent des lectures/Ă©critures trĂšs rapides et trĂšs frĂ©quentes, il Ă©tait nĂ©cessaire de contourner le serveur IMAP Cyrus et donc de stocker les donnĂ©es des e-mails (plus exactement les mĂ©ta-donnĂ©es et la structure des e-mails) dans une base de donnĂ©es. Le corps des e-mails Ă©tant gardĂ© uniquement dans Cyrus.
Câest ce qui a Ă©tĂ© fait dans BlueMind 4, mais cela engendre une double gestion des donnĂ©es et donc la nĂ©cessitĂ© dâassurer la cohĂ©rence globale entre les deux stockages de donnĂ©es (Cyrus et la BD) avec la complexitĂ© inhĂ©rente Ă ce type de systĂšme.
Assurer cette cohĂ©rence Ă©tait le rĂŽle de la rĂ©plication de BlueMind 4 qui utilisait la rĂ©plication native Cyrus. Cette opĂ©ration est coĂ»teuse et nĂ©cessite dâattendre que Cyrus ait effectuĂ© ses opĂ©rations avant de les rĂ©pliquer. Ce processus asynchrone passait par des workers de rĂ©plication qui devaient faire un retour aprĂšs chaque opĂ©ration afin de communiquer les modifications Ă Outlook (et aux mobiles). Il pouvait occasionner un dĂ©lai entre les actions et donc gĂ©nĂ©rer une diffĂ©rence entre le client et le serveur. Une opĂ©ration contradictoire pouvait casser la synchronisation avec Outlook.
Nous arrivions donc aux limites du systÚme, contraignant les transitions vers une architecture cloud-ready, les grosses montées en charge, le support trÚs avancé du client Outlook et les interfaces intelligentes vers les outils de Digital Workplace.
Les gains
Avec la version 5 de BlueMind, Cyrus a donc tirĂ© sa rĂ©vĂ©rence. Les fonctionnalitĂ©s de stockage et gestion qui lui incombaient encore sont maintenant prises en charge directement par le cĆur de BlueMind, de façon plus moderne et sans les limitations prĂ©citĂ©es.
En v5, quand un e-mail arrive, lĂ oĂč BlueMind stockait dans Cyrus puis attendait la notification de la rĂ©plication avant de stocker en base de donnĂ©es, BlueMind effectue simplement un insert en base de donnĂ©es, suivi dâune copie du mail dans le stockage sur le disque (ou objet), et a immĂ©diatement tous les Ă©lĂ©ments nĂ©cessaires Ă la communication avec Outlook.
Ă noter : Au-delĂ dâOutlook, cette nouvelle infrastructure prend en compte et amĂ©liore la communication avec les clients IMAP, mobiles, Thunderbird et Apple Mail.
Des gains importants sont constatés au niveau de :
- La consommation de ressources, notamment la RAM.
- La fin de la limitation de partages au niveau dâun backend.
- Le format dâun e-mail, maintenant Ă©volutif, qui permet le dĂ©veloppement de fonctionnalitĂ©s comme les catĂ©gories.
- LâimplĂ©mentation possible et rĂ©alisĂ©e du stockage objet.
Le stockage objet
En version 5, avec la suppression de Cyrus, BlueMind a fait le choix de passer nativement sur un stockage objet pour les raisons suivantes :
- Capacité à traiter de gros volumes.
- Avoir une architecture plus cloud-ready au niveau du stockage.
- Permettre la corbeille Ă double-fond (lâe-mail est stockĂ© sous forme dâun fichier sur le disque ou rĂ©seau, auquel est associĂ© une clĂ© - hash du mail - en BD. Lorsquâun client demande un accĂšs au fichier, BlueMind sait trĂšs rapidement dire au client oĂč sont stockĂ©es les donnĂ©es et comment y accĂ©der).
- Backup plus simple et direct.
- Meilleure sĂ©curitĂ©. Par exemple, lâAPI S3 permet de rendre immuable un objet, une fois quâil est Ă©crit il ne peut pas ĂȘtre modifiĂ© et donc, un ransomware par exemple, ne pourra jamais chiffrer le fichier.
Lâensemble de BlueMind a Ă©tĂ© modifiĂ© pour sâadapter Ă la conception objet. En effet, il ne sâagit pas uniquement de changer les appels de lecture ou dâĂ©criture des informations, mais dâadapter lâapplication (modĂ©lisation et traitements), du backend aux clients comme le webmail, aux paradigmes du stockage objet (latences sur la rĂ©cupĂ©ration des objets, gestion des listes dâobjets ou mails via les mĂ©ta-donnĂ©es, etc.) sous peine dâobtenir une application aux performances dĂ©plorables.
BlueMind v5 est compatible S3 et Scality et permet de fonctionner avec un disque local en Ă©mulant nativement un stockage objet sur des disques.
Ainsi, les installations actuelles ou nouvelles de BlueMind nâont pas Ă subir de modifications, le disque local suffit et le stockage objet est possible sur les partitions habituelles.
OpenID et le SSO
Ă partir de sa version 5, BlueMind prend en charge le protocole OpenID, notamment pour avoir un support SSO (Single-Sign On) et pouvoir sâinclure dans un systĂšme dâinformation proposant dĂ©jĂ un service de SSO.
OpenID est mis en place par lâintermĂ©diaire de Keycloak.
Cela va permettre dâajouter progressivement de nouvelles fonctionnalitĂ©s comme le MFA (authentification multi-facteurs).
Note : Le Keycloak intĂ©grĂ© Ă BlueMind nâa pas vocation Ă ĂȘtre la brique SSO centrale du SI client. Si un client veut mettre en place un SSO global pour son systĂšme dâinformation, il faut quâil mette en place un systĂšme externe (un Keycloak par exemple). BlueMind a choisi de rester maĂźtre de sa brique Keycloak et de communiquer avec la brique SSO externe.
AuditLog
Afin dâamĂ©liorer la traçabilitĂ© mĂ©tier (voir le parcours dâun email dans le systĂšme), BlueMind 5 inclut un Auditlog, outil basĂ© sur ElasticSearch et RocksDB, qui permet de stocker de nombreuses informations pertinentes dans le cadre de lâadministration dâun serveur BlueMind :
- Toutes les opĂ©rations de chaque e-mail : les dĂ©placements, les suppressions, les diffĂ©rents flags (lu/non-lu, important, deletedâŠ), les timestamps et les auteurs.
- Les Ă©vĂ©nements et les sĂ©ries dâĂ©vĂ©nements, ou sur les ACL les grant et revoke accĂšs sur les partages de dossiers, de mailshares, sur les calendriers ou les carnets de contacts, etc.
- Les connexions des utilisateurs, peu importe le moyen de connexion.
Auditlog est actuellement disponible uniquement en CLI. Une IHM sera proposée ultérieurement.
Nouveautés utilisateur
Le nouveau webmail est le webmail officiel
Le nouveau webmail, proposĂ© en test Ă partir de BlueMind 4.6, sâest considĂ©rablement enrichi et est maintenant lâinterface officielle. Il est aux normes de lâarchitecture logicielle de BlueMind (application JS qui fonctionne via API et synchronisation en utilisant le cache du navigateur).
Lâancien webmail, qui Ă©tait basĂ© sur Roundcube, peut encore ĂȘtre installĂ© (il ne lâest plus par dĂ©faut sur les nouvelles installations), mais il nâest plus recommandĂ©, notamment pour des raisons de sĂ©curitĂ©.
Parmi les nouveautés du webmail :
- Meilleure intĂ©gration des carnets dâadresse.
- Corbeille Ă double fond.
- DisponibilitĂ© dâun mode sombre et accessibilitĂ© encore augmentĂ©e.
- Plus de capacités de tris et filtres.
- Prévisualisation des messages attachés à un mail.
- Support du S/MIME.
Autres nouveautés
De nombreuses autres nouveautés sont apportées par la v5, comme :
- Un plugin BlueMind Visioconférence pour Outlook.
- La gestion des délégations « à la » Microsoft.
- Le transfert dâinvitation de rĂ©union.
- Les disponibilitĂ©s affichables sous forme dâagenda dans lâagenda.
- Gestion de lâĂ©tat AnnulĂ© dâune rĂ©union.
- âŠ
Le détail des nouveautés est disponible dans le changelog.
Le passage en version 5
La version 5 recommande maintenant 24 Go minimum.
Lâoutil de migration bm-migrator
permet de passer dâOffice365/Exchange/Zimbra/Kerio/Kopano/Dovecot, etc., Ă BlueMind 5, en automatisant la rĂ©cupĂ©ration de presque toutes les donnĂ©es.
à noter : Une migration nécessite toujours un travail et des tests préparatoires.
Commentaires : voir le flux Atom ouvrir dans le navigateur