IMA4 2017/2018 P20
Sommaire
Solution de messagerie à base de conteneurs
Présentation générale
Description
Un système de messagerie électronique se compose de quatre éléments fondamentaux :
- le Mail Transfert Agent ou MTA : permet d’acheminer le courriel d’un serveur à un autre. Le protocole généralement utilisé est le SMTP.
- le serveur du protocole entrant : permet la réception et la distribution du courriel. Les plus généralement utilisés sont POP3 et IMAP.
- le Mail Delivery Agent ou MDA : agent en charge de la gestion des boîtes aux lettres. Il est chargé de livrer le courriel dans la boîte du destinataire.
- le Mail User Agent ou MUA : logiciel client de messagerie qui fournit un environnement pour la gestion du courriel.
Le but de ce projet est d'utiliser la technologie des conteneurs pour le déploiement de la solution de messagerie.
Les conteneurs sont en train de révolutionner le marché et les pratiques de la virtualisation. A des VMs, certes efficaces, mais lourdes qui s’appuient sur des hyperviseurs et qui demandent des OS invités, ils opposent un mode de virtualisation « light », directement enraciné dans le kernel de l’OS hôte. La virtualisation à base de conteneurs est une méthode de virtualisation dans laquelle la couche de virtualisation s'exécute au sein même du système d’exploitation. Cette approche permet d'améliorer les performances, puisqu'un seul et unique système d'exploitation (l'hôte) se charge des appels matériels. Elle permet également d'héberger sur un serveur beaucoup plus d'instances virtualisées que la virtualisation traditionnelle.
Objectifs
Permettre de déployer facilement un système de messagerie pour quelques utilisateurs grâce à la technologie des conteneurs. A partir de scripts Shell, on devra être capables de créer, lister ou supprimer des comptes de messagerie sur le serveur de messagerie.
Analyse du projet
Positionnement par rapport à l'existant
L'architecture de notre système de messagerie serait la suivante :
Ainsi, nous aurions :
- Un conteneur avec le système principal contenant :
- Un serveur SMTP pour la réception des différents courriels et la redistribution
- Le Webmail
- Un conteneur pour chaque compte de messagerie contenant :
- Un serveur SMTP pour recevoir et envoyer les courriels
- Un Mail Delivery Agent pour stocker les messages dans le système de fichiers du conteneur
- Un serveur IMAP pour qu'un client de messagerie puisse récupérer les messages stockés
Analyse du premier concurrent
Analyse du second concurrent
Scénario d'usage du produit ou du concept envisagé
Michel lance sa start-up avec son ami Robert. Il décide tout de suite de mettre en place un système de messagerie. Il déploie alors dans un premier temps le conteneur dans lequel se trouve le système principal de messagerie sur son serveur et effectue quelques réglages nécessaires. Ensuite, sur son ordinateur personnel, il déploie en une ligne de commande le conteneur hébergeant la partie utilisateur du système de messagerie. Il ne lui reste désormais plus qu'à se créer un compte de messagerie. Il lance donc le script createAccount.sh et entre son nom d'utilisateur comme lui demande le script. N'ayant même pas eu le temps de cligner des yeux, l'exécution du script s'est terminée. Pour vérifier que son compte a bien été créé, il lance le script listAccount.sh qui liste les comptes de messagerie existant sur son système de messagerie et y trouve bien le compte qu'il vient de créer. Il effectue la même manipulation sur l'ordinateur de Robert.
Ils peuvent désormais échanger par mail à partir du Webmail à l'adresse lastartupdemichel.org. Leurs adresses de messagerie ont été créé par le script sous la forme box@nom_utilisateur.lastartupdemichel.org.
Six mois plus tard, après avoir embauché plusieurs personnes, une d'entre elles décide de quitter l'entreprise. Michel supprime alors le compte de messagerie de la personne en question en lançant le script deleteAccount.sh et en renseignant le nom d'utilisateur de la personne en question.
Question difficile
Quel est l'interêt de l'utilisation des conteneurs par rapport aux solutions traditionnelles de messagerie ?
Réponse à la question difficile
L'utilisation de la technologie des conteneurs permettrait un déploiement rapide et facile du système de messagerie. Les utilisateurs pourraient se créer un compte de messagerie en deux ou trois lignes de code plutôt que de devoir entrer toutes leurs informations sur le web comme nous le faisons traditionnellement.
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Liste des tâches à effectuer
Calendrier prévisionnel
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 0 |