« Home « Kết quả tìm kiếm

SYSTÈMES DE COURRIERS ÉLECTRONIQUES À GRANDE ÉCHELLE SUR LE CLOUD


Tóm tắt Xem thử

- 1 État de l’Art 3.
- 1.2.1 Architecture générale d’un Système de Courriers élec- troniques.
- 1.2.3 Structure d’un courriel.
- Il s’agit d’un moyen de communica- tion fonctionnant de façon similaire aux traditionnelles lettres en papier : une personne possède une adresse, et peut envoyer un texte virtuel par Internet ou un réseau à une autre personne via son adresse.
- Dans le cadre de notre stage, nous nous sommes intéressés à la mise en place d’un système de courriers électroniques sur le Cloud possédant une grande échelle en terme du nombre d’utilisateurs..
- Nous avons proposé une solution utilisant la suite collaborative open- source Zimbra pour s’occuper de la partie Système de Courriels et le logiciel open-source OpenStack pour la partie virtualisation et Cloud computing..
- Après avoir mis en place les différents serveurs, et installer notre système, nous avons effectués une expérimentation d’envois et de réceptions de mails afin de voir le bon fonctionnement de notre système prototype..
- 1.1 Montre l’architecture ordinaire d’un système de courriers élec-.
- 1.3 Structure d’un Email[3.
- 1.7 Schéma d’un Hyperviseur[11.
- de l’entreprise Netnam 1 .
- En effet, Internet étant de plus en plus utilisés, les services qu’ils proposent ont étés multipliés, et nous avons vus différents types de systèmes de courriels apparaître.
- Puis nous commencerons la deuxième partie de ce stage, qui consiste en l’implémentation du système, plus précisément dans son installation, sa configuration qui sont des étapes cruciales, mais aussi les différents tests effectués pour vérifier le bon fonctionnement de notre système à grande échelle, soit plus d’un million d’utilisateurs..
- 1 État de l’Art.
- 1.2.1 Architecture générale d’un Système de Courriers électroniques.
- Les systèmes de courriels électroniques [2] ou encore système E-mail, sont des systèmes composés d’un ensemble d’éléments permettant de transmettre un courrier électronique[3].
- Figure 1.1 – Montre l’architecture ordinaire d’un système de courriers électroniques (abréviation courriels)[3].
- Dans la figure 1.2, nous avons constaté lorsque nous réalisons l’envoi d’un email, le message est acheminé de serveur en serveur, jusqu’au serveur de messagerie du destinataire.
- Figure 1.3 – Structure d’un Email[3].
- Chaque ligne aura une longueur maximum de 1,000 bytes, et la taille d’un courriel ne doit pas dépasser 64 Kilobyte[6]..
- Nous venons de voir le fonctionnement d’un système de courriers électroniques, nous allons désormais nous intéresser au logiciel qui a été utilisé lors de ce stage : la suite collaborative Zimbra..
- Mail Transfer Agent ou Agent pour le Transfert d’E-mail en français, il s’agit d’un serveur qui va prendre en charge l’envoi et la réception des courriers interne et externe à Internet grâce à SMTP, et peut fonctionner en mode Actif ou Passif.
- Figure 1.4 – Architecture Serveur[7].
- Il s’agit d’un service qui s’occupe des informations nécessaires en terme de configuration à l’éxécution de l’environnement Zimbra.
- Puis nous avons le proxy, qui sépare ce qui est exposé à Internet de ce qui est protégé par un pare-feu.
- Figure 1.5 – Architecture Cliente[7].
- Il n’est pas recommandé d’un point de vue sécurité de présenter des informations dans un client à travers des domaines, cependant il existe une Zimlet nommée Zimlet Web Service Proxy pour prévenir ce manque de sé- curité.
- Nous avons Postfix, un agent de transfert de message (MTA) qui renvoient les emails reçus par SMTP ou LMTP comme ce client implement les deux[4].
- Le composant Zimbra Proxy utilise un server IMAP/POP3 qui permet à des mails d’un domaine d’être partagé à travers plusieurs serveurs Zim- bra sur une base par utilisateur.
- Nous avons donc le tableau comparatif suivant.
- Pour résumé, le premier choix qui est de définir un système de courriel open-source avec sa propre base de données sur un serveur propre vient d’un besoin de confidentialité et de sécurité des données.
- Taille maximale d’un mail reçu 500kb.
- La virtualisation[10] consiste à faire fonctionner un ou plusieurs systèmes d’exploitation, applications comme un simple logiciel, sur un ou plusieurs ordinateurs-serveurs, au lieu de ne pouvoir en installer qu’un seul par ma- chine.
- Alors que les machines virtuelles ne peuvent lancer qu’un certain nombre d’opérations par seconde , la virtualisation permet de lancer plus d’opérations que la somme des opérations des machines virtuelles qui la com- posent.
- Chaque copie d’un système d’exploitation est installée sur une ma- chine virtuelle dans le but d’ajouter des applications au système virtualisé..
- Figure 1.7 – Schéma d’un Hyperviseur[11].
- Maintenant que nous avons vu la base de la virtualisation, nous allons nous intéresser au Cloud Computing[14].
- Figure 1.9 – Contenu du Cloud[12].
- Le modèle SaaS fournit des applications à l’utilisateur sous la forme d’un service prêt à l’emploi qui ne nécessite aucune maintenance : les mises à jour étant régulièrement faites par l’éditeur.
- Cloud privé et Cloud public : De manière générale, un Cloud public se compose d’un service ou d’un ensemble de services achetés par une entreprise ou une structure et livrés via Internet par un fournisseur tiers.
- Comparaison entre les logiciels du Cloud Computing : Nous avons présenté une liste de logiciels permettant de créer des solutions Cloud.
- Table 1.4 – Comparaison entre les logiciels du Cloud Computing Nous avons finalement choisi OpenStack pour plusieurs raisons.
- OpenStack est un projet récent[19], composé d’un système d’exploitation Open-Source qui sert de couverture pour gérer les ressources pour les phases de Traitement(Compute), Stockage(storage) et de Réseaux(Network) pour les Data Center, et qui offre une haute performance.
- Nous avons choisi OpenStack pour plusieurs raisons : tout d’abord, OpenS- tack est Open-Source, ensuite, il s’agit d’une solution Cloud facile à déployer sur des machines virtuelles avec une interface, ensuite les utilisateurs peuvent utiliser le service par eux mêmes, avec un système pour gérer les ressources partagées de manière efficace..
- Figure 1.10 – Architecture Générale d’OpenStack[23].
- Le composant Stockage(Storage) s’occupe de la sauvegarde de données, avec deux types de stockages : un stockage Objet, où il est possible de stocker un nombre infini d’objets, limité par la taille pour enregistrer les données à l’image d’un répertoire .
- un stockage en Bloc, qui fonctionne de la même façon qu’un volume ou qu’une clé USB.
- Figure 1.11 – Architecture Détaillée d’OpenStack[24].
- Ensuite, nous avons le module Cellometer, qui sert de moniteurs à l’utili- sateur sur les modules Nova, Glance, Neutron et Cinder.
- Le module Nova gère quant à lui les ressources en terme de processeurs, de RAM pour les machines virtuelles, alors que le composant Glance fournit les images des systèmes exploitations pour les machines vir- tuelles, qui sont stockées dans le module Swift qui bénéficie d’un espace de stockage de type Objet grâce à Cinder..
- Dans le noeud Contrôleur, nous avons la base de données SQL qui va conserver les informations et les identifiants des utilisateurs.
- Nous avons en- suite la queue de messages qui est faîte pour conserver les données qui ne peuvent pas toutes être envoyées en même temps à cause de limite de tailles, en attendant qu’un autre processus puisse s’occuper d’envoyer les données, dans le cas contraire, les données seront renvoyées et nous aurons un cas de.
- Nous avons par exemple le service Open vSwitch qui est un logiciel qui éxécute la virtualisation d’une carte réseau en utilisant la fonction NAT pour connecter les switch.
- Nous venons de voir le fonctionnement d’un système de courrier électro- nique tout en dressant un comparatif des différents systèmes d’envoi et de reception de courriels, qui nous a permis de choisir le système Open-Source Zimbra, pour des raisons de confiance du fait du grand nombre d’utilisa- teurs de cette plateforme mais aussi de son contenu qui est personnalisable facilement..
- Ensuite, notre intérêt s’est porte sur la virtualisation et plus précisément le cloud computing, pour présenter de manière approfondie le logiciel que nous avons choisi : OpenStack.
- Nous allons voir dans cette partie la façon dont nous avons procédé pour implémenter le système que nous avons réalisé durant ce stage..
- Nous avons souhaité résumer ces informations dans un tableau, et nous détaillerons les calculs ensuite..
- Table 2.1 – Ressources Nécessaires pour Zimbra avec 1.000.000 d’utilisateurs En ce qui concerna la partie Stockage des données, nous avons environ 1.000.000 d’utilisateurs, chaque utilisateur aura 1 GB de stockage, sauf que 80% des comptes seulement sont actifs, ce qui nous donnent le résultat GB..
- Nous n’avons malheureusement pas assez de ressources, c’est pourquoi nous avons décider de diminuer le nombre d’utilisateurs en le pas- sant de 1.000.000 à 10.000.
- Nous avons donc un système utilisant Zimbra 8.6, avec 10.000 comptes de 1 Gb avec des fonctionnalités anti-spam et anti-virus..
- Maintenant que nous avons vu les ressources nécessaires pour notre sys- tème, nous allons pouvoir nous intéresser à l’architecture globale de notre système..
- Figure 2.1 – Architecture Globale du Système choisi.
- Nous avons donc 3 grandes parties comme nous pouvons le voir dans l’image.
- Nous avons installer OpenStack pour créer des machines virtuelles..
- Ces machines virtuelles vont démarrer sur une image d’un système d’exploi- tation (Ubuntu, CentOS.
- Pour la partie Zimbra, nous avons une partie de sauvegarde des e-mails, mais il y a aussi de l’espace associé à cet objectif dans la partie NAS..
- Pour Zimbra, nous avons opté pour une solution sécurisée et à haute disponibilité en couplant des serveurs afin d’avoir un mode actif-actif ou actif- passif dans le cas où un serveur a un problème, ce qui permettra de pouvoir toujours se connecter au système par l’intermédiaire du serveur miroir qui prendra alors le relai.
- Figure 2.2 – Architecture du système Zimbra implémenté.
- Nous avons maintenant le noeud Contrôleur qui est opérationnel, nous allons donc installer des paquets pour avoir les applications nécessaires..
- Concernant le serveur de messagerie, il faut savoir que OpenStack a besoin d’un service de messagerie pour réaliser les communications entre ses services, RabbitMQ, QPid et 0MQ sont supportés par OpenStack.
- Nous avons désormais notre Noeud Contrôleur qui est prêt pour l’installation d’OpenStack..
- Maintenant, nous avons notre noeud Traitement prêt, nous devons lui ins- taller les logiciels, en ajoutant les paquets du Cloud et les librairies MySQL et MySQL Python, car comme nous l’avons dit précédemment, MySQL doit être présent dans tous les noeuds..
- Nous avons donc nos deux noeuds Traitement et Contrôleur qui sont fonc- tionnels, nous allons effectuer la même chose pour le noeud Réseau..
- Préparation du Noeud Réseau Cette fois ci, nous avons un noeud avec trois interfaces réseaux : une pour la connexion au réseau eth0, une autre pour l’utilisation du réseau interne et la dernière pour la connexion entre les machines virtuelles..
- Nous avons donc nos trois noeuds qui sont prêts pour l’éxécution d’OpenS- tack..
- Figure 2.4 – Résultat d’installation.
- Installation d’Horizon Dans le contrôleur Node nous avons installer Dashboard Horizon qui permet de simplifier l’administration du serveur et des projets.
- Pour pouvoir accéder à partir d’un navigateur web pointant à l’adresse du serveur..
- Figure 2.5 – Architecture des Machines Virtuelles.
- Nous avons deux couples miroirs Proxy et MTA.
- Nous venons de finir l’implémentation de notre système, nous avons donc un système composé de machines virtuelles dans Openstack, réparties dans différents noeuds et possédant différents composants de la suite collaborative.
- Nous venons d’implémenter un système complexe basé sur la virtuali- sation des serveurs grâce à OpenStack pour l’architecture d’un système de courrier électronique de la suite collaborative Zimbra.
- Interface d’authentification Lorsque nous tapons dans notre navigateur l’adresse du réseau pour accéder à l’outil de gestion Openstack ho- rizon/ où horizon est le composant s’occupant de l’affichage des interfaces uti- lisateurs et représente l’adresse IP du serveur possédant le système OpenStack) nous avons donc l’interface suivante.
- Figure 3.2 – Vue Générale d’OpenStack.
- Figure 3.3 – Vue de la Topologie d’Openstack.
- Figure 3.4 – Interface d’authentification sous Zimbra.
- Comme nous pouvons le voir dans l’image, nous avons l’état des différents services regroupés selon les serveurs sur lesquels ils sont situés..
- Après s’être connecté via l’interface que nous avons vue pour s’authentifier dans l’image 3.4 à la page 52 , l’uti- lisateur va accéder à un client web mail.
- Nous avons donc décidé d’envoyer un mail sur l’adresse [email protected] pour tester le bon fonctionnement du système et ensuite d’y répondre..
- Cependant, durant le test, un problème avait été rencontré et résolu : Nous avons envoyer les courriers électroniques de notre système zimbra à une boite mail extérieure comme Gmail et une adresse de messagerie de l’IFI : nous recevons bien les Emails mais nous ne pouvons pas en envoyer à l’adresse qui nous les a envoyés.
- Comparaison entre Installation de Machines Virtuelles sur le Cloud et sur un Ordinateur Physique : Si nous souhaitons utiliser le système dans une entreprise qui a un nombre d’employés inférieur à 1.000, il est possible d’installer Zimbra sur un serveur physique, mais dans le cas d’un nombre conséquent d’utilisateurs, comme pour une université ou une gouvernement, il est préférable d’utiliser le service cloud car il ne demandera qu’un court délai pour augmenter ou diminuer la taille du système, alors que physiquement il faudrait acheter plusieurs serveurs,etc..
- En conclusion, à travers ce document, nous avons présenté différents lo- giciels open-sources permettant de réaliser un système de courriers électro- niques, et nous avons dressé un comparatif entre les différentes solutions exis- tantes dans cette catégorie.
- Nous avons donc proposé un système virtuel basé sur OpenStack en ce qui concerne la partie Cloud Computing et virtualisation , et nous avons opté pour Zimbra pour le système de courriers électroniques.
- Après avoir vu la quantité de ressources que prendrait le système, nous avons préféré redescendre à une échelle plus abordable avec 10.000 utilisateurs pour tester notre prototype.
- Après avoir conçu l’architecture serveur et installé les deux logiciels open-source, nous avons expérimenté notre solution en faisant un envoi et une réception de mails sur nos serveurs, par contre nous avons dû payer un DNS pour que l’Internet connaisse l’adresse IP de notre serveur..
- www.zimbra.com..
- [19] “Openstack.” https://www.openstack.org/..
- Figure 4.4 – Annexes- Création d’une image de Système d’Exploitation.
- Figure 4.6 – Annexes- Protocoles Extérieurs.
- Figure 4.7 – Annexes- Création d’une IP publique