Mise en place d’un cloud privé et support IT
De
République Tunisienne
Ministère de l’Enseignement Supérieur
et de la Recherche Scientifique
Université de Carthage
Institut Supérieur des Sciences
Appliquée et de Technologie
De Mateur
Projet de Fin d’Etudes
Présenté à
L’Institut Supérieur des Sciences Appliquées et de
Technologie de Mateur
En vue de l’obtention de la Licence Appliquée en
Sciences et Technologies de l’Information et de la Communication
Parcours :Télécommunication et réseau informatique
Par
Hamza Maha & Zoghlami Amal
Soutenu le 17 juin 2019 devant la commission de jury :
Dr. Bchini Tarek
Dr.
Dr. Hrizi Hafedh
M. Jied Med Amine
Président
Rapporteur
Encadreur
Encadreur de l’entreprise
DEDICACE
Je dédie ce travail en signe de reconnaissance :
Mes parents
Ma mèreNaima, qui a œuvré pour ma réussite, de par son amour, son soutien, tous les sacrifices consentis et ses précieux
conseils, pour toute son assistance et sa présence dans ma vie, reçois à travers ce travail aussi modeste soit-il, l'expression de
mes sentiments et de mon éternelle gratitude.
Mon pèreMongi, Tu as su m’inculquer le sens de la responsabilité, de l’optimisme et de la confiance en soi face aux
difficultés de la vie. Tes conseils ont toujours guidé mes pas vers la réussite. Ta patience sans fin, ta compréhension et ton
encouragement sont pour moi le soutien indispensable que tu as toujours su m’apporter.
Mes frères et Mes sœurs
Qui n'ont cessé d'être pour moi des exemples de persévérance, de courage et de générosité.
A tous mes précieux amis,
Qui m’ont donné, le soutien, le courage et l’amour tout au long de la période du stage et qui m’ont soutenuet aidé.
A tous ceux qui m’aiment
J’exprime mes sentiments les plus profonds et leur dédie ce modeste travail.
Amal …
Année universitaire 2018-2019 N° d’ordre :
DEDICACE
C’est avec grand émotion que je dédie ce travail :
A DIEU Le Tout Miséricordieux, ton amour, ta miséricorde et Tes grâces à mon endroit m’ont
fortifiée dans la persévérance et l’ardeur au travail.
A mon Père, en vous, je voie un père dévoué à sa famille. Ta présence en toute circonstance m’a
maintes fois rappelé le sens de la responsabilité.
A ma Mère, en vous, je voie la maman parfaite, toujours prête à se sacrifier pour le bonheur de
ses enfants. Merci pour tout.
A ma deuxième mère, Ma grand-mère, c’est à la personne la plus idéale dans ce monde, Qui m’a
accompagné par ses prières, sa douceur, puisse Dieu lui prêter longue vie et beaucoup de santé et de
bonheur dans la vie.
A mes chères sœurs et à mon cher frère pour leur respect et leur amour inconditionnels.
A mon cher binôme Amal, au plus proche de mon cœur Mootez, à mes chères Rania, Malek,
Imen, Sayda.
A mes chères amies Sana, Amal, Cyrine, Awatef , Hanen et Ameni qui font partie de ces
personnes rares par leur gentillesse, leur tendresse et leurs grands cœurs. Qu’ils trouvent ici, le
témoignage de tout mon amour et toute ma reconnaissance pour leur inlassable soutien. Je vous
souhaite une vie pleine de réussite, de santé et de bonheur.
A mes chers professeurs, et à tous ceux qui ont contribué de près ou de loin à l’accomplissement
de ce travail.
Maha …
REMERCIEMENTS
Au terme de ce projet de fin d’étude, nos vifs remerciements sont dédiés à tous ceux qui ont
Contribué, directement ou indirectement à l’élaboration de ce projet.
En Premier lieu, nous remercions Monsieur Hrizi Hafedhnotre encadrant, maître Assistantau sein de
l’institut supérieur de sciences appliquées et de technologie de Mateur, pour sa disponibilité, ses directives et
son sens du détail nous ont permis de soigner et d’améliorer constamment la qualité de ce travail.
Nos remerciements s’adressent également à Monsieur Jied Med Amine, notre encadrant coté entreprise, qui a
toujours trouvé le temps de faire le suivi de notre travail et d’être à l’écoute lorsque nous rencontrions des
difficultés techniques dans le projet.
Nous exprimons notre gratitude à tous les responsables au sein de Group Ooredooqui nous ont donné
l’opportunité de réaliser ce stage et spécialement à Monsieur Mechmchi Najd.
C’est avec une immense fierté qui nous adresse nos remerciements les plus distingués à tous nos enseignants
de l’ISSAT qui nous ont transmis leur savoir et nous ont assuré la meilleure des formations.
MERCI …
TABLE DE MATIRES
INTRODUCTION GENERAL............................................................................................................................1
CHAPITRE 1....................................................................................................................................................4
CONTEXTE GENERAL DE PROJET.................................................................................................................4
Introduction.....................................................................................................................................................5
1. Historique............................................................................................................................................5
2. Les qualités d’Ooredoo........................................................................................................................6
3. Organisation d’Ooredoo......................................................................................................................6
4. Hiérarchie de la direction technique.....................................................................................................7
5. Présentation d’Ooredoo.......................................................................................................................8
6. Identité visuelle d’Ooredoo..................................................................................................................8
II. Cadre de Projet....................................................................................................................................8
Lot 1 :...........................................................................................................................................................8
Lot 2 :...........................................................................................................................................................9
III. Etude préalable....................................................................................................................................9
1. Etude de l’existant...............................................................................................................................9
2. Critique de l’existant............................................................................................................................9
3. Solution proposée...............................................................................................................................10
4. Objectif du Projet..............................................................................................................................10
IV. Analyse et spécifications des besoins...................................................................................................11
1. Besoins fonctionnels...........................................................................................................................11
2. Besoins non fonctionnels....................................................................................................................11
Conclusion......................................................................................................................................................12
CHAPITRE 2 : CLOUD COMPUTING : ETAT DE L’ART................................................................................14
Introduction...................................................................................................................................................14
I. Notion de Cloud Computing....................................................................................................................14
II. Historique de Cloud Computing.........................................................................................................14
III. Les formes de déploiement du Cloud Computing................................................................................15
1. Le Cloud public.................................................................................................................................15
2. Le Cloud privé...................................................................................................................................15
3. Le Cloud hybride...............................................................................................................................16
IV...................................................................................................................................................................16
V. Les modules de Cloud Computing......................................................................................................16
1. IaaS - Logiciel en tant que service (Infrastructure as a Service)..........................................................17
a. Avantages......................................................................................................................................17
b. Inconvénients.................................................................................................................................17
c. Prestataires....................................................................................................................................17
2. PaaS - Plate-forme en tant que service (Plateform as a Service)..........................................................17
a. Avantages......................................................................................................................................18
b. Inconvénients.................................................................................................................................18
c. Prestataires....................................................................................................................................18
3. SaaS – Application en tant que Service (Software as a Service)...........................................................18
a. Avantages......................................................................................................................................18
b. Inconvénients.................................................................................................................................19
c. Prestataires....................................................................................................................................19
VI. Avantages et inconvénients du Cloud Computing...............................................................................20
1. Avantages..........................................................................................................................................20
2. Inconvénients.....................................................................................................................................20
VII. Virtualisation.....................................................................................................................................20
1. Le Cloud et la virtualisation :.....................................................................................................20
2. Notion de virtualisation..............................................................................................................21
3. Virtualisation de serveurs..........................................................................................................21
a. Les hyperviseurs........................................................................................................................22
b. Etude comparative des différentes technologies virtualisation.............................................24
c. Etude comparatifs entre les solutions Cloud Computing.......................................................25
4. Le choix de la solution...............................................................................................................25
5. OpenStack, la solution adoptée.................................................................................................27
a. Les versions d’OpenStack..............................................................................................................27
b. Les principaux composants logiciels d’OpenStack..........................................................................28
Conclusion......................................................................................................................................................32
CHAPITRE 3 : CONCEPTION DE L’APPLICATION OPENSTACK..................................................................33
Introduction...................................................................................................................................................34
I. Conception..............................................................................................................................................34
II. Description des diagrammes...............................................................................................................34
III. Spécification générale........................................................................................................................34
IV. Identification des acteurs...................................................................................................................35
V. Identification des cas d’utilisations.....................................................................................................35
1. Diagramme de cas d’utilisation système administrateur.................................................................35
2. Diagramme de cas d’utilisation système client................................................................................36
3. Diagrammes de cas d’utilisations détaillés......................................................................................36
a. Cas d’utilisations gestion des images..............................................................................................36
b. Cas d’utilisation gestion des projets...............................................................................................37
c. Cas d’utilisation gestion des utilisateurs.........................................................................................37
d. Cas d’utilisation gestion des instances............................................................................................38
VI. La mise en place de la solution OpenStack..........................................................................................38
1. Architecture d’installation.............................................................................................................38
2. Utilisateurs du système..................................................................................................................39
a. L’administrateur...........................................................................................................................39
b. L’utilisateur...................................................................................................................................40
c. Diagrammes..................................................................................................................................40
VII. Architecture générale.........................................................................................................................42
1. Déploiement « all in one »..................................................................................................................42
2. Déploiement sous diffèrent nœuds......................................................................................................42
a. Nœud de contrôleur.......................................................................................................................44
b. Nœud de calcul..............................................................................................................................44
3. Les composants de chaque nœud........................................................................................................45
a. Le Dashboard d’OpenStack...........................................................................................................45
b. Service de messagerie.....................................................................................................................45
c. Service d’identité...........................................................................................................................45
d. Service de calcul............................................................................................................................46
e. Service d’image.............................................................................................................................47
f. Service de réseau...........................................................................................................................47
Conclusion......................................................................................................................................................48
CHAPITRE 4 :REALISATION DE LA SOLUTION...........................................................................................49
Introduction...................................................................................................................................................50
I. Réalisation..............................................................................................................................................50
1. Environnement de travail...................................................................................................................50
a. Environnement matériel................................................................................................................50
b. Environnement logiciel..................................................................................................................50
II. Installation et configuration...............................................................................................................50
1. Implémentation..................................................................................................................................50
a. Installation de composants OpenStack...........................................................................................50
b. Prérequis.......................................................................................................................................51
c. Les paquets à installer....................................................................................................................51
2. Préparation du système......................................................................................................................51
a. Réseau...........................................................................................................................................51
b. Serveur NTP..................................................................................................................................51
c. RabbitMQ.....................................................................................................................................52
d. Mysql............................................................................................................................................52
e. Keystone........................................................................................................................................52
f. Préparation de la base de données Mysql.......................................................................................52
3. Installation........................................................................................................................................53
4. Utilisation et Test d’OpenStack..........................................................................................................66
a. Interface Authentification au nuage...............................................................................................66
b. Authentification.............................................................................................................................66
Conclusion......................................................................................................................................................80
CONCLUSION GENERALE............................................................................................................................81
REFERENCES................................................................................................................................................83
TABLE DES ABREVIATIONS........................................................................................................................85
LISTE DES FIGURES
Figure 1 : Organigramme de Ooredoo..................................................................................................................6
Figure 2 : Organigramme de la direction technique................................................................................................7
Figure 3 : Logo de Tunisiana de 2006 à 2014[1]....................................................................................................8
Figure 4: Logo à partir de 2014 à 2018[1]...........................................................................................................8
Figure 5: Logo à partir de 2018[1].......................................................................................................................8
Figure 6 :Les couches de Cloud Computing [4]..................................................................................................17
Figure 7:Répartition des responsabilités [5].........................................................................................................19
Figure 8 : Virtualisation des serveurs [7].............................................................................................................22
Figure 9 : Hyperviseur type 1 [8].......................................................................................................................23
Figure 10 : Hyperviseur type 2 [9].....................................................................................................................23
Figure 11 : Architecture OpenStack....................................................................................................................31
Figure 12: Cas d'utilisation de l'administrateur....................................................................................................35
Figure 13: Cas d'utilisation du client.................................................................................................................36
Figure 14 : Gestion d'image..............................................................................................................................36
Figure 15 : Gestion de projet.............................................................................................................................37
Figure 16 : Gestion d'utilisateur.........................................................................................................................37
Figure 17 : Gestion des instances.......................................................................................................................38
Figure 18 : Les differentes architectures possibles..............................................................................................39
Figure 19 : Diagramme de cas d'utilisation..........................................................................................................40
Figure 20 : Diagramme de séquence "connexion"...............................................................................................41
Figure 21 : Diagramme de séquence "Création d'une VM"...................................................................................41
Figure 22 : Diagramme de séquence "stocker des données"..................................................................................42
Figure 23 : Déploiement all in one.....................................................................................................................43
Figure 24 : Déploiement sous diffèrent nœuds.....................................................................................................43
Figure 25 : Les composants de chaque nœud[10].................................................................................................44
Figure 26 : Adresse IP fixe ens33.......................................................................................................................53
Figure 27 : Ajout d'adresse localhost.localdomain................................................................................................53
Figure 28 : Vérifier la connexion sur Google.......................................................................................................54
Figure 29 : Mise à jour de VM...........................................................................................................................54
Figure 30 : Vérifier la connectivité du VM..........................................................................................................54
Figure 31 : Désactiver la connexion du VM........................................................................................................55
Figure 32 : Éditer le fichier /etc/sysconfig/selinux...............................................................................................55
Figure 33 : Désactiver le Selinux.......................................................................................................................55
Figure 34 : Install rdo-release............................................................................................................................56
Figure 35 : Installation de rdo-release est terminée..............................................................................................56
Figure 36 : Détails sur les droits.........................................................................................................................57
Figure 37 : Install Openstack-packstack..............................................................................................................57
Figure 38 : Fin de l'installation d'Openstack-packstack.........................................................................................57
Figure 39 : Création de myanserfile.txt...............................................................................................................58
Figure 40 : Éditer le fichier texte myanserfile......................................................................................................58
Figure 41 : Installer les composants nécessaires d'OpenStack...............................................................................58
Figure 42 : La configuration des serveurs sur myanserfile.txt................................................................................59
Figure 43 : Installer le composant Manila...........................................................................................................59
Figure 44 : Nombre d'essais et d'usage est désactivé............................................................................................59
Figure 45 : Mot de passe de l'administration de Dashboard...................................................................................59
Figure 46 : Installation en utilisant les codes de myanserfile.................................................................................60
Figure 47 : Fin de l'installation d'Openstack........................................................................................................61
Figure 48 : Contenu de keystonerc_admin..........................................................................................................61
Figure 49 : Copié le code de configuration de réseau ens33 en le code...................................................................61
Figure 50 : Éditer le fichier de configuration de réseau de br-ex............................................................................61
Figure 51 : Modifié les adresses IP de br-ex........................................................................................................62
Figure 52 : Éditer et modifier le contenu de fichier ifcfg-ens33.............................................................................62
Figure 53 : Redémarrage de la connexion du VM................................................................................................62
Figure 54 : La connexion avec les nouveaux changements d'adresses....................................................................63
Figure 55 : Éditer le fichier plugin.ini pour configurer Neutron.............................................................................63
Figure 56 : Paramétrer les drivers.......................................................................................................................63
Figure 57 : Redémarrer le service Neutron..........................................................................................................63
Figure 58 : Éditer le fichier openvswitch_agent.ini..............................................................................................64
Figure 59 : Remplacer le type de driver en physnet1............................................................................................64
Figure 60 : Redémarrer le service neutron-openvswitch-agent..............................................................................64
Figure 61 : Vérifier l'activation de service Neutron-openvswitch...........................................................................64
Figure 62 : Éditer le fichier l3-agent.ini..............................................................................................................64
Figure 63 : Ajouter br-ex comme un sous-réseau externe......................................................................................65
Figure 64: Vérifier l'activation de service Neutron-l3-agent..................................................................................65
Figure 65 : Prendre keystone_admin comme chemin............................................................................................65
Figure 66 : Création d'un réseau externe se bansant sur physnet............................................................................65
Figure 67 : Dashboard d’authentification au nuage..............................................................................................67
Figure 68 : Vue d’ensemble...............................................................................................................................68
Figure 69 : Crée un Projet.................................................................................................................................69
Figure 70 : Créer un utilisateur..........................................................................................................................70
Figure 71 : Créer un réseau external...................................................................................................................71
Figure 72 : Détails de sous-réseau external..........................................................................................................71
Figure 73 : Créer un routeur..............................................................................................................................72
Figure 74 : Ajouter une interface au routeur........................................................................................................73
Figure 75 : Détails des interfaces du routeur........................................................................................................73
Figure 76 : Graphique de topologie du réseau......................................................................................................74
Figure 77 : Crée une image................................................................................................................................74
Figure 78 : Créer un gabrit................................................................................................................................75
Figure 79 : Créer un groupe de sécurité..............................................................................................................76
Figure 80 : Allouer une IP flottante....................................................................................................................76
Figure 81 : Ajouter une règle ICMP...................................................................................................................77
Figure 82 : Créer un volume..............................................................................................................................77
Figure 83 : Détails de lancement d’ une instance de l'image Windows 10...............................................................78
Figure 84 : Allouer l’image source d'une instance................................................................................................78
Figure 85 : Allouer le gabarit CentOS7...............................................................................................................79
Figure 86 : Allouer le sous-réseau......................................................................................................................79
Figure 87 : Démarrage de l'instance Windows 10................................................................................................80
LISTE DES TABLEAUX
Tableau 1: Etude comparative des différentes technologies de virtualisation 27
Tableau 2: Les versions d’OpenStack 28
INTRODUCTION GENERAL
INTRODUCTION GENERALE
Le développement remarquable du Cloud Computing, ces dernières années, suscite
de plus en plus l’intérêt des différents utilisateurs d'Internet et de l’informatique qui
cherchent à profiter au mieux des services et des applications disponibles en ligne à
travers le web en mode services à la demande et facturation à l’usage. C’est un nouveau
modèle économique que ce modèle informatique promet pour les TIC.
Eneffet, le modèle promet un changement dans le mode d’investissement et
d’exploitation des ressources IT. Avec le Cloud, les organisations, institutions et
entreprises n’ont plus besoin d’investir lourdement dans des ressources informatiques,
nécessairement limitées, et nécessitant une gestion interne lourde et coûteuse.
Aujourd’hui elles ont le choix de migrer vers un modèle Cloud Computing où elles
peuvent acheter ou louer des ressources en ligne. Ce modèle leur épargne les coûts de
gestion interne puisque les ressources informatiques sont administrées au niveau du
fournisseur du Cloud. La disponibilité des services en ligne donne aussi la possibilité de
ne plus s’approprier d’équipements informatiques mais de payer les frais en fonction de
l’utilisation des ressources. Ce modèle attire déjà un grand nombre d’entreprises
notamment les petites et moyennes entreprises « PME » et les très petites entreprises «
TPE ».
Ce modèle informatique offre également la modularité des ressources informatiques
(hard et soft) et leur disponibilité, en terme de volume et dans le temps, selon les
besoins du client et à sa demande. Dans un contexte économique où les entreprises
cherchent à rentabiliser au maximum les investissements et à limiter les coûts
d’exploitation, le Cloud Computing se présente comme étant la solution de demain.
La Société Tunisienne d’Entreprise de Télécommunications « Ooredoo », qui est
considéré comme un acteur de référence dans le domaine des télécommunications
opérant depuis 2002 sur le marché Tunisien, est un de ces organismes qui veulent
s’orienter vers la solution du Cloud.
C’est dans ce cadre que s’inscrit ce Projet de Fin d’Etudes de Licence Appliquée en
Logiciel Libre à L’Institut Supérieur De Sciences Appliquées et De
Technologiesconsistant à l’élaboration, la conceptionet l’implémentation d’un nuage
2
Cloud Computing pour Tunisie Ooredoo en s’appuyant sur des technologies de
virtualisation et de gestionnaire de CloudOpen Source : « OpenStack ». Le présent
document synthétise tout le travail effectué dans cette perspective.
Tout au long de ce projet, nous traiterons cinq chapitres :
Dans le premier chapitre, nous présenterons globalement l’organisme d’accueil, le
sujet à traiter et les tâches à réaliser ainsi la spécification et l’analyse des besoins
permettant d’aboutir aux différents services et fonctionnalités offerts par l’application.
Dans un second chapitre, nous donnerons une vision plus claire sur la notion de
Cloud Computing et de la virtualisation, les différents modèles de ce service et
différents modes de son déploiement ainsi que les différentes solutions Open Source.
Le troisième chapitre sera consacré pour la description de l’architecture de
l’application et à sa conception afin de déterminer les différents modules qui
interagissent au cours de l’implémentation, ainsi nous avons présenté les
diagrammesdiagramme de déploiement, le diagramme de packages et les diagrammes
de séquences.
La dernière décrira la phase de la réalisation ainsi que les différentes interfaces.
La clôture de ce rapport est une conclusion qui rappellera le contexte de ce présent
travail ainsi que l’approche proposée et qui ouvrera les portes à de nouvelles
perspectives.
3
CHAPITRE 1
CONTEXTE GENERAL DE PROJET
4
CHAPITRE 1 : CONTEXTE GENERAL DE PROJET
Introduction
Dans ce chapitre, nous commencerons par présenter l’organisme d’accueil, nous
ferons par la suite une étude et critique de l'existant, puis nous allons présenter notre
solution .Pour finir nous vous présente une description des besoins fonctionnels et non
fonctionnels.
I. Présentation de l’Organisme d’accueil
1. Historique
Ooredoo est le premier opérateur privé de Télécommunication en Tunisie, créé le
11 Mai 2002 et fondé le 17 Mai 2002.
C’est une entreprise publique à caractère industriel et commercial.
Son objectif principal est de moderniser son infrastructure et d’améliorer les services
offerts aux abonnés. Ces objectifs entrent dans le cadre du renforcement de l’entreprise
et compétitive.
Dès son lancement commercial le 27 Décembre 2002, Ooredoo avait pour ambition
de devenir l’opérateur privé de référence sur le marché national de la communication
personnelle.
Aujourd’hui ceci est devenu une réalité grâce au lancement de produit simple de
qualité et à des prix accessibles. Six mois après Ooredoo couvrait déjà 60 % de la
population.
Le 16 Décembre 2004, Ooredoo a passé le cap du million d’abonnés.
La couverture s’est étendue à 99 % de la population dans le courant de l’année
2005.
Ooredoo s’appuie sur les progrès rapides de la technologie pour développer de services
évolués et de qualité .Depuis, le réseau s’est lancé dans une forte densification pour
répondre à la demande croissante et s’est doté des technologies les plus récentes dans le
monde du GSM en particulier GPRS et EDGE) ,pour offrir à tous ses abonnés un accès
« Data » (MMS, Internet) avec des débits très confortables.
5
Vers la fin de 2006, Ooredoo comptait à son actif près de 3 million d’abonnés et
avait raflé près de 46 % de la part du marché. [1]
2.
6
Les qualités d’Ooredoo
Créer des services innovants, satisfaire l’ensemble de leurs abonnés et instaurer
une relation de confiance avec leurs partenaires, telle sont lesobjectifs qui se sont
assigné la société et pour les atteindre, quatre valeurs orientent toutes leurs actions et
accompagne la totalité de leurs engagements : Orientation client, transparence,
professionnalisme et innovation.
3. Organisation d’Ooredoo
Afin d’assurer une bonne présentation à ces clients et un bon fonctionnement de
son réseau de transmission GSM, Ooredoo est basé sur l’interaction de plusieurs
directions complémentaires comme montre la figure ci-dessous :
Figure 1 : Organigramme de Ooredoo
7
Direction
Générale
Direction
Administrative
et Financière
Direction des
Resources
Humaines
Direction
Service Client
Direction de la
régulation et
du business
international
Direction
Technique
Direction
des ventes
Direction
Marketing
Direction
Qualité et
Programme
Département
Juridique
Chapitre 1 Contexte général de Projet
 DG : Direction Générale
 DAF : Direction Administrative et Financière
 DJ : Département Juridique
 DQP : Direction Qualité et Programme
 DV : Direction des ventes
 DT : Direction technique
 DRBI : Direction de la régulation et du business international
 DSC : Direction service client
 DRH : Direction Ressources Humaines
Notre stage a été effectué dans la direction technique(DT), plus précisément dans le
département Support IT et bureautique.
4. Hiérarchie de la direction technique
Le rôle essentiel de la direction technique DT est la conception, le déploiement et
l’exploitation du réseau, l’interconnexion avec les réseaux fixes et mobile de l’opérateur
historique, la supervision du réseau en plein temps, le suivi de la qualité de service, en
plus de la maintenance et la planification du réseau. Cette direction est divisé en quatre
équipes, chacune est responsable d’un ensemble de tâches bien précises comme le
montre la figure ci-dessous :
Figure 2 : Organigramme de la direction technique
8
Chapitre 1 Contexte général de Projet
5. Présentation d’Ooredoo
Opérateur leader de téléphonie mobile en Tunisie, Tunisiana, devenue Ooredoo le
24 avril 2014, est basé sur l’avancement technologique dans le but d’améliorer des
services performantes et de qualité. Pour gagner la confiance de ses clients «Tunisiana
avait bouleversé le paysage des nouvelles technologies en Tunisie »
Dès son lancement commercial le 27 décembre 2002 avec sa gamme de services
novateurs, tout en respectant les standards internationaux.
Ooredoo à lancée les services 3G en juillet 2012 .Ce service a pu couvrir 48% de la
population et par la suite 90% de la population dans le but de couvrir les régions de
l’intérieur de la Tunisie et d’assurer une meilleur qualité vocale en haute définition «
HD wide band AMR ».
Ooredoo a pu déployer un réseau HSPA plus à la fois sur 900 MHZ et 2000 MHZ
grâce à la licence délivrée par l’Etat.[2]
6. Identité visuelle d’Ooredoo
Figure 3 : Logo de Tunisiana de 2006 à 2014[1]
Figure 4: Logo à partir de 2014 à 2018[1]
Figure 5: Logo à partir de 2018[1]
II. Cadre de Projet
Lot 1 :
 Etude du Cloud Computing en termes de principes, avantages, inconvénients,
risques, offres.
 Elaboration d’une solution Cloud Computing qui répond aux besoins de la
société.
9
Chapitre 1 Contexte général de Projet
Lot 2 :
 Développement d’un nuage privé exploitable via un portail qui optimise
l’utilisation des ressources informatiques de la société.
III. Etude préalable
Une étape essentielle de tout projet informatique consiste à effectuer une étude
complète des outils actuels pour lesquels nous voulons apporter des solutions afin de
déceler les défaillances et les insuffisances auxquelles nous devons remédier. En effet
dans la majorité, voir dans la totalité des cas, la mise en place d’un projet est due à un
problème ou un manque dans l’entreprise. Il faut donc bien étudier l’existant pour
aboutir à une spécification efficace des besoins de l’entreprise. Dans ce qui suit, nous
commençons par une description de l’existant et la critique de ses limites et enfin nous
annoncerons la solution.
1. Etude de l’existant
L’entreprise Ooredoo en partenariat avec le leader de solutions Cloud HP fournit
des services de Cloud public destinés aux entreprises qui veulent commander des
machines virtuelles auprès de l’opérateur selon leurs besoins particuliers en se basant
sur le système de virtualisation VMware. Le client interne au sein d’Ooredoo demande à
l’équipe Cloud et support IT de créer des machines virtuelles dont ils leurs attribue le
catalogue de ressources (CPU, RAM,…) cette opération est faite via une plate-forme
centralisée le Vcenter qui facilite la gestion d’environnements VMware, disponible pour
les utilisateurs locaux. Il joue le rôle d’administrateur des hôtes ESX/ESXi connectés au
réseau, et des machines virtuelles présentes sur ces différents hôtes. Cette solution ayant
la possibilité degérer les serveurs et d’y héberger des machines virtuelles. Toutefois,
Ooredoo ne dispose pas d’un cloud privé qui s’adapte aux besoins spécifiques de
l’entreprise.
2. Critique de l’existant
Cette solution comporte des inconvénients tels que :
 Absence d’un outil qui permet à l’administrateur de gagner du temps lors de la
création des machines virtuelles et lui donne toutes les informations nécessaires au lieu
d’aller les chercher dans des fichiers éparpillés quelques part, ce qui l’oblige à gaspiller
10
Chapitre 1 Contexte général de Projet
du temps qui est un facteur très important et qui est pris en compte dans le délai de
création.
Le coût assez élevée de l’exploitation de la solution commerciale, en effet sans clé
de licence saisie à l‘installation ESX présente un mode d’évaluation pour 60 jours. Au-
delà de la période d’évaluation, il n’est plus possible d’accéder à l’hyperviseur. Les
machines virtuelles démarrées restent néanmoins en ligne.
3. Solution proposée
Le projet consiste à étudier et mettre en place un Cloud privé au sein d’Ooredoo via
la solution Cloud IaaS basée sur OpenStack .Chaque utilisateur devra avoir la possibilité
de gérer ses ressources sans l’intervention d’un administrateur grâce à un portail
accessible à travers une interface Web. Ainsi, chaque client pourra, tout seul, créer et
utiliser des machines virtuelles et modifier ses ressources en cas de besoin. Cette
solution propose aussi à l’administrateur Cloud un portail qui lui permet de faire le
monitoring des serveurs virtuels. Il pourra aussi gérer les comptes des utilisateurs à
travers son propre portail.
Les tâches à réaliser :
 Etude de projet
 Installation le système d’exploitation CentOS7
 Installation d’OpenStack
 Créer les différents services fournit par OpenStack
 Créer des machines virtuelles pour clients d’Ooredoo
4. Objectif du Projet
Le Cloud Computing (IaaS) traduit un ensemble des services d’infrastructure qui
sont opérés par un hébergeur tiers. L’objectif de notre stage est de garantir une
exploitation du système d’information plus souple et flexible, en accord avec les besoins
métiers à tout instant. Notre solution doit garantir les services suivants :
 Gestion unifiée :A l’inverse d’une gestion et supervision des multiples
systèmes, la gestion de l’infrastructure se fait à travers une « interface ».
11
Chapitre 1 Contexte général de Projet
 Services à la demande :Les besoins métiers sont variables. L’IT doit être réactif
pour fournir des services performants et en un minimum de temps. Ainsi les niveaux de
services fournis par les acteurs de l’IaaS répondent à de tels enjeux.
 Interopérabilité :Les infrastructures on-prémisses sont souvent soumises à
des contraintes techniques propriétaires (exemple : middlewares spécifiques pour
certaines infrastructures physiques). L’IaaS réduit désormais les problématiques à la
bonne définition du besoin technique.
L’IaaS permet de se dégager des adhérences fortes qui lient les DSI aux produits et
vendeurs, et donc des complexités techniques, logistiques, contractuelles. Elles peuvent
d’avantage se concentrer sur les innovations et les besoins métiers.
Mais mener une transition vers l’IaaS, nécessite des bases techniques et processus
solides.
IV. Analyse et spécifications des besoins
La spécification des besoins constitue la base de départ de toute application .Il est
alors indispensable de parvenir à une vision claire des différentes facettes du projet et de
bien comprendre les besoins des utilisateurs.
1. Besoins fonctionnels
 Création de comptes utilisateurs et leurs attribuer les privilèges associées.
 Modification des comptes utilisateurs en cas de besoin tout en ayant la
possibilité de désactiver provisoirement un compte.
 Création de projets, leurs associer des comptes utilisateurs et leurs attribuer le
catalogue de ressources et services associées.
 Modification de projet en cas de besoin tout en ayant la possibilité de désactiver
provisoirement le projet.
 Création des instances de machines virtuelles par les utilisateurs : ajout,
modification, et suppression des instances des machines virtuelles ainsi que les
ressources et les services associés tout en respectant les limites autorisées dans les
paniers de ressources du projet associé.
2. Besoins non fonctionnels
La fiabilité:L’application doit fonctionner de façon cohérente sans erreurs et doit être
satisfaisante.
12
Chapitre 1 Contexte général de Projet
La disponibilité :l’application doit être disponible pour être utilisée à tout instant et
n’importe quel endroit où l’utilisateur se trouve.
L’ergonomie :L’application offre une interface conviviale et facile à utiliser.
L’utilisabilité : l’interface de l’application doit être claire pour que l’utilisateur ait la
possibilité de l’utiliser sans problème ou difficulté.
Conclusion
Ce chapitre introductif a été consacré essentiellement à la présentation de la société
d’accueil Ooredoo Tunisie. Ainsi, nous avons discuté le contexte et la critique du
l’existant et la solution proposée qui constituera le sujet de notre projet et nous avons
terminé par la présentation des diagrammes de cas d’utilisation générale et détaillés.
En vue de suivre un avancement logique dans ce rapport, l’état de l’art fera l’objet
du chapitre suivant.
13
Chapitre 1 Contexte général de Projet
CHAPITRE 2 : CLOUD
COMPUTING :ETATDE L’ART
14
CHAPITRE 2 : CLOUD COMPUTING : ETAT DE L’ART
Introduction
Dans ce chapitre nous ferons une description des nouvelles technologies utilisées
tout au long de la réalisation de notre projet d’où la définitiondu Cloud Computinget de
la virtualisation.
I. Notion de Cloud Computing
Le Cloud Computing est un paradigme informatique, où un grand groupe de
systèmes sont connectés dans des réseaux privés ou publics, pour fournir une
infrastructure évolutive dynamiquement pour l’application, les données et le stockage
de fichiers. Avec l’avènement de cette technologie, le coût du calcul, de l’hébergement
des applications, du stockage de contenu et de la livraison est considérablement réduit.
L’informatique en nuage est une approche pratique pour l’expérience des avantages de
coûts directs et il a le potentiel de transformer un centre de données à partir d’une mise
en valeur à forte intensité de capital à un environnement à prix variable.
L’idée de l’informatique en nuage repose sur un principe fondamental de la
«réutilisation des capacités informatiques». La différence que le Cloud Computing
apporte par rapport aux concepts traditionnels de l’informatique en grille, de
l’informatique distribuée, de l’informatique utilitaire ou de l’informatiqueautonome est
d’élargir les horizons à travers les limites organisationnelles
II. Historique de Cloud Computing
L’idée du Cloud Computing a pris naissance en 1990 et surtout en 1991 avec la naissance
d’Internet et la mise sur le marché du logiciel CERN qui a été le premier logiciel accessible
par le Web. Ensuite, l’idée a progressé avec l’apparition de nouvelles solutions IT le
lancement du navigateur Mosaic en 1993 et celui du navigateur Netscape en 1994. En 1995, la
découverte d’EBay et d’Amazon a encore accéléré le processus. Enfin, le lancement en 1996
15
de l’assistant Palm PDA a donné une nouvelle impulsion.En 2000, l’arrivée de Google a
favorisé une réelle émergence du Cloud Computing. Dans l’avenir, le Cloud Computing
devrait connaître une belle croissance car moins de 10% des sociétésy avaient recours en
2009. Nous prévoyons que 30 à 50 % des sociétés devraient utiliser ce service bien que les
entreprises semblent préférer le cloud privé. Il se peut que l’arrivée de nouvelles solutions IT
provoque une accélération du phénomène.[3]
III. Les formes de déploiement du Cloud Computing
Les entreprises peuvent choisir de déployer des applications sur des Clouds publics, privés ou
hybrides. Les intégrateurs Cloud peuvent jouer un rôle essentiel dans la détermination du bon
chemin de Cloud pour chaque organisation. Nous distinguons trois formes de Cloud Computing
tels que le Cloud public, également le premier apparu, le Cloud privé et le Cloud hybride qui est
en fait la combinaison des deux premiers.
1. Le Cloud public
Les nuages publics sont détenus et exploités par des tierces parties, ils offrent des
économies d’échelle supérieures aux clients, car les coûts d’infrastructure sont répartis entre
un mélange d’utilisateurs, donnant à chaque client un modèle attrayant à faible coût Pay-as-
you-go (payer selon la consommation). Tous les clients partagent le même pool
d’infrastructure avec une configuration limitée (demande de lourds investissements pour le
fournisseur de services), des protections de sécurité (n’est pas sécurisé) et des écarts de
disponibilité (Offre un maximum de flexibilité). Ceux-ci sont gérés et pris en charge par le
fournisseur de Cloud notamment qu’Amazon et Google. Un des avantages d’un Cloud public
est :
 Plus grands qu’un nuage d’entreprises
 Offre la possibilité de s’adapter de manière transparente, sur demande.
2. Le Cloud privé
C'est un environnement déployé au sein d'une entreprise. Ainsi, elle doit gérer toute
seule son infrastructure. Dans ce cas, implémenter un Cloud privé signifie transformer
16
Chapitre 2 Cloud Computing : Etat de L’art
l'infrastructure interne en utilisant des technologies telles que la virtualisation pour enfin
délivrer, plus simplement et plus rapidement, des services à la demande. L'avantage de
ce type de Cloud par rapport au Cloud public réside dans l'aspect de la sécurité et la
protection des données.
En effet, l'ensemble du matériel est conservé au sein de votre propre emplacement. De
ce fait, les ressources sont détenues et contrôlées par votre propre département
informatique.
Ce modèle est :
 Cher pour le client.
 Dédié et sécurisé.
 Moins flexible comparé au Cloud public.
3. Le Cloud hybride
Les Clouds hybrides combinent des modèles Cloud publics et privés. Avec un Cloud
hybride, les fournisseurs de services peuvent utiliser des fournisseurs de Cloud tiers de
manière complète ou partielle, augmentant ainsi la souplesse de l’informatique.
L’environnement Cloud hybride est capable de fournir à la demande une échelle provisionnée
en externe. La possibilité d’augmenter un nuage privé avec les ressources d’un Cloud public
peut être utilisée pour gérer toute surtension inattendue dans la charge de travail.
IV.
V. Les modules de Cloud Computing
La figure 12 ci-dessous représente les trois couches du Cloud Computing de la couche la
moins visible pour les utilisateurs finaux à la plus visible. L’infrastructure as a Service (IaaS)
est plutôt gérée par les architectes réseaux, la couche PaaS est destinée aux développeurs
d’applications et finalement le logicielle comme un service (SaaS) est le « produit final » pour
les utilisateurs.
17
Chapitre 2 Cloud Computing : Etat de L’art
Figure 6 :Les couches de Cloud Computing [4]
1. IaaS - Logiciel en tant que service (Infrastructure as a Service)
Désigne que nous disposons d’une infrastructure (serveurs, stockage, réseau) hébergée
dans les centres de données cloud. L’accès à la ressource est complet et sans restriction,
équivalent de fait à la mise à disposition d’une infrastructure physique réelle.Si vous
souhaitez utiliser ce matériel virtualisé ou cesserveurs, nous devons payer les fournisseurs de
cloud.
a. Avantages
 Eviter l’achat et la gestion de matériel.
 Offre une grande flexibilité.
 Contrôle total des systèmes (administration à distance par ssh ou RDP).
 Capacité de stockage infini.
b. Inconvénients
Besoin d'administrateurs systèmecomme pour les solutions serveurs classiques sur site.
Demande pour les acteurs du cloud des investissements très élevés
c. Prestataires
AmazonEC2, RackSpace, Terremark, GoGrid.
2. PaaS - Plate-forme en tant que service (Plateform as a Service)
18
Chapitre 2Cloud Computing : Etat de L’art
Ce module permet aux utilisateurs de créer leurs propres applications Cloud à l'aide de
fournisseurs de services Cloud avec des outils et des langues spécifiques simplifiés. PaaS est
un service totalement intégré pour les bases de données, les applications Web et les
déploiements.
a. Avantages
 Facilite à gérer les développements des applications
 Le déploiement est automatisé, pas de logiciel supplémentaire à acheter ou à installer.
 Pas d’infrastructure nécessaire
 Pas d’installation
b. Inconvénients
 L’application doit être programmée pour la plate-forme cible.
 La sécurité des données doit être prise en compte et analysée, car les informations sont
stockées hors site.
 La récupération des donnés peut être difficile.
 Un fournisseur de PaaS moins qu'idéal pourrait laisser votre entreprise frustrée, besoin
de bons niveaux de vitesse, de fiabilité et de support pour que PaaS en vaille la peine.
c. Prestataires
Google avec Google App Engine, Microsoft avec Windows Azure, Force.com.
3. SaaS – Application en tant que Service (Software as a Service)
Concept consistant à proposer un abonnement à un logiciel plutôt que l'achat d'une
licence. Nous oublions donc le modèle client-serveur et aucune application n'est
installée sur l'ordinateur, elles sont directement accessible à partir de divers
périphériques client via une interface de client léger telle qu’un navigateur Web.
L’utilisation reste transparente pour les utilisateurs, qui ne se soucient ni de la
plateforme, ni du matériel, qui sont mutualisés avec d’autres entreprises. Le SaaS
remplace l'ASP, aussi appelé fournisseur d'applications hébergées ou FAH, ou
application service provider en anglais ou ASP, qui est une entreprise qui fournit des
logiciels ou des services informatiques à ses clients au travers d'un réseau.
a. Avantages
 Pas d’installation
 Pas de mise à jour.
19
Chapitre 2Cloud Computing : Etat de L’art
 Plus de licence.
 Paiement à l’usage.
 Facilité de faire le test de nouveaux logiciels.
b. Inconvénients
 Dépendance total du prestataire.
 Difficulté de changement de prestataire.
 Le coût du fonctionnement en mode SaaS peut-être nettement supérieur à
l’acquisition de l’application.
 Interruptions de service.
c. Prestataires
Google avec Google Drive, Microsoft avec Office 365.
Figure 7:Répartition des responsabilités [5]
20
Chapitre 2 Cloud Computing : Etat de L’art
VI. Avantages et inconvénients du Cloud Computing
1. Avantages
 Un démarrage rapide
Le Cloud Computing permet de tester le business plan rapidement à coût réduits
et avec facilité.
 Un développement plus rapide des produits
Réduction du temps de recherche pour les développeurs sur le paramétrage des
applications.
 L’agilité pour l’entreprise
Résolution des problèmes de gestion informatique simplement sans savoir à
s’engager à long terme.
 Pas de dépense de capital
Plus besoin des locaux pour élargir les infrastructures informatiques.
2. Inconvénients
 La bande passante peut faire exploser le budget
La bande passante dans le Cloud Computing est gigantesque, et les coûts
importants qu'il est plus avantageux d'acheter le stockage que de payer quelqu'un
d'autre pour s'en charger.
 Les performances des applications peuvent être amoindries
Un Cloud public n'améliorera définitivement pas les performances des
applications
 La fiabilité du Cloud
Un grand risque lorsque nous mettons une application qui contient des
informations clients dans le Cloud ou qui donne des avantages compétitifs.
 Taille de l’entreprise
Si l’entreprise est grande alors les ressources sont énormes, donc plus de
consommation du Cloud. Il est intéressant à mettre au point son propre Cloud et
de ce fait là on passe d’une petite consommation à une consommation plus
importante et les gains seront bien plus importants.[6]
VII. Virtualisation
1. Le Cloud et la virtualisation :
Le Cloud et la virtualisation sont étroitement liées. En effet, d’un côté, le
déploiement du Cloud nécessite l’utilisation d’un hyperviseur qui assurera la
21
Chapitre 2 Cloud Computing : Etat de L’art
virtualisation des ressources. D’un autre côté, le Cloud propose plusieurs projets qui
proposent plusieurs services qui permettent la gestion des ressources. Dans cette partie,
nous nous intéresserons aux technologies de virtualisation ainsi qu’aux solutions Cloud
en particulier la solution OpenStack.
2. Notion de virtualisation
La virtualisation consiste en la création d'une version virtuelle (par opposition à
réelle) d'un ou de plusieurs éléments, tel qu'un système d'exploitation, un serveur, un
dispositif de stockage ou des ressources réseau. En informatique, la virtualisation fait
d'énormes progrès dans trois domaines : le réseau, le stockage et les serveurs.La
virtualisation repose sur le mécanisme suivant :
 Un système d'exploitation principal (appelé « système hôte ») est installé sur un
serveur physique unique. Ce système sert d'accueil à d'autres systèmes d'exploitation.
 Un logiciel de virtualisation (appelé « hyperviseur ») est installé sur le système
d'exploitation principal. Il permet la gestion des machines virtuelles installé sur ce
système.
 Une couche logicielle qui fournit l’environnement sur lequel les différentes
machines s’exécutent.
 Un système invité est installé dans une machine virtuelle qui fonctionne
indépendamment des autres systèmes invités dans d'autres machines virtuelles. Chaque
machine virtuelle dispose d'un accès aux ressources du serveur physique (mémoire,
espace disque…)
Nous distinguons plusieurs types de virtualisation :
 Virtualisation de stockage
 Virtualisation de réseau
 Virtualisation de serveurs
3. Virtualisation de serveurs
La virtualisation des serveurs consiste à faire fonctionner plusieurs machines
virtuelles (serveurs virtuels, système d’exploitation, etc.) au sein d’un seul serveur
physique. Mais dans quels intérêts ? Il faut revenir sur le fait que, chez plusieurs
entreprises, les serveurs sont utilisés uniquement à 15% de leur capacité ce qui mène à
des coûts d’investissements et de maintenance très élevés pour une piètre performance.
22
Chapitre 2Cloud Computing : Etat de L’art
De coup, un serveur exploitant ces capacités s’avère plus économe qu’un ensemble
utilisant uniquement un faible pourcentage de ces capacités.
Ainsi, la virtualisation des serveurs offre une grande flexibilité dans la répartition
des charges pour une utilisation optimale des ressources ainsi que plusieurs autres
avantages dont nous citons :
 Réduction des coûts en matériel et en exploitation (entretien, consommation,
etc.) des sauvegardes et des snapshots simplifiés.
 Mise en place d’un cloud privé : déploiement d’un ensemble de services sous
forme de machines virtuelles dimensionnées pour transformer l’informatique en un
centre de services.
Figure 8 : Virtualisation des serveurs [7]
a. Les hyperviseurs
En informatique, un hyperviseur est une plate-forme de virtualisation qui permet à
plusieurs systèmes d'exploitation de travailler sur une même machine physique en
même temps.
Les hyperviseurs sont classés actuellement en deux catégories :
Un hyperviseur de Type 1, ou natif, est un logiciel qui s'exécute directement sur une
plateforme matérielle, cette plateforme est alors considérée comme outil de contrôle de
système d'exploitation. Un système d'exploitation secondaire peut, de ce fait, être
exécuté au-dessus du matériel.
23
Chapitre 2 Cloud Computing : Etat de L’art
Les machines virtuelles utilisant un noyau Linux KVM, qui transforment un noyau
Linux complet en hyperviseur, sont également considérées comme hyperviseurs de type
1.
Figure 9 : Hyperviseur type 1 [8]
Un hyperviseur de type 2 est un logiciel qui s'exécute à l'intérieur d'un autre
système d'exploitation. Un système d'exploitation invité s'exécutera donc en troisième
niveau au-dessus du matériel. Les systèmes d'exploitation invités n'ayant pas conscience
d'être virtualités, ils n'ont pas besoin d'être adaptés. Quelques exemples de tels
hyperviseurs sont VMware Workstation, VMware Fusion, l'hyperviseur open source
QEMU, les produits Microsoft Virtual PC et Virtual Server, Virtual Box d'Oracle, de
même que Parallels Workstation de SWsoft et Parallels Desktop.
Le terme appel hyperviseur ou hypervisor call, ou hypercall, fait référence à l'interface
de para virtualisation, par laquelle un système d'exploitation « invité » accède
directement à des services à travers le logiciel de contrôle de niveau élevé (le terme
superviseur fait référence au noyau du système d'exploitation qui sur les mainframes
IBM.
24
Chapitre 2 Cloud Computing : Etat de L’art
Figure 10 : Hyperviseur type 2[9]
b. Etude comparative des différentes technologies
virtualisation
Cette partie présente les principaux avantages et inconvénients des différentes
technologies de virtualisation qui sont les plus utilisées dans le domaine professionnel.
 Hyperviseur (KVM)
 Avantages
• Logiciel libre qui ne nécessite pas de frais de licence
• Multi-plate-forme
• Permet la migration à chaud des machines virtuelles
• Très stable
• Comporte plusieurs options
• Intégré au noyau Linux
• Sécurité avancée : KVM intègre des fonctions de sécurité (SE Linux) et
la bibliothèque sVirt.
 Inconvénients
• Moins performant par rapport à ESXi dans pratiquement tous les
domaines.
 Hyperviseur (Xen)
 Avantages
• Grande évolutivité (migration en temps réel)
• Robuste, performant et mature (comparativement aux solutions
commerciales
25
Chapitre 2 Cloud Computing : Etat de L’art
• Open source, moyen de créer une base commune (standard ouvert) sur
laquelle chacun eut développé sa valeur ajoutée en comparaison d’une offre
100% propriétaire comme VMware.
 Inconvénients
• Modifier les couches basses des systèmes d’exploitation hôtes, afin qu’ils
puissent collaborer avec l’hyperviseur. Ces modifications sont assez intrusives et
altèrent profondément la façon dont le noyau travaille en interne.
 Hyperviseur(ESXi)
 Avantages
• Possède son système d’exploitation basé sur Linux.
• La solution la plus performante sur le marché -VMware propose d’autres
produits qui permettent de gérer les ESXi et de créer des vCenter et des vCloud.
 Inconvénients
• Licence non gratuite et cout de déploiement élevé.
 Hyperviseur (Hyper-V)
 Avantages
• Produit libre Intégré dans noyau de linux
 Inconvénients
• Moins performant
c. Etude comparatifs entre les solutions Cloud Computing
Afin de caractériser chaque solution Open Source et permettre le choix adéquat
pour la construction d’un Cloud, nous avons réalisé une étude comparative de trois
solutions libre en se basant sur différents critères de classification :
4. Le choix de la solution
Dans les paragraphes précédents, nous avons présenté de logiciels permettant de
créer des solutions Cloud Computing. La mise de l’environnement de ce dernier
nécessite initialement le choix d’une solution.
26
Chapitre 2 Cloud Computing : Etat de L’art
OpenStack OpenNebula Eucalyptus
Type de
service
IaaS IaaS IaaS
Type de
service
Evolutif Evolutif Evoluti
f
API
(Application
Programming
Interface)
OpenStack
API
Amazon API Amazon API
Flexibilité Plus
flexible que
CloudStack
Plus flexible Le moins
flexible
Hyperviseurs Xen, KVM,
ESX/ES Ci
Xen, KVM,
ESX/ES Ci,
LXC
Xen,
KVM,
ESX/ESX
i
Architecture Intégration
des deux
composants
OpenStack
Object et
OpenStack
Compute
Centralisé
Trois
composants
Minimum
deux serveur
Hiérarchi
que Cinq
composan
ts
Supporten
t multiple
cluster
Minimum
deux
serveurs
Systèmes
d'exploitation
supportés
Linux et
récemment
Windows
Exige x86
processor
Linux
(Ubuntu,
RedHat
Enterprise
Linux,
Fedora et
SUSE Linux
Enterprise
Server)
Linux
(Ubuntu,
Fedora,
CentOS,
OpenSUS
E et
Debian)
Langage de Python Java, Ruby, Java, C+
27
Chapitre 2 Cloud Computing : Etat de L’art
programmati
on
C++ +, Python
Interface
Utilisateur
Interface
Web
EC2 WS API
OCCI API
EC2 WS
API
Outils tel
que :
Hybridfox
,
Elasticfox
Tableau 1: Etude comparative des différentes technologies de virtualisation
Donc la solution qui convient le mieux et qui répond aux besoins de l’entreprise est
OpenStack.
¤ Modulaire et innovante
¤ Evolutive
¤ Open source sécurisé en (Sous licence libre)
¤ Extensible
5. OpenStack, la solution adoptée
OpenStack est un ensemble de logiciels Open Source permettant de déployer des
infrastructures de cloud computing (infrastructure en tant que service).
La technologie possède une architecture modulaire composée de plusieurs projets
corrélés (Nova, Swift, Glance...) qui permettent de contrôler les différentes ressources
des machines virtuelles telles que la puissance de calcul, le stockage ou encore le réseau
inhérents au centre de données sollicité. Il est développé en grande partie par la société
RackSpace qui s’est associée à la NASA pour développer un outil libre et standardisée
sous licence Apache 2.0. Le projet débuta en juillet 2010, il est aujourd’hui (depuis la
version Essex en réalité) utilisable dans un environnement de production ».
a. Les versions d’OpenStack
Nom Date Composants inclus
Austin 21 octobre 2010 Nova, Swift
Bexar 3 février 2011 Nova, Glance, Swift
Cactus 15 avril 2011 Nova, Glance, Swift
Diable 22 septembre Nova, Glance, Swift
28
Chapitre 2 Cloud Computing : Etat de L’art
2011
Essex 5 avril 2012 Nova,Glance,Swift,Horizon, Keystone
Folsom 27 septembre
2012
Nova,Glance,Swift,Horizon, Keystone
Grizzly 4 avril 2013 Nova,Glance,Swift,Horizon, Keystone,
Quantum, Cinder
Havana 22 octobre 2o13 Nova,Glance,Swift,Horizon, Keystone,
Neutron,Cinder,Heat, Ceilometer, Trove
Icehouse 17 avril 2014 Nova,Glance,Swift,Horizon, Keystone,
Neutron,Cinder,Heat, Ceilometer, Trove,
Sahara
Juno 16 octobre 2014 Nova,Glance,Swift,Horizon, Keystone,
Neutron,Cinder,Heat,Ceilometer,Trove,
Sahara
Kilo 30 avril 2015 Nova,Glance,Swift,Horizon, Keystone,
Neutron,Cinder,Heat, Ceilometer, Trove,
Sahara, Ironic
Liberty 26 octobre 2015 Nova,Glance,Swift,Horizon, Keystone,
Neutron,Cinder,Heat, Ceilometer, Trove,
Sahara,Ironic,Search,Light,Designate, Zaqar,
Barbican, Manil
Mitaka 7 avril 2016 Nova, Glance, Swift, Horizon, Keystone,
Neutron,Cinder, Heat,Ceilometer, Trove,
Sahara,Ironic,Search,Light,Designate, Zaqar,
Barbican, Manil
Tableau 2: Les versions d’OpenStack
 Pour La réalisation de notre projet nous avons utilisé la version Mitaka.
b. Les principaux composants logiciels d’OpenStack
 Nova :
Le service nova représente le « cœur » d’OpenStack développé à l’origine par la
NASA, Son rôle est principalement la gestion des hyperviseurs (ordonnanceur et gestion
des machines virtuelles) ainsi que le contrôle des ressources (CPU, RAM, réseaux et
stockages).
 Glance :
29
Chapitre 2 Cloud Computing : Etat de L’art
Le service d'image d'OpenStack s'appelle Glance. Il permet la découverte, l'envoi et
la distribution d'image disque vers les instances. Les images stockées font office de
modèle de disque. Le service Glance permet aussi de stocker des sauvegardes de ces
disques. Glance peut stocker ces images disques de plusieurs façons : dans un dossier
sur serveur, mais aussi à travers le service de stockage objet d'OpenStack ou dans des
stockages décentralisés comme Ceph. Glance ne stocke pas seulement des images, mais
aussi des informations sur celles-ci, les métadonnées. Ces métadonnées sont par
exemple le format du disque (comme QCOW2 ou RAW) ou les conteneurs de celles-ci
(OVF par exemple).
 Keystone :
Le service d'identité d'OpenStack s'appelle Keystone. Il fournit un annuaire central
contenant la liste des services et la liste des utilisateurs d'OpenStack ainsi que leurs
rôles et autorisations. Au sein d'OpenStack tous les services et tous les utilisateurs
utilisent Keystone afin de s'authentifier les uns avec les autres. Keystone peut
s'interfacer avec d'autre service d'annuaire comme LDAP. Il supporte plusieurs formats
d'authentification comme les mots de passe et autres.
 Neutron :
Le service Neutron d'OpenStack (anciennement Quantum) permet de gérer et manipuler
les réseaux et l'adressage IP au sein d'OpenStack. Grâce à Neutron, les utilisateurspeuvent
créer leurs propres réseaux, contrôler le trafic à travers des groupes de sécurité (Security
groups) et connecter leurs instances à un ou plusieurs réseaux. Neutron gère aussi l'adressage
IP des instances en leur assignant des adresses IP statiques ou par l'intermédiaire du service
DHCP. Il fournit aussi un service d'adresse IP flottante que nous pouvons l’assigner aux
instances afin d'assurer une connectivité depuis Internet. Ces adresses IP flottantes peuvent
être réassignées à d'autres instances en cas de maintenance ou de défaillance de l'instance
originelle.
30
 Swift :
Le stockage objet d'OpenStack s'appelle Swift. C'est un système de stockage de
données redondant et évolutif. Les fichiers sont écrits sur de multiples disques durs
répartis sur plusieurs serveurs dans un Datacenter. Il s'assure de la réplication et de
l'intégrité des données au sein du cluster. Le cluster Swift évolue horizontalement en
rajoutant simplement de nouveaux serveurs. Si un serveur ou un disque dur tombe en
panne, Swift réplique son contenu depuis des nœuds actifs du cluster dans des
emplacements nouveaux. Puisque toute la logique de Swift est applicative, elle permet
l'utilisation de matériel peu coûteux et non spécialisé.
 Cinder :
Service de stockage en mode bloc d'OpenStack s'appelle Cinder. Il fournit des
périphériques persistants de type bloc aux instances OpenStack. Il gère les opérations de
création, d'attachement et de détachement de ces périphériques sur les serveurs. En plus
du stockage local sur le serveur, Cinder peut utiliser de multiples plateformes de
stockage tel que Ceph, EMC (ScaleIO, VMAX et VNX), GlusterFS, Hitachi Data
Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System,
et GPFS), NetApp, HP (StoreVirtual et 3PAR) et bien d'autres.
Le stockage en mode bloc est utilisé pour des scénarios performants comme celui du
stockage de base de données, mais aussi pour fournir au serveur un accès bas niveau au
périphérique de stockage. Cinder gère aussi la création d'instantanés (snapshots), très
utile pour sauvegarder des données contenues dans les périphériques de type bloc. Les
instantanés peuvent être restaurées ou utilisées pour créer de nouveaux volumes.
 Horizon :
OpenStack fournit un tableau de bord qui s'appelle Horizon. Il s'agit d'une
application web qui permet aux utilisateurs et aux administrateurs de gérer leurs Clouds
à traversune interfacegraphique. Comme toutes les briques d'OpenStack cette
application est libre et il n'est donc pasrare de voir des versions modifiées par les
fournisseurs de cloud computing ou par d'autres sociétés commerciales ne serait-ce que
pour y faire apparaitre leur nom et logo, maisaussi pour y intégrer leurs systèmes de
métrologie ou de facturation par exemple. Cette application est écrite en python et
notamment grâce aux Framework de développement web tels que Django et elle tire
31
Chapitre 2 Cloud Computing : Etat de L’art
parti des API REST fournies par les autres composants d'OpenStack comme Nova,
Cinder ou Neutron.
Figure 11 : Architecture OpenStack
D’autres composants s’ajoutent chaque semestre à cette liste et viennent
progressivement enrichir le Framework OpenStack, nous pouvons noter parmi
eux :
 Ironic :
Ce composant permet la gestion du « Bare Metal » plus précisément des véritables
ordinateurs et non pasdes machines virtuelles. Il se charge aussi de démarrage et
d’extinction des ordinateurs.
 Heat :
Heat est le composant d'orchestration d'OpenStack. Il permet de décrire une
infrastructure sous forme de modèles. Dans Heat, ces modèles sont appelés des
stack. Heat consomme ensuite ces modèles pour aller déployer l'infrastructure
décrite sur OpenStack. Il peut aussi utiliser les métriques fournies par Ceilometer
32
Chapitre 2 Cloud Computing : Etat de L’art
pour décider de créer des instances supplémentaires en fonction de la charge d'une
application par exemple.
33
 Ceilometer :
Le service de télémétrie d'OpenStack s'appelle Ceilometer. Il permet de collecter
différentes métriques sur l'utilisation du cloud. Par exemple il permet de récolter le
nombre d'instances lancé dans un projet et depuis combien de temps. Ces métriques
peuvent être utilisées pour fournir des informations nécessaires à un système de
facturation par exemple. Ces métriques sont aussi utilisées dans les applications ou par
d'autres composants d'OpenStack pour définir des actions en fonction de certains seuils
comme avec le composant d'orchestration.
 Trove :
Trove est le service qui permet d'installer et de gérer facilement des instances de
base de données relationnelle et No SQL au sein d'OpenStack. À ce jour les services de
base de données supportés sont les suivants : MySQL, Redis, PostgreSQL, Mongo dB,
Cassandra, Couchbase et Percona.
 Sahara :
Sahara a pour but de fournir aux utilisateurs les moyens simples de provisionner
des clusters de Hadoop en spécifiant plusieurs paramètres comme la version, la
topologie du cluster ou d'autres. Après avoir rempli ces paramètres, Sahara déploie le
cluster en quelques minutes. Sahara fournit aussi les moyens d'évolution du cluster en
rajoutant des nœuds à la demande.
Conclusion
Dans ce chapitre, nous avons entamé par la définition duCloud computing puis
nous avons de la virtualisation, ensuite nous avons présenté l’OpenStack notre solution
adopter et nous avons fini par la présentation et l’explication des différents versions et
composants, nous avons maintenant une idée sur la solution à adopter et qui sera
présenté dans le chapitre suivant : Conception de l’application OpenStack.
34
Chapitre 2 Cloud Computing : Etat de L’art
CHAPITRE 3 : CONCEPTION DE
L’APPLICATION OPENSTACK
35
CHAPITRE3: CONCEPTION DE L’APPLICATION
OPENSTACK
Introduction
Dans ce chapitre nous commencerons parune présentation de l’architecture générale
puis le diagramme de déploiement, ainsi que le diagramme de packages et nous
finissons par les diagrammes de séquences.
I. Conception
La conception est une étape nécessaire dans la réalisation d’une application web tel
que la création d’une application. Elle regroupe les activités d’étude qui suivent la
spécification, et ce jusqu’au codage.
La conception est donc une étape à ne pas négliger, elle rend le développent plus fidèle
aux besoins clients.
L’analyse conceptuelle représente la modélisation des données à partir des besoins et de
l’existant.
Tout au long de ce chapitre nous allons implémenter notre schéma conceptuel.
II. Description des diagrammes
Un diagramme est une représentation visuelle simplifiée et structurée des idées, des
constructions, des relations des données statiques. Il est employé dans tous les aspects
des activités humaines pour visualiser et éclaircir la matière. Un diagramme permet
aussi de décrire des phénomènes, de mettre en évidence des corrélations en certains
facteurs ou de représente des parties d’un ensemble.
À cet effet, nous avons choisi de mettre en relief les diagrammes de
modélisationqui ont paru indispensables pour la compréhension du fonctionnement du
système.
III. Spécification générale
La spécification générale des exigences se fait à partir de l’expression des besoins,
et ce à travers le diagramme des cas d’utilisation.
Ce diagramme possède deux composantes essentielles qui sont les acteurs et les
cas d’utilisation.
36
IV. Identification des acteurs
Un acteur est une personne, un matériel ou un logiciel qui interagissent avec le
système dans le but de réaliser une plus-value.
Les principaux acteurs qui sont définit dans le cadre de ce projet sont :
 Administrateur
Cet acteur a le droit de gérer toutes les ressources des projets ainsi que tous les clients et
leurs rôles. Il possède les droits administratifs qui lui permettent de contrôler tout le
nuage et d’accéder à l’interface d’administration sur le portail « Dashboard » ainsi qu’à
tous les autres projets.
 Le client
Cet acteur a le droit de gérer les instances et les images des machines virtuelles ainsi
que les bases de données qui sont associées au projet dans lequel il est affecté.
V. Identification des cas d’utilisations
Après avoir distingué les principaux acteurs nous allons présenter les différentes
fonctionnalités de ces derniers par les diagrammes de cas d’utilisation.
1. Diagramme de cas d’utilisation système administrateur
Le diagramme ci-dessous donne à l’administrateur la possibilité de gérer toutes, les
instances et les images. En plus, il gère les projets ainsi que les utilisateurs et leurs rôles.
Chaque administrateur doit s’authentifier avant d’accéder au portail.
Figure 12: Cas d'utilisation de l'administrateur
37
Chapitre 3 Conception de l’application OpenStack
2. Diagramme de cas d’utilisation système client
Ce diagramme donne à chaque client un accès limité par rapport à l’administrateur,
cet acteur peut gérer ses propres images et instances ainsi que les réseaux et les
volumes. Chaque client doit aussi s’authentifier avant d’accéder au portail.
Figure 13: Cas d'utilisation du client
3. Diagrammes de cas d’utilisations détaillés
a. Cas d’utilisations gestion des images
La gestion des images est un processus qui se représente par la création ou la
suppression d’une image de machine virtuelle, cela est faisable par l’administrateur ou
encore par le client.
Figure 14 : Gestion d'image
38
Chapitre 3 Conception de l’application OpenStack
b. Cas d’utilisation gestion des projets
Le diagramme de cas d’utilisation illustré par la figure (15) définit quelques
fonctionnalités que peut effectuer un administrateur. Il montre le cas correspondant à
l’ajout et à la modification d’un projet.
Figure 15 : Gestion de projet
c. Cas d’utilisation gestion des utilisateurs
La figure ci-dessous montre les fonctionnalités associées à l’administrateur pour
assurer les gestions des utilisateurs.
Figure 16 : Gestion d'utilisateur
39
Chapitre 3 Conception de l’application OpenStack
d. Cas d’utilisation gestion des instances
La gestion des instances est un service important dans OpenStack qui offre à
l’utilisateur que ce soit un administrateur ou un simple utilisateur la possibilité de lancer
ou terminer une instance avec d’autres actions comme il est illustré dans le diagramme
de cas d’utilisation.
Figure 17 : Gestion des instances
VI. La mise en place de la solution OpenStack
Pour mettre en place la solution open source OpenStack choisie, Il va falloir étudier
les différents cas d’architecture possibles, présenter les utilisateurs du système et enfin
l’installer. Cette installation nécessite une configuration matérielle et des outils logiciels
et des prérequis bien spécifiques
1. Architecture d’installation
Selon la documentation OpenStack il y a plusieurs architectures possibles. La figure
suivante montre ces derniers.
40
Chapitre 3 Conception de l’application OpenStack
Figure 18 : Les differentes architectures possibles
Pour nos premiers pas nous avons donc essayé la première installation sur un seul
nœud dans laquelle tous les services ainsi que toutes les instances sont hébergés au sein
du même serveur.
Cette solution nous permet uniquement d’effectuer des tests sur le Cloud pour des fins
purement techniques.
2. Utilisateurs du système
Afin de représenter les différentes fonctionnalités et utilisations possible du
système, nous allons présenter une série de diagramme, en l’occurrence un diagramme
des cas d'utilisation et des diagrammes de séquence. Pour notre solution, il existe deux
types d'utilisateurs L'administrateur du système et les utilisateurs.
a. L’administrateur
L'administrateur est toute personne physique ayant reçu les droits d'administration.
Généralement, lors de l'installation, nous avons configure les droits du premier
administrateur.
Un administrateur peut :
 Ajouter de nouveaux administrateurs
 Supprimer des administrateurs
 Ajouter de nouveaux utilisateurs
 Créer un projet
41
Chapitre 3 Conception de l’application OpenStack
 Créer de nouvelles machines virtuelles
 Gérer et créer un réseau
 Chaque utilisateur possède un login et un mot de passe unique, modifiable à
volonté par le concerné.
b. L’utilisateur
L'utilisateur est toute personne physique de l'entreprise ayant reçu un compte
d'accès.
A ce titre, il peut :
 Stocker des données dans la limite de ses possibilités
 Instancier des machines virtuelles.
c. Diagrammes
 Diagramme de cas d’utilisation
Figure 19 : Diagramme de cas d'utilisation
 Diagramme de séquence
 Diagramme de séquence du cas d’utilisation « connexion »
42
Chapitre 3 Conception de l’application OpenStack
Figure 20 : Diagramme de séquence "connexion"
 Diagramme de séquence du cas d’utilisation « Création d’une machine
virtuelle »
Figure 21 : Diagramme de séquence "Création d'une VM"
 Diagramme de séquence du cas d’utilisation « Stocker des données »
43
Chapitre 3 Conception de l’application OpenStack
Figure 22 : Diagramme de séquence "stocker des données"
VII. Architecture générale
1. Déploiement « all in one »
Tous les services ainsi que toutes les instances sont hébergées au sein du même
serveur. Cette solution est très rarement utilisée. En fait, l’installation sur un seul nœud
est limitée, car ce genre de déploiement nous oblige à installer des modules bien
déterminés. Ce mode comportera plusieurs inconvénients en termes de flexibilité, et
n’assura pas la haute disponibilité de ressources et des services.
 Pour cela OpenStack propose d’autres modes de déploiement.
2. Déploiement sous diffèrent nœuds
Dans le cas général, l’installation et la configuration d’OpenStack se fait sur
plusieurs serveurs ou nœuds. Les configurations «all-in-one» permettent de tester
OpenStack comme produit et de se familiariser avec ses fonctionnalités. Toutefois, une
configuration «all-in-one» n’est pas adaptée à un environnement de production.
44
Figure 23 : Déploiement all in one
Dans un environnement de production, les services d’OpenStack sont configurés
sur plusieurs nœuds. Chaque composant sera évalué par rapport aux besoins d’une
entreprise pour un déploiement Cloud particulier afin de déterminer si ce composant
doit être installé sur un nœud distinct, ainsi que le nombre de nœuds de chaque type
dont une telle entreprise a besoin.
Figure 24 : Déploiement sous diffèrent nœuds
45
Chapitre 3 Conception de l’application OpenStack
En ce qui concerne notre projet nous avons besoin trois nœuds chacun à sa
fonction dans la machine, nous les regrouper pratiquement sur un seul nœud qu’on le
renomme MahaAmal.
 Un nœud de contrôle (Controller Node)
 Un nœud de calcul (Compute Node) MahaAmal
 Un nœud de réseau (Network Node)
Par la suite nous allons détailler le rôle de chaque nœud dans l’architecture
d’OpenStack.
a. Nœud de contrôleur
Le nœud contrôleur héberge le service Keystone d’Identité, le service Glance
d’Image, la partie management du service Nova du calcul et Neutron du Réseau,
plusieurs agents Réseau, et le service Horizon du Dashboard. Il inclut également les
services support comme une base de données SQL, la file de messages, et NTP.
b. Nœud de calcul
Le nœud de calcul exécute la partie hyperviseur de Compute qui assure le
fonctionnement des instances. Le nœud Compute héberge également un agent du
service Réseau qui permet la connexion des instances aux réseaux virtuels et fournit des
services de firewalling aux instances à travers les groupes de sécurité.
Figure 25 : Les composants de chaque nœud[10]
46
Chapitre 3 Conception de l’application OpenStack
3. Les composants de chaque nœud
a. Le Dashboard d’OpenStack
L’administrateur ou l’utilisateur du Cloud peuvent gérer les différents services et
ressources OpenStack à travers une interface web appelé «Horizon». Le Dashboard
alors est une interface web qui permet aux administrateurs et aux utilisateurs du Cloud
de gérer les différentes ressources et services OpenStack.
b. Service de messagerie
OpenStack utilise une file de messages pour coordonner les opérations et les
informations de statut entre les services. Le service de file de messages tourne en
général sur le nœud contrôleur. Néanmoins, la plupart des distributions qui packagent
OpenStack supportent un service particulier de file de message.
c. Service d’identité
Le service d’identité dans OpenStack «Keystone» fournit un point unique
d’intégration qui permet la gestion des services d’authentification, d’autorisation ainsi
que la gestion des bases de données de l’utilisateur et les catalogues de service
OpenStack et leurs endpoints de l’API. Pour mieux comprendre le fonctionnement de ce
service il faut avoir une idée sur les éléments ci-dessous :
 Utilisateur :Les utilisateurs sont des représentations numériques d’une
personne, un système ou un service qui utilise les services de cloud OpenStack.
Keystone s’assure que les demandes entrantes proviennent d’un utilisateur
valide qui peut être assigné
par des jetons d’accès aux ressources.
 Tenant :est un groupe utilisé pour isoler les ressources et / ou les utilisateurs.
Les groupes peuvent être mis en correspondance avec les clients, les projets ou
les organisations.
 Rôle :Un rôle implique un ensemble de droits et privilèges attribués à un
utilisateur pour effectuer un ensemble spécifique d’opérations. Un jeton émis
par Keystone comprend une liste des rôles de cet utilisateur et les services
ensuite déterminent comment interpréter ces rôles.
 Credentials :ce sont des données connues seulement par un utilisateur
spécifique qui prouvent son identité. Les exemples incluent le nom d’utilisateur
et mot de passe, nom d’utilisateur et clé API, ou un jeton d’authentification.
47
Chapitre 3 Conception de l’application OpenStack
 Authentification :L’authentification est le fait de vérifier l’identité d’un
utilisateur en validant un ensemble d’informations d’identification fournies par
cet utilisateur. Cesinformations d’identification sont d’abord un nom
d’utilisateur et mot de passe ou une clé de nom d’utilisateur et API. Le service
d’identité keystone émet un jeton d’authentification en réponse aux
informations d’identification. L’utilisateur doit fournir ce jeton pour les
demandes ultérieures.
 Token :C’est un texte arbitraire utilisé pour accéder à des ressources. Chaque
jeton a une portée décrivant les ressources accessibles. Un jeton est valable pour
une durée limitée et peut être révoqué à tout moment.
 Endpoint :C’est une adresse de réseau accessible, généralement décrite par
URL, à partir de laquelle les services sont accessibles.
d. Service de calcul
Nova, le service OpenStack Compute est utilisé pour l’hébergement et la gestion
des systèmes de cloud computing. C’est est une partie importante d’un système
infrastructure as-a-Service (IaaS) dont les principaux modules sont mis en œuvre en
Python. Le service de calcul Nova interagit avec le service d’identité keystone pour
l’authentification, le service d’image Glance pour disque et images de serveurs, et le
Dashboard d’OpenStack pour l’utilisateur et l’interface d’administration.
 Ces interactions sont faites à travers plusieurs services nous sitons parmi eux :
 Nova-api :Accepte et répond aux appels de l’utilisateur final d’API de calcul. Le
service prend en charge l’API OpenStack Compute, l’API Amazon EC2, et une
API d’administration spéciale pour les utilisateurs privilégiés d’effectuer
des actions administratives. Il initie la plupart des activités
d’orchestration, telles que l’exécution d’une instance.
 Nova-compute :Ce service permet de créer et mettre fin à des instances de
machine virtuelles via les API d’hyperviseur. Par exemple :
 XenAPI pour XenServer / XCP
 libvirt pour KVM ou QEMU
 VMware API pour VMware
 Nova-schedular :Prend une demande d’instance de machine virtuelle à partir de
la file d’attente et détermine sur quel serveur de calcul hôte sera exécutée.
48
Chapitre 3 Conception de l’application OpenStack
 Nova-conductor :Il joue le rôle d’intermédiaire entre les interactions de
servicenova- compute et la base de données. Il élimine les accès directs à la base de
données de cloud faite par le service nova-compute.
 Base de données SQL :stocke la plupart d’états de «build-time» et «run-time»
pour une infrastructure cloud y compris :
 types d’instances disponibles
 Instances en cours d’utilisation
 réseaux disponibles
 les projets
e. Service d’image
Le service d’image OpenStack appelé «Glance» fournit des services de
découverte, d’enregistrement et de livraison pour les disques et les images de machines
virtuelles. Il offre une API REST qui permet d’interroger les métadonnées des images
de machines virtuelles et de récupérer une image. Ce service a aussi la capacité de
copier (ou snapshot) une image du serveur, puis de la stocker rapidement. Les images
enregistrées peuvent ensuite être utilisées en tant que modèles pour obtenir de nouveaux
serveurs démarrés rapidement, et peuvent également être utilisés pour stocker et
cataloguer des sauvegardes illimitées. Les images de machines virtuelles peuvent être
stockées dans différents endroits, y compris les systèmes de fichiers simples et des
systèmes de stockage d’objets tels que le service de stockage objet d’OpenStack appelé
«Swift».
 Glance comprend les éléments suivants :
 Glance-api : accepte les appels d’API d’image pour la découverte, la récupération
et le stockage d’image.
 Glance-registry :Stocke, traite et récupère des métadonnées sur les images. Les
métadonnées comprennent des éléments tels que la taille et le type.
 Base de données :Stocke les métadonnées de l’image et prend en charge de
nombreux backends, y compris MySQL, SQLite et mongodb . . .
 Storage-repository : Supporte les systèmes normaux de fichiers, les périphériques
de bloc RADOS, Amazon S3 et HTTP pour le stockage des images.
f. Service de réseau
Neutron, un service de réseau pour OpenStack. Il permet de créer et de joindre des
dispositifs d’interface gérés par d’autres services d’OpenStack aux réseaux. Des plug-
49
Chapitre 3 Conception de l’application OpenStack
ins sont mis en œuvre pour accueillir les différents équipements et logiciels, ils offrent
une flexibilité à l’architecture d’OpenStack et son déploiement.
 Le service Neutron comprend les composants suivants :
 Neutron-server : Accepte et achemine les demandes API pour le plug-in
OpenStack Networking approprié pour l’action.
 OpenStack Networking plug-ins and agents : Ces plug-ins et agents diffère selon
le fournisseur et les technologies utilisées dans un cloud particulier, ont pour rôle
de connecter et débrancher des ports, créer des réseaux ou sous-réseaux, et
fournir l’adressage IP.OpenStack navires en réseau avec les plug-ins et des
agents pour les commutateurs virtuels et physiques Cisco, les produits NEC
OpenFlow, ouvert vSwitch, passerelles Linux, et le produit VMware NSX.Les
agents communs sont L3 (couche 3), DHCP et un plug-in Agent.
 Messaging queue : Il permet d’acheminer des informations entre le neutron-
serveur et divers agents. Il agit également comme une base de données pour
stocker l’état de réseau pour certains plug-ins.
Conclusion
Dans ce chapitre, nous avons fait la conception qui contient en premier lieu
l’analyse et spécification des besoins (fonctionnels et non fonctionnels) et en second
lieu l’architecture générale et nous avons fini par présenter les diffèrent services et
d’OpenStack et leur fonctionnalité.
50
Chapitre 3 Conception de l’application OpenStack
CHAPITRE 4 :REALISATION DE LA
SOLUTION
51
CHAPITRE 4 : REALISATION DE LA SOLUTION
Introduction
Dans ce chapitre, nous allons mettre en place notre solution OpenStack en
présentant son architecture, quels sont les différents cas d'utilisation du système avec
des diagrammes, comment se fera le dimensionnement des couches matérielles,
notamment des serveurs et enfin nous allons présenter des spécifications sur les autres
éléments à installer avant d'installer la solution proprement dite.
I. Réalisation
1. Environnement de travail
a. Environnement matériel
Pour la réalisation de ce projet, nous avons effectué notre travail à l’aide de notre
ordinateur personnel :
Disque dur de taille 1 TB
Processus Intel® Core™i7-3520M CPU @ 2.90GHz
RAM de taille 8 GB
système d’exploitation 64bits processeur 64bits
A l’aide de VMware Workstation Professionnel 2015 on a construire une machine
virtuelle :
 Controller : RAM 16GB, Processeur 4.
b. Environnement logiciel
Durant la période de travail, nous avons utilisé la version CentOS 7. Nous avons
choisi ce système pour sa comptabilité avec la version d’OpenStack Mitaka.
Linux est le système open source le plus sécurisé et le plus rapide pour l’exécution de
notre plateforme OpenStack.
II. Installation et configuration
1. Implémentation
a. Installation de composants OpenStack
52
Ce chapitre présente l'installation des composants d'identité, d'images et
virtualisation sur une seule machine. Il s'agit plutôt d'une configuration de
développement mais néanmoins fonctionnelle.
 Plan de travail :
 Sélection des modules à installer
 Définition de l'architecture matérielle
 Déploiement du système d'exploitation sur les Os
 Installation et vérification des prérequis
 Installation de keystone
 Installation de glance
 Installation de Nova
 Installation de Cinder
 Test
b. Prérequis
 Disposer des droits d'administration.
 Disposer d'une connexion à Internet configurée et activée.
 Avoir les dépôts d'activés
 Un processeur supportant la virtualisation matérielle (test sur la page KVM)
 Disposer d'un disque dur ou d'une partition non formatée pour LVM 3.4.
c. Les paquets à installer
 kvm, libvirt-bin, virtinst.
 mysql-server, python-mysqldb
 bridge-utils
 Il est nécessaire de configurer le réseau en IP Fixe
 Tous les services OpenStack seront installés sur la même machine.
2. Préparation du système
a. Réseau
 Modifiez avec les droits d'administration le fichier
/etc/network/interfaces en ajoutant les adresses IP fixe (192.168.65.133).
 Ajouter les interfaces réseaux de serveur DNS pour se connecter à
l’internet.
b. Serveur NTP
Le serveur NTP étant nécessaire à la bonne synchronisation du cloud, installez le
paquet NTP avec la commande suivante :
53
Chapitre 4 Réalisation de la solution
#sudo apt-get install ntp
c. RabbitMQ
RabbitMQ est un courtier de messages se basant sur le standard AMQP afin
d'échanger avec différents clients. C’est le service qui permet aux composants
OpenStack de communiquer entre eux.
 Installez les paquets : rabbitmq-server, memcached, python-memcache
d. Mysql
Chaque composant possède sa base de données MySQL, contenant toutes les
données modifiables à chaud (ID des images disques, des instances virtuelles,
réseaux, identités…). Les données de configuration fixes sont stockées dans des
fichiers texte.
e. Keystone
Le composant Keystone est chargé de la gestion des utilisateurs et des services.
 Gestion des utilisateurs :
La gestion des utilisateurs s'articule autour de 3 objets :
L’objet User représentant l'utilisateur final.
L'objet Tenant que nous pouvons le représenter par un projet, une organisation au
sein duquel les instances seront regroupées et administrées par les utilisateurs.
L'objet Rôle qui définit le rôle de l'utilisateur sur un Tenant. Un utilisateur peut
avoir un ou plusieurs rôles sur différents Tenants.
 Gestion des services et points d'accès
La gestion des différents services, comme Glance pour les images ou Swift pour le
stockage. La définition des points d'accès à ces différents services, les url et ports
pour y accéder
f. Préparation de la base de données Mysql
 Commencez par créer la base MySQL.
La commande suivante crée un utilisateur et sa base de données nommés
"keystone". Changez SQLPASSWD par un mot de passe root.[11]
54
Chapitre 4 Réalisation de la solution
3. Installation
Nous avons poursuivi les étapes suivantes pour installer OpenStack avec PackStack
qui est la meilleur solution pour faciliter l’installation les tous en un démarche simple.
[12]
Avec cette commande nous avons su l’adresse IP Fixe ens33 192.168.65.133,
encore le nom de machine localhost.localdomain, le fichier /etc/hosts contient les
adresses locales.
Figure 26 : Adresse IP fixe ens33
Nous ajoutonsl’adresse de localhost.localdomain :
Figure 27 : Ajout d'adresse localhost.localdomain
Pour savoir que le réseau est connecté et mise en relation avec Google et que ça
fonctionne correctement :
55
Chapitre 4 Réalisation de la solution
Figure 28 : Vérifier la connexion sur Google
Il faut avoir la mise à jour :
Figure 29 : Mise à jour de VM
Vérifier la connectivité de machine virtuelle CentOS :
Figure 30 : Vérifier la connectivité du VM
Désactiver la connexion :
56
Chapitre 4 Réalisation de la solution
Figure 31 : Désactiver la connexion du VM
Figure 32 : Éditer le fichier /etc/sysconfig/selinux
Changer l’état de SELINUX de ¨enforcing¨ à ¨disabled¨ , donc de la désactiver :
Figure 33 : Désactiver le Selinux
Installer rdo-release qui nous permet d’installer la configuration d’OpenStack :
57
Chapitre 4 Réalisation de la solution
Figure 34 : Install rdo-release
L’installation est terminée avec succès
Figure 35 : Installation de rdo-release est terminée
Afficher les droits de fichier repos.d :
58
Chapitre 4 Réalisation de la solution
Figure 36 : Détails sur les droits
Installer l’OpenStack avec PackStack :
Figure 37 : Install Openstack-packstack
L’installation est terminée avec succès :
Figure 38 : Fin de l'installation d'Openstack-packstack
En utilisant le PackStack nous avons besoin aussi de créer un fichier myanserfile.txt
dans root pour la configuration des composants d’OpenStack :
59
Chapitre 4 Réalisation de la solution
Figure 39 : Création de myanserfile.txt
Figure 40 : Éditer le fichier texte myanserfile
Le chemin de clé publique soit configuré avec /root/.ssh, et nous avons installé
MariaDB, Glance et Cinder :
Figure 41 : Installer les composants nécessaires d'OpenStack
Ainsi que l’adresse machine de Controller 192.168.65.133 et l’adresse machine de
Computeaussi l’adresse machine de réseau :
60
Chapitre 4 Réalisation de la solution
Figure 42 : La configuration des serveurs sur myanserfile.txt
Figure 43 : Installer le composant Manila
Figure 44 : Nombre d'essais et d'usage est désactivé
Effectuer un mot de passe de l’administrateur :
Figure 45 : Mot de passe de l'administration de Dashboard
Avec la commande PackStack nous avons fait l’installation de tous ces composants :
61
Chapitre 4 Réalisation de la solution
Figure 46 : Installation en utilisant les codes de myanserfile
L’installation est terminée avec succès et OpenStack est installé, ainsi que tous les
composants sont installés.
Les trois nœuds (Controller, Network, Compute) sont donc installés sur un seul nœud en
utilisant l’interface PackStack en leurs effectuant une adresse IP fixe 192.168.65.133.
Pour passer à l’accès Dashboard il faut http:// 192.168.65.133/Dashboard
62
Chapitre 4 Réalisation de la solution
Figure 47 : Fin de l'installation d'Openstack
Afficher le fichier de keystonerc_admin qui contient le nom, mot de passe et l’adresse
web de Dashboard :
Figure 48 : Contenu de keystonerc_admin
Figure 49 : Copier le code de configuration de réseau ens33 en le code
de configuration de br-ex
Figure 50 : Éditer le fichier de configuration de réseau de br-ex
63
Chapitre 4 Réalisation de la solution
Figure 51 : Modifier les adresses IP de br-ex
Figure 52 : Éditer et modifier le contenu de fichier ifcfg-ens33
Redémarrer la connexion de machine virtuelle :
Figure 53 : Redémarrage de la connexion du VM
64
Chapitre 4 Réalisation de la solution
Alors nous aurons la nouvelle configuration de l’adresse IP :
Figure 54 : La connexion avec les nouveaux changements d'adresses
Figure 55 : Éditer le fichier plugin.ini pour configurer Neutron
Figure 56 : Paramétrer les drivers
Figure 57 : Redémarrer le service Neutron
65
Chapitre 4 Réalisation de la solution
Figure 58 : Éditer le fichier openvswitch_agent.ini
Figure 59 : Remplacer le type de driver en physnet1
Figure 60 : Redémarrer le service neutron-openvswitch-agent
Figure 61 : Vérifier l'activation de service Neutron-openvswitch
Figure 62 : Éditer le fichier l3-agent.ini
66
Chapitre 4 Réalisation de la solution
Figure 63 : Ajouter br-ex comme un sous-réseau externe
Figure 64: Vérifier l'activation de service Neutron-l3-agent
Figure 65 : Prendre keystone_admin comme chemin
Figure 66 : Création d'un réseau externe se bansant sur physnet
67
Chapitre 4 Réalisation de la solution
4. Utilisation et Test d’OpenStack
Cette étape permet de tester les différentes fonctionnalités attendues du nuage privé.
Ainsi elle permet de lier l’étape de virtualisation aux autres étapes.[13]
 Elle consiste à :
 Ajouter des projets.
 Ajouter des utilisateurs.
 Créer un réseau (créer un sous-réseau interne et un sous-réseau externe)
 Créer un routeur
 Télécharger l’image test déjà virtualisé
 Télécharger des volumes.
 Lancer des instances.
 Configurer les accès.
a. Interface Authentification au nuage
Il existe deux types d’utilisateur du nuage, administrateur ou membre d’un projet.
Selon le type d’utilisateur des interfaces ou d’autres s’affichent après l’authentification
(nous utilisons l’utilisateur en tant que administrateur
b. Authentification
La première étape qui devrait être effectué par l’administrateur pour qu’il puisse se
connecter à l’horizon est l’authentification.
 Interface d’authentification
Ce Cloud est utilisé soit par l’administrateur ou par un client interne de la société
Ooredoo, il suffit donc de saisir le login et le mot de passe approprié pour consulter le
Dashboard d’OpenStack :
68
Chapitre 4 Réalisation de la solution
Chapitre 4 Réalisation de la solution
Figure 67 : Dashboard d’authentification au nuage
 Vue d’ensemble « OverView »
Représente un récapitulatif de l’usage des serveurs par projet, utilisation actuelle en
nombre de CPU virtuels, RAM et Disques puis compteur en CPU et espace disque(GB)
par heures comme l’illustre la figure 68.
Figure 68 : Vue d’ensemble
 Crée un Projet
69
Chapitre 4 Réalisation de la solution
La figure 69 montre comment nous pouvons aussi affecter des utilisateurs aux
projets, Nous avons prendre ici l’exemple d’affecter l’utilisateur « admin » au Projet «
Tunisie Telecom » ainsi que nous pouvons mettre à jour le rôle de ce utilisateur.
Figure 69 : Crée un Projet
 Utilisateurs
La figure 70 montre la liste les utilisateurs qui ont été créés.
Nous pouvons aussi créer de nouveaux utilisateurs et / ou désactiver / supprimer des
utilisateurs existants depuis le bouton « Editer ».
70
Chapitre 4 Réalisation de la solution
Figure 70 : Créer un utilisateur
Créer un réseau
Créer un réseau de nom Ooredoo_Tunisie-external et avoir le même nom pour le
sous-réseau en lui attribué une adresse réseau 192.168.65.0/24 avec une passerelle
71
Chapitre 4 Réalisation de la solution
192.168.65.1, ensuite allouer une plage d’adresses de 192.168.65.150 jusqu’à
192.168.65.240 et effectué un serveur Dns 8.8.8.8
Figure 71 : Créer un réseau external
72
Chapitre 4 Réalisation de la solution
Figure 72 : Détails de sous-réseau external
Nous avons créé un autre réseau de nom Ooredoo_Tunisie-internal en lui attribué
une adresse réseau 172.17.20.0/16 avec une passerelle 172.17.20.1, ensuite effectué un
serveur Dns 172.17.20.1.
Créer un routeur
Créer un routeur de nom Ooredoo_Tunisie-router avec l’activation de l’adresse de
translation de réseau statique, après la création de routeur nous obtenons l’@ Ip
192.168.65.162 et d’@ ID du sous-réseau 94d18759-529b-42d7-aee1-1d18b1e16657 en
lui lier avec le réseau externe Ooredoo_Tunisie-external
73
Figure 73 : Créer un routeur
Ajouter une interface
Nous avons connecté un sous-réseau Ooredoo_Tunisie-internal d’@IP 172.17.20.1
spécifique au routeur Ooredoo_Tunisie-router donc nous aurons une interface interne
plus que la passerelle externe 192.168.65.162
74
Figure 74 : Ajouter une interface au routeur
Figure 75 : Détails des interfaces du routeur
Topologie du réseau
75
Nous aurons le graphique de topologie du réseau du Cloud avec son réseau
publique et son routeur.
Figure 76 : Graphique de topologie du réseau
 Ajouter des Images
La page suivante figure 77 présente l’image actuellement disponible qui peut être
utilisé pour lancer une instance. L’administrateur ou l’utilisateur Membre de Projet ont
les droits de créer des images personnalisées sur cette page.
Figure 77 : Crée une image
 Gabarits « Flavors »
76
Les Gabarits sont des Modèles de matériel virtuel appelées «Flavors» dans
OpenStack, définissant la taille de RAM, disque, nombre de cœurs, et ainsi de suite.
La figure 37 ci-dessous représente les différents modèles existant ainsi que la
création d’un model personnalisé nommé CentOS7.L’onglet « accès au Gabarits » nous
a permet d’affecter un projet au Gabarit qui est en cours de construction.
Figure 78 : Créer un gabrit
Accès et sécurité
Les groupes de sécurité sont des ensembles de règles de filtrage IP qui sont
appliqués à la configuration réseau d'une VM. Après sa création, nous pouvons ajouter
des règles à un groupe de sécurité.Les paires de clés sont des identifiants SSH injectés
dans les images lors de leur lancement. L'action de créer une nouvelle paire de clés
enregistre la clé publique et télécharge la clé privée (fichier .pem).La figure ci-dessous
montre la manière de création d’un groupe de sécurité, la mise à jour d’un group
existant ainsi que la génération des paires clé.
77
Figure 79 : Créer un groupe de sécurité
 Allouer une IP flottante
Nous avons alloué une IP flottante avec l’@ externe Ooredoo_Tunisie-external.
Figure 80 : Allouer une IP flottante
78
Chapitre 4 Réalisation de la solution
 Ajouter une règle
Figure 81 : Ajouter une règle ICMP
Créer un Volume
Nous avons créé le volume Ooredoo_Tunisie-Volume pour l’installation de l’image
de Windows 10 avec une taille de 16GiO
Figure 82 : Créer un volume
79
Chapitre 4 Réalisation de la solution
 Lancer une instance
Figure 83 : Détails de lancement d’ une instance de l'image Windows 10
Figure 84 : Allouer l’image source d'une instance
80
Chapitre 4 Réalisation de la solution
Figure 85 : Allouer le gabarit CentOS7
Figure 86 : Allouer le sous-réseau
81
Chapitre 4 Réalisation de la solution
Figure 87 : Démarrage de l'instance Windows 10
Alors, de ce fait, nous obtenons une machine virtuelle qui est au fait le Cloud
privé, qui permet au client d’Ooredoo de gérer ses ressources sans l’intervention
d’un administrateur chez Ooredoo. Nous avons créé d’autres VMs, chacun d’ils
son adresse d’accès.
Conclusion
Dans ce chapitre, nous avons mis l’accent sur la procédure de déploiement de notre
solution. Par ailleurs nous avons exposé les différents services fournit par OpenStack.
82
Chapitre 4 Réalisation de la solution
CONCLUSION GENERALE
83
CONCLUSION GENERALE
En conclusion ce document est le fruit de notre travail dans le cadre du projet de fin
d’études dont l’objectif était la mise en place d’un Cloud privé basée sur la solution
OpenStack.
Nous avons entamé la première phase de notre projet par l’étude de l’existant et la
récolte des informations sur les technologies de bases qui entrent enjeux dans la
réalisation de notre travail. Par la suite, nous avons mis l’accent sur les solutions
permettant l’hébergement d’une infrastructure Cloud, dont nous avons précisé le choix
pour la mise en place de notre projet.
La phase suivante consiste à la spécification des besoins fonctionnels et non
fonctionnels pour l’entreprise. Cela nous a permis d’identifier les acteurs qui vont
interagir avec les différents composants de notre solution à travers l’interface web
d’OpenStack.
Le dernier volet de notre projet était la partie réalisation, au cours de laquelle nous
nous sommes heurtés à de nombreux problèmes, que ce soit dû aux solutions de Cloud
ou à leur configuration et installation, notamment en ce qui concerne le réseau.
Tous ces problèmes nous ont montré la complexité d’utiliser une telle plateforme,
et leurs résolutions nous a souvent retardé mais nous a amené à expérimenter le mode «
investigation », primordial pour tout informaticien.
L’élaboration de ce projet nous a permis de concrétiser et d’approfondir nos
connaissances particulièrement dans les domaines de la virtualisation, Cloud Computing
et automatisation des services.
84
REFERENCES
Webographie
[1] https://fr.wikipedia.org/wiki/Ooredoo_(Tunisie)#Histoire/
Consulté le 03/02/2019
[2] http://www.ooredoo.tn/institutionnel/qui-somme-nous/
Consulté le 03/02/2019
[3] http://www.cloud-entreprise.info/historique-cloud-computing/
Consulté le 12/02/2019
[4]https://blog.econocom.com/wp-content/uploads/2014/07/PaaS_cloud_stack-
e1404826877689.gif
Consulté le 18/02/2019
[5]https://encryptedtbn0.gstatic.com/images?
q=tbn:ANd9GcQB326L5sSs3tMiAh1NK6S1G4jjqZyA50F57rJhGfrGmMq_sLog
Consulté le 14/03/2019
[6]http://www.renaudvenet.com/cloud-computing-avantages-et-inconvenients-
2011-01-26.html
Consulté le 15/03/2019
[7]https://images.itnewsinfo.com/dis/articles/originale/000000011136.jpg
Consulté le 21/02/2019
[8]http://wwwigm.univmlv.fr/~dr/XPOSE2008/virtualisation/images/
hyperviseur1.png
Consulté le 23/02/2019
[9]https://encryptedtbn0.gstatic.com/images?
q=tbn:ANd9GcSuLs4kOWEB9N0VeaT5mHNazRbEybwSd4qUC0JTvsCb8t-
LK5siBA
Consulté le 23/02/2019
[10] https://cdn.ttgtmedia.com/visuals/LeMagIT/hero_article/ProjectMap.jpg
Consulté le 30/02/2019
[11]https://openstack-folsom-install-guide.readthedocs.io/en/latest/
85
Consulté le 09/04/2019
[12]http://openstack.redhat.com/install/packstack/
Consulté le 12/02/2019
[13]https://www.supinfo.com/articles/single/5088-mise-place-cloud-prive-avec-
openstack
Consulté le 06/04/2019
Bibliographie
[14]http://vixra.org/pdf/1605.0018v1.pdf
Consulté le 06/04/2019
86
TABLE DES ABREVIATIONS
TIC Technologies de l'information ET de la communication
IT Technologie de l’information
PME Petites ET moyennes entreprises
TPE Très petites enterprise
GSM Global System for Mobile Communications
GPRS General Packet Radio Service
EDGE Enhanced Data Rates for GSM Evolution
OSS Office of Strategic Services
DBA Database Administrator (en français administrateur de bases de données)
3G 3eme Generation
HD Haute Definition
HSPAHigh Speed Packet Access (évolution plus rapide de la 3G)
MHZ Mégahertz
HP Haute-Parleur
VMwareVMware Workstation Pro
CPUCentral processing unit
RAMCentral processing unit,
Vcenter Visibilité centralisée
ESX/ESXiHyperviseur de type 1
IaaS Infrastructure as a Service
PaaSPlatform as a Service
SaaS Software as a Service
DSI Défense et Sécurité internationale
IBM International Business Machines
Hyper-V Windows Server Virtualization
KVMKernel-based Virtual Machine
IBM de CP-67 Control program portion of CP/CMS
SE Linux Système d’exploitation Linux
SVirtServes virtual
87
VCenterVirtual Center
VCloudVirtual Cloud
NISTNational institute of standards and technology
APIApplication Programming Interface
EC2Elastic Compute Cloud
WSWeb services
OCCI Analyse ET sens d’Astrologique
NASANational Aeronautics and Space Administration
CPUCentral Processing Unit
QCOW2/ RAWFormats de stockage disponible pour KVM
OVFOpen Virtualization Format
LDAPLightweight Directory Access Protocol
DHCPDynamic Host Configuration Protocol
Ceph Plateforme libre de stockage distribué
EMC Plateformes de stockage
ScaleIOSolution de software defined storage hyper-convergente
VMAX ET VNX Stockage en mode bloc dans ViPR
HDSHitachi Data Systems
SANStorage Area Network
XIVStorage System
GPFSGeneral Parallel File System
NetApp Systèmes de stockage des données
3PARStoreServ and Store Virtual Software
Django Framework de développement web
API RESTApplication Programming Interfaces mise à zéro
NoSQLNot only Structured Query Language
MySQL Un serveur de bases de données relationnelles SQL
REDISResource and Environmental Data Interpretation System
PostgreSQL Object-relational database management system is available in
several source
Mongo dBSystème de gestion de base de données orientée
SQLStructured Query Language
NTPNetwork Time Protocol
88
URLUniform Resource Locator
SQLiteStructured Query Language Lite
RADOSReliable Autonomic Distributed Object Store
HTTPHypertext Transfer Protocol
89
 Résumé
Le Cloud Computing est un environnement logiciel puissant et flexible qui délègue la gestion du matériel, et
qu'on paie selon la consommation. La migration des applications d'entreprise sur cet environnement ne cesse de
s'accentuer. Une grande partie de ces applications est offerte sous forme de services Web, qui standardisent l'accès
aux logiciels métier via Internet. Le but de notre projet est de mettre en place une solution Cloud Computing privé
pour une entreprise en lui créant une infrastructure en tant que service.
Mots clés : Cloud Computing, IaaS, virtualisation, OpenStack.
 Abstract
Cloud Computing is a powerful and flexible software environment that delegates hardware management and pays
according to consumption. The migration of enterprise applications to this environment continues to grow. Many of
these applications are offered as web services, which standardize access to business software over the Internet. The
goal of our project is to set up a private Cloud Computing solution for a company by creating an infrastructure as a
service.
Keywords: Cloud Computing, IaaS, virtualization, OpenStack.
 Resumen
Cloud Computing es un entorno de software potente y flexible que delega la administración del hardware y
paga según el consumo. La migración de aplicaciones empresariales a este entorno continúa creciendo. Muchas de
estas aplicaciones se ofrecen como servicios web, que estandarizan el acceso al software empresarial a través de
Internet. El objetivo de nuestro proyecto es configurar una solución privada de computación en la nube para una
empresa mediante la creación de una infraestructura como servicio.
Palabras clave: Cloud Computing, IaaS, virtualización, OpenStack.
90

587928374-Rapport-PFE-Clo ud.docx

  • 1.
    Mise en placed’un cloud privé et support IT De République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Carthage Institut Supérieur des Sciences Appliquée et de Technologie De Mateur Projet de Fin d’Etudes Présenté à L’Institut Supérieur des Sciences Appliquées et de Technologie de Mateur En vue de l’obtention de la Licence Appliquée en Sciences et Technologies de l’Information et de la Communication Parcours :Télécommunication et réseau informatique Par Hamza Maha & Zoghlami Amal Soutenu le 17 juin 2019 devant la commission de jury : Dr. Bchini Tarek Dr. Dr. Hrizi Hafedh M. Jied Med Amine Président Rapporteur Encadreur Encadreur de l’entreprise
  • 2.
    DEDICACE Je dédie cetravail en signe de reconnaissance : Mes parents Ma mèreNaima, qui a œuvré pour ma réussite, de par son amour, son soutien, tous les sacrifices consentis et ses précieux conseils, pour toute son assistance et sa présence dans ma vie, reçois à travers ce travail aussi modeste soit-il, l'expression de mes sentiments et de mon éternelle gratitude. Mon pèreMongi, Tu as su m’inculquer le sens de la responsabilité, de l’optimisme et de la confiance en soi face aux difficultés de la vie. Tes conseils ont toujours guidé mes pas vers la réussite. Ta patience sans fin, ta compréhension et ton encouragement sont pour moi le soutien indispensable que tu as toujours su m’apporter. Mes frères et Mes sœurs Qui n'ont cessé d'être pour moi des exemples de persévérance, de courage et de générosité. A tous mes précieux amis, Qui m’ont donné, le soutien, le courage et l’amour tout au long de la période du stage et qui m’ont soutenuet aidé. A tous ceux qui m’aiment J’exprime mes sentiments les plus profonds et leur dédie ce modeste travail. Amal … Année universitaire 2018-2019 N° d’ordre :
  • 3.
    DEDICACE C’est avec grandémotion que je dédie ce travail : A DIEU Le Tout Miséricordieux, ton amour, ta miséricorde et Tes grâces à mon endroit m’ont fortifiée dans la persévérance et l’ardeur au travail. A mon Père, en vous, je voie un père dévoué à sa famille. Ta présence en toute circonstance m’a maintes fois rappelé le sens de la responsabilité. A ma Mère, en vous, je voie la maman parfaite, toujours prête à se sacrifier pour le bonheur de ses enfants. Merci pour tout. A ma deuxième mère, Ma grand-mère, c’est à la personne la plus idéale dans ce monde, Qui m’a accompagné par ses prières, sa douceur, puisse Dieu lui prêter longue vie et beaucoup de santé et de bonheur dans la vie. A mes chères sœurs et à mon cher frère pour leur respect et leur amour inconditionnels. A mon cher binôme Amal, au plus proche de mon cœur Mootez, à mes chères Rania, Malek, Imen, Sayda. A mes chères amies Sana, Amal, Cyrine, Awatef , Hanen et Ameni qui font partie de ces personnes rares par leur gentillesse, leur tendresse et leurs grands cœurs. Qu’ils trouvent ici, le témoignage de tout mon amour et toute ma reconnaissance pour leur inlassable soutien. Je vous souhaite une vie pleine de réussite, de santé et de bonheur. A mes chers professeurs, et à tous ceux qui ont contribué de près ou de loin à l’accomplissement de ce travail. Maha …
  • 4.
    REMERCIEMENTS Au terme dece projet de fin d’étude, nos vifs remerciements sont dédiés à tous ceux qui ont Contribué, directement ou indirectement à l’élaboration de ce projet. En Premier lieu, nous remercions Monsieur Hrizi Hafedhnotre encadrant, maître Assistantau sein de l’institut supérieur de sciences appliquées et de technologie de Mateur, pour sa disponibilité, ses directives et son sens du détail nous ont permis de soigner et d’améliorer constamment la qualité de ce travail. Nos remerciements s’adressent également à Monsieur Jied Med Amine, notre encadrant coté entreprise, qui a toujours trouvé le temps de faire le suivi de notre travail et d’être à l’écoute lorsque nous rencontrions des difficultés techniques dans le projet. Nous exprimons notre gratitude à tous les responsables au sein de Group Ooredooqui nous ont donné l’opportunité de réaliser ce stage et spécialement à Monsieur Mechmchi Najd. C’est avec une immense fierté qui nous adresse nos remerciements les plus distingués à tous nos enseignants de l’ISSAT qui nous ont transmis leur savoir et nous ont assuré la meilleure des formations. MERCI …
  • 5.
    TABLE DE MATIRES INTRODUCTIONGENERAL............................................................................................................................1 CHAPITRE 1....................................................................................................................................................4 CONTEXTE GENERAL DE PROJET.................................................................................................................4 Introduction.....................................................................................................................................................5 1. Historique............................................................................................................................................5 2. Les qualités d’Ooredoo........................................................................................................................6 3. Organisation d’Ooredoo......................................................................................................................6 4. Hiérarchie de la direction technique.....................................................................................................7 5. Présentation d’Ooredoo.......................................................................................................................8 6. Identité visuelle d’Ooredoo..................................................................................................................8 II. Cadre de Projet....................................................................................................................................8 Lot 1 :...........................................................................................................................................................8 Lot 2 :...........................................................................................................................................................9 III. Etude préalable....................................................................................................................................9 1. Etude de l’existant...............................................................................................................................9 2. Critique de l’existant............................................................................................................................9 3. Solution proposée...............................................................................................................................10 4. Objectif du Projet..............................................................................................................................10 IV. Analyse et spécifications des besoins...................................................................................................11 1. Besoins fonctionnels...........................................................................................................................11 2. Besoins non fonctionnels....................................................................................................................11 Conclusion......................................................................................................................................................12 CHAPITRE 2 : CLOUD COMPUTING : ETAT DE L’ART................................................................................14 Introduction...................................................................................................................................................14 I. Notion de Cloud Computing....................................................................................................................14 II. Historique de Cloud Computing.........................................................................................................14 III. Les formes de déploiement du Cloud Computing................................................................................15 1. Le Cloud public.................................................................................................................................15 2. Le Cloud privé...................................................................................................................................15 3. Le Cloud hybride...............................................................................................................................16 IV...................................................................................................................................................................16 V. Les modules de Cloud Computing......................................................................................................16 1. IaaS - Logiciel en tant que service (Infrastructure as a Service)..........................................................17 a. Avantages......................................................................................................................................17 b. Inconvénients.................................................................................................................................17 c. Prestataires....................................................................................................................................17 2. PaaS - Plate-forme en tant que service (Plateform as a Service)..........................................................17
  • 6.
    a. Avantages......................................................................................................................................18 b. Inconvénients.................................................................................................................................18 c.Prestataires....................................................................................................................................18 3. SaaS – Application en tant que Service (Software as a Service)...........................................................18 a. Avantages......................................................................................................................................18 b. Inconvénients.................................................................................................................................19 c. Prestataires....................................................................................................................................19 VI. Avantages et inconvénients du Cloud Computing...............................................................................20 1. Avantages..........................................................................................................................................20 2. Inconvénients.....................................................................................................................................20 VII. Virtualisation.....................................................................................................................................20 1. Le Cloud et la virtualisation :.....................................................................................................20 2. Notion de virtualisation..............................................................................................................21 3. Virtualisation de serveurs..........................................................................................................21 a. Les hyperviseurs........................................................................................................................22 b. Etude comparative des différentes technologies virtualisation.............................................24 c. Etude comparatifs entre les solutions Cloud Computing.......................................................25 4. Le choix de la solution...............................................................................................................25 5. OpenStack, la solution adoptée.................................................................................................27 a. Les versions d’OpenStack..............................................................................................................27 b. Les principaux composants logiciels d’OpenStack..........................................................................28 Conclusion......................................................................................................................................................32 CHAPITRE 3 : CONCEPTION DE L’APPLICATION OPENSTACK..................................................................33 Introduction...................................................................................................................................................34 I. Conception..............................................................................................................................................34 II. Description des diagrammes...............................................................................................................34 III. Spécification générale........................................................................................................................34 IV. Identification des acteurs...................................................................................................................35 V. Identification des cas d’utilisations.....................................................................................................35 1. Diagramme de cas d’utilisation système administrateur.................................................................35 2. Diagramme de cas d’utilisation système client................................................................................36 3. Diagrammes de cas d’utilisations détaillés......................................................................................36 a. Cas d’utilisations gestion des images..............................................................................................36 b. Cas d’utilisation gestion des projets...............................................................................................37 c. Cas d’utilisation gestion des utilisateurs.........................................................................................37 d. Cas d’utilisation gestion des instances............................................................................................38 VI. La mise en place de la solution OpenStack..........................................................................................38 1. Architecture d’installation.............................................................................................................38 2. Utilisateurs du système..................................................................................................................39 a. L’administrateur...........................................................................................................................39 b. L’utilisateur...................................................................................................................................40
  • 7.
    c. Diagrammes..................................................................................................................................40 VII. Architecturegénérale.........................................................................................................................42 1. Déploiement « all in one »..................................................................................................................42 2. Déploiement sous diffèrent nœuds......................................................................................................42 a. Nœud de contrôleur.......................................................................................................................44 b. Nœud de calcul..............................................................................................................................44 3. Les composants de chaque nœud........................................................................................................45 a. Le Dashboard d’OpenStack...........................................................................................................45 b. Service de messagerie.....................................................................................................................45 c. Service d’identité...........................................................................................................................45 d. Service de calcul............................................................................................................................46 e. Service d’image.............................................................................................................................47 f. Service de réseau...........................................................................................................................47 Conclusion......................................................................................................................................................48 CHAPITRE 4 :REALISATION DE LA SOLUTION...........................................................................................49 Introduction...................................................................................................................................................50 I. Réalisation..............................................................................................................................................50 1. Environnement de travail...................................................................................................................50 a. Environnement matériel................................................................................................................50 b. Environnement logiciel..................................................................................................................50 II. Installation et configuration...............................................................................................................50 1. Implémentation..................................................................................................................................50 a. Installation de composants OpenStack...........................................................................................50 b. Prérequis.......................................................................................................................................51 c. Les paquets à installer....................................................................................................................51 2. Préparation du système......................................................................................................................51 a. Réseau...........................................................................................................................................51 b. Serveur NTP..................................................................................................................................51 c. RabbitMQ.....................................................................................................................................52 d. Mysql............................................................................................................................................52 e. Keystone........................................................................................................................................52 f. Préparation de la base de données Mysql.......................................................................................52 3. Installation........................................................................................................................................53 4. Utilisation et Test d’OpenStack..........................................................................................................66 a. Interface Authentification au nuage...............................................................................................66 b. Authentification.............................................................................................................................66 Conclusion......................................................................................................................................................80 CONCLUSION GENERALE............................................................................................................................81 REFERENCES................................................................................................................................................83 TABLE DES ABREVIATIONS........................................................................................................................85
  • 8.
    LISTE DES FIGURES Figure1 : Organigramme de Ooredoo..................................................................................................................6 Figure 2 : Organigramme de la direction technique................................................................................................7 Figure 3 : Logo de Tunisiana de 2006 à 2014[1]....................................................................................................8 Figure 4: Logo à partir de 2014 à 2018[1]...........................................................................................................8 Figure 5: Logo à partir de 2018[1].......................................................................................................................8 Figure 6 :Les couches de Cloud Computing [4]..................................................................................................17 Figure 7:Répartition des responsabilités [5].........................................................................................................19 Figure 8 : Virtualisation des serveurs [7].............................................................................................................22 Figure 9 : Hyperviseur type 1 [8].......................................................................................................................23 Figure 10 : Hyperviseur type 2 [9].....................................................................................................................23 Figure 11 : Architecture OpenStack....................................................................................................................31 Figure 12: Cas d'utilisation de l'administrateur....................................................................................................35 Figure 13: Cas d'utilisation du client.................................................................................................................36 Figure 14 : Gestion d'image..............................................................................................................................36 Figure 15 : Gestion de projet.............................................................................................................................37 Figure 16 : Gestion d'utilisateur.........................................................................................................................37 Figure 17 : Gestion des instances.......................................................................................................................38 Figure 18 : Les differentes architectures possibles..............................................................................................39 Figure 19 : Diagramme de cas d'utilisation..........................................................................................................40 Figure 20 : Diagramme de séquence "connexion"...............................................................................................41 Figure 21 : Diagramme de séquence "Création d'une VM"...................................................................................41 Figure 22 : Diagramme de séquence "stocker des données"..................................................................................42 Figure 23 : Déploiement all in one.....................................................................................................................43 Figure 24 : Déploiement sous diffèrent nœuds.....................................................................................................43 Figure 25 : Les composants de chaque nœud[10].................................................................................................44 Figure 26 : Adresse IP fixe ens33.......................................................................................................................53 Figure 27 : Ajout d'adresse localhost.localdomain................................................................................................53 Figure 28 : Vérifier la connexion sur Google.......................................................................................................54 Figure 29 : Mise à jour de VM...........................................................................................................................54 Figure 30 : Vérifier la connectivité du VM..........................................................................................................54 Figure 31 : Désactiver la connexion du VM........................................................................................................55 Figure 32 : Éditer le fichier /etc/sysconfig/selinux...............................................................................................55 Figure 33 : Désactiver le Selinux.......................................................................................................................55 Figure 34 : Install rdo-release............................................................................................................................56 Figure 35 : Installation de rdo-release est terminée..............................................................................................56 Figure 36 : Détails sur les droits.........................................................................................................................57 Figure 37 : Install Openstack-packstack..............................................................................................................57 Figure 38 : Fin de l'installation d'Openstack-packstack.........................................................................................57 Figure 39 : Création de myanserfile.txt...............................................................................................................58 Figure 40 : Éditer le fichier texte myanserfile......................................................................................................58 Figure 41 : Installer les composants nécessaires d'OpenStack...............................................................................58 Figure 42 : La configuration des serveurs sur myanserfile.txt................................................................................59 Figure 43 : Installer le composant Manila...........................................................................................................59 Figure 44 : Nombre d'essais et d'usage est désactivé............................................................................................59 Figure 45 : Mot de passe de l'administration de Dashboard...................................................................................59 Figure 46 : Installation en utilisant les codes de myanserfile.................................................................................60 Figure 47 : Fin de l'installation d'Openstack........................................................................................................61 Figure 48 : Contenu de keystonerc_admin..........................................................................................................61 Figure 49 : Copié le code de configuration de réseau ens33 en le code...................................................................61 Figure 50 : Éditer le fichier de configuration de réseau de br-ex............................................................................61 Figure 51 : Modifié les adresses IP de br-ex........................................................................................................62 Figure 52 : Éditer et modifier le contenu de fichier ifcfg-ens33.............................................................................62 Figure 53 : Redémarrage de la connexion du VM................................................................................................62
  • 9.
    Figure 54 :La connexion avec les nouveaux changements d'adresses....................................................................63 Figure 55 : Éditer le fichier plugin.ini pour configurer Neutron.............................................................................63 Figure 56 : Paramétrer les drivers.......................................................................................................................63 Figure 57 : Redémarrer le service Neutron..........................................................................................................63 Figure 58 : Éditer le fichier openvswitch_agent.ini..............................................................................................64 Figure 59 : Remplacer le type de driver en physnet1............................................................................................64 Figure 60 : Redémarrer le service neutron-openvswitch-agent..............................................................................64 Figure 61 : Vérifier l'activation de service Neutron-openvswitch...........................................................................64 Figure 62 : Éditer le fichier l3-agent.ini..............................................................................................................64 Figure 63 : Ajouter br-ex comme un sous-réseau externe......................................................................................65 Figure 64: Vérifier l'activation de service Neutron-l3-agent..................................................................................65 Figure 65 : Prendre keystone_admin comme chemin............................................................................................65 Figure 66 : Création d'un réseau externe se bansant sur physnet............................................................................65 Figure 67 : Dashboard d’authentification au nuage..............................................................................................67 Figure 68 : Vue d’ensemble...............................................................................................................................68 Figure 69 : Crée un Projet.................................................................................................................................69 Figure 70 : Créer un utilisateur..........................................................................................................................70 Figure 71 : Créer un réseau external...................................................................................................................71 Figure 72 : Détails de sous-réseau external..........................................................................................................71 Figure 73 : Créer un routeur..............................................................................................................................72 Figure 74 : Ajouter une interface au routeur........................................................................................................73 Figure 75 : Détails des interfaces du routeur........................................................................................................73 Figure 76 : Graphique de topologie du réseau......................................................................................................74 Figure 77 : Crée une image................................................................................................................................74 Figure 78 : Créer un gabrit................................................................................................................................75 Figure 79 : Créer un groupe de sécurité..............................................................................................................76 Figure 80 : Allouer une IP flottante....................................................................................................................76 Figure 81 : Ajouter une règle ICMP...................................................................................................................77 Figure 82 : Créer un volume..............................................................................................................................77 Figure 83 : Détails de lancement d’ une instance de l'image Windows 10...............................................................78 Figure 84 : Allouer l’image source d'une instance................................................................................................78 Figure 85 : Allouer le gabarit CentOS7...............................................................................................................79 Figure 86 : Allouer le sous-réseau......................................................................................................................79 Figure 87 : Démarrage de l'instance Windows 10................................................................................................80 LISTE DES TABLEAUX
  • 10.
    Tableau 1: Etudecomparative des différentes technologies de virtualisation 27 Tableau 2: Les versions d’OpenStack 28
  • 11.
  • 12.
    INTRODUCTION GENERALE Le développementremarquable du Cloud Computing, ces dernières années, suscite de plus en plus l’intérêt des différents utilisateurs d'Internet et de l’informatique qui cherchent à profiter au mieux des services et des applications disponibles en ligne à travers le web en mode services à la demande et facturation à l’usage. C’est un nouveau modèle économique que ce modèle informatique promet pour les TIC. Eneffet, le modèle promet un changement dans le mode d’investissement et d’exploitation des ressources IT. Avec le Cloud, les organisations, institutions et entreprises n’ont plus besoin d’investir lourdement dans des ressources informatiques, nécessairement limitées, et nécessitant une gestion interne lourde et coûteuse. Aujourd’hui elles ont le choix de migrer vers un modèle Cloud Computing où elles peuvent acheter ou louer des ressources en ligne. Ce modèle leur épargne les coûts de gestion interne puisque les ressources informatiques sont administrées au niveau du fournisseur du Cloud. La disponibilité des services en ligne donne aussi la possibilité de ne plus s’approprier d’équipements informatiques mais de payer les frais en fonction de l’utilisation des ressources. Ce modèle attire déjà un grand nombre d’entreprises notamment les petites et moyennes entreprises « PME » et les très petites entreprises « TPE ». Ce modèle informatique offre également la modularité des ressources informatiques (hard et soft) et leur disponibilité, en terme de volume et dans le temps, selon les besoins du client et à sa demande. Dans un contexte économique où les entreprises cherchent à rentabiliser au maximum les investissements et à limiter les coûts d’exploitation, le Cloud Computing se présente comme étant la solution de demain. La Société Tunisienne d’Entreprise de Télécommunications « Ooredoo », qui est considéré comme un acteur de référence dans le domaine des télécommunications opérant depuis 2002 sur le marché Tunisien, est un de ces organismes qui veulent s’orienter vers la solution du Cloud. C’est dans ce cadre que s’inscrit ce Projet de Fin d’Etudes de Licence Appliquée en Logiciel Libre à L’Institut Supérieur De Sciences Appliquées et De Technologiesconsistant à l’élaboration, la conceptionet l’implémentation d’un nuage 2
  • 13.
    Cloud Computing pourTunisie Ooredoo en s’appuyant sur des technologies de virtualisation et de gestionnaire de CloudOpen Source : « OpenStack ». Le présent document synthétise tout le travail effectué dans cette perspective. Tout au long de ce projet, nous traiterons cinq chapitres : Dans le premier chapitre, nous présenterons globalement l’organisme d’accueil, le sujet à traiter et les tâches à réaliser ainsi la spécification et l’analyse des besoins permettant d’aboutir aux différents services et fonctionnalités offerts par l’application. Dans un second chapitre, nous donnerons une vision plus claire sur la notion de Cloud Computing et de la virtualisation, les différents modèles de ce service et différents modes de son déploiement ainsi que les différentes solutions Open Source. Le troisième chapitre sera consacré pour la description de l’architecture de l’application et à sa conception afin de déterminer les différents modules qui interagissent au cours de l’implémentation, ainsi nous avons présenté les diagrammesdiagramme de déploiement, le diagramme de packages et les diagrammes de séquences. La dernière décrira la phase de la réalisation ainsi que les différentes interfaces. La clôture de ce rapport est une conclusion qui rappellera le contexte de ce présent travail ainsi que l’approche proposée et qui ouvrera les portes à de nouvelles perspectives. 3
  • 14.
  • 15.
    CHAPITRE 1 :CONTEXTE GENERAL DE PROJET Introduction Dans ce chapitre, nous commencerons par présenter l’organisme d’accueil, nous ferons par la suite une étude et critique de l'existant, puis nous allons présenter notre solution .Pour finir nous vous présente une description des besoins fonctionnels et non fonctionnels. I. Présentation de l’Organisme d’accueil 1. Historique Ooredoo est le premier opérateur privé de Télécommunication en Tunisie, créé le 11 Mai 2002 et fondé le 17 Mai 2002. C’est une entreprise publique à caractère industriel et commercial. Son objectif principal est de moderniser son infrastructure et d’améliorer les services offerts aux abonnés. Ces objectifs entrent dans le cadre du renforcement de l’entreprise et compétitive. Dès son lancement commercial le 27 Décembre 2002, Ooredoo avait pour ambition de devenir l’opérateur privé de référence sur le marché national de la communication personnelle. Aujourd’hui ceci est devenu une réalité grâce au lancement de produit simple de qualité et à des prix accessibles. Six mois après Ooredoo couvrait déjà 60 % de la population. Le 16 Décembre 2004, Ooredoo a passé le cap du million d’abonnés. La couverture s’est étendue à 99 % de la population dans le courant de l’année 2005. Ooredoo s’appuie sur les progrès rapides de la technologie pour développer de services évolués et de qualité .Depuis, le réseau s’est lancé dans une forte densification pour répondre à la demande croissante et s’est doté des technologies les plus récentes dans le monde du GSM en particulier GPRS et EDGE) ,pour offrir à tous ses abonnés un accès « Data » (MMS, Internet) avec des débits très confortables. 5
  • 16.
    Vers la finde 2006, Ooredoo comptait à son actif près de 3 million d’abonnés et avait raflé près de 46 % de la part du marché. [1] 2. 6
  • 17.
    Les qualités d’Ooredoo Créerdes services innovants, satisfaire l’ensemble de leurs abonnés et instaurer une relation de confiance avec leurs partenaires, telle sont lesobjectifs qui se sont assigné la société et pour les atteindre, quatre valeurs orientent toutes leurs actions et accompagne la totalité de leurs engagements : Orientation client, transparence, professionnalisme et innovation. 3. Organisation d’Ooredoo Afin d’assurer une bonne présentation à ces clients et un bon fonctionnement de son réseau de transmission GSM, Ooredoo est basé sur l’interaction de plusieurs directions complémentaires comme montre la figure ci-dessous : Figure 1 : Organigramme de Ooredoo 7 Direction Générale Direction Administrative et Financière Direction des Resources Humaines Direction Service Client Direction de la régulation et du business international Direction Technique Direction des ventes Direction Marketing Direction Qualité et Programme Département Juridique Chapitre 1 Contexte général de Projet
  • 18.
     DG :Direction Générale  DAF : Direction Administrative et Financière  DJ : Département Juridique  DQP : Direction Qualité et Programme  DV : Direction des ventes  DT : Direction technique  DRBI : Direction de la régulation et du business international  DSC : Direction service client  DRH : Direction Ressources Humaines Notre stage a été effectué dans la direction technique(DT), plus précisément dans le département Support IT et bureautique. 4. Hiérarchie de la direction technique Le rôle essentiel de la direction technique DT est la conception, le déploiement et l’exploitation du réseau, l’interconnexion avec les réseaux fixes et mobile de l’opérateur historique, la supervision du réseau en plein temps, le suivi de la qualité de service, en plus de la maintenance et la planification du réseau. Cette direction est divisé en quatre équipes, chacune est responsable d’un ensemble de tâches bien précises comme le montre la figure ci-dessous : Figure 2 : Organigramme de la direction technique 8 Chapitre 1 Contexte général de Projet
  • 19.
    5. Présentation d’Ooredoo Opérateurleader de téléphonie mobile en Tunisie, Tunisiana, devenue Ooredoo le 24 avril 2014, est basé sur l’avancement technologique dans le but d’améliorer des services performantes et de qualité. Pour gagner la confiance de ses clients «Tunisiana avait bouleversé le paysage des nouvelles technologies en Tunisie » Dès son lancement commercial le 27 décembre 2002 avec sa gamme de services novateurs, tout en respectant les standards internationaux. Ooredoo à lancée les services 3G en juillet 2012 .Ce service a pu couvrir 48% de la population et par la suite 90% de la population dans le but de couvrir les régions de l’intérieur de la Tunisie et d’assurer une meilleur qualité vocale en haute définition « HD wide band AMR ». Ooredoo a pu déployer un réseau HSPA plus à la fois sur 900 MHZ et 2000 MHZ grâce à la licence délivrée par l’Etat.[2] 6. Identité visuelle d’Ooredoo Figure 3 : Logo de Tunisiana de 2006 à 2014[1] Figure 4: Logo à partir de 2014 à 2018[1] Figure 5: Logo à partir de 2018[1] II. Cadre de Projet Lot 1 :  Etude du Cloud Computing en termes de principes, avantages, inconvénients, risques, offres.  Elaboration d’une solution Cloud Computing qui répond aux besoins de la société. 9 Chapitre 1 Contexte général de Projet
  • 20.
    Lot 2 : Développement d’un nuage privé exploitable via un portail qui optimise l’utilisation des ressources informatiques de la société. III. Etude préalable Une étape essentielle de tout projet informatique consiste à effectuer une étude complète des outils actuels pour lesquels nous voulons apporter des solutions afin de déceler les défaillances et les insuffisances auxquelles nous devons remédier. En effet dans la majorité, voir dans la totalité des cas, la mise en place d’un projet est due à un problème ou un manque dans l’entreprise. Il faut donc bien étudier l’existant pour aboutir à une spécification efficace des besoins de l’entreprise. Dans ce qui suit, nous commençons par une description de l’existant et la critique de ses limites et enfin nous annoncerons la solution. 1. Etude de l’existant L’entreprise Ooredoo en partenariat avec le leader de solutions Cloud HP fournit des services de Cloud public destinés aux entreprises qui veulent commander des machines virtuelles auprès de l’opérateur selon leurs besoins particuliers en se basant sur le système de virtualisation VMware. Le client interne au sein d’Ooredoo demande à l’équipe Cloud et support IT de créer des machines virtuelles dont ils leurs attribue le catalogue de ressources (CPU, RAM,…) cette opération est faite via une plate-forme centralisée le Vcenter qui facilite la gestion d’environnements VMware, disponible pour les utilisateurs locaux. Il joue le rôle d’administrateur des hôtes ESX/ESXi connectés au réseau, et des machines virtuelles présentes sur ces différents hôtes. Cette solution ayant la possibilité degérer les serveurs et d’y héberger des machines virtuelles. Toutefois, Ooredoo ne dispose pas d’un cloud privé qui s’adapte aux besoins spécifiques de l’entreprise. 2. Critique de l’existant Cette solution comporte des inconvénients tels que :  Absence d’un outil qui permet à l’administrateur de gagner du temps lors de la création des machines virtuelles et lui donne toutes les informations nécessaires au lieu d’aller les chercher dans des fichiers éparpillés quelques part, ce qui l’oblige à gaspiller 10 Chapitre 1 Contexte général de Projet
  • 21.
    du temps quiest un facteur très important et qui est pris en compte dans le délai de création. Le coût assez élevée de l’exploitation de la solution commerciale, en effet sans clé de licence saisie à l‘installation ESX présente un mode d’évaluation pour 60 jours. Au- delà de la période d’évaluation, il n’est plus possible d’accéder à l’hyperviseur. Les machines virtuelles démarrées restent néanmoins en ligne. 3. Solution proposée Le projet consiste à étudier et mettre en place un Cloud privé au sein d’Ooredoo via la solution Cloud IaaS basée sur OpenStack .Chaque utilisateur devra avoir la possibilité de gérer ses ressources sans l’intervention d’un administrateur grâce à un portail accessible à travers une interface Web. Ainsi, chaque client pourra, tout seul, créer et utiliser des machines virtuelles et modifier ses ressources en cas de besoin. Cette solution propose aussi à l’administrateur Cloud un portail qui lui permet de faire le monitoring des serveurs virtuels. Il pourra aussi gérer les comptes des utilisateurs à travers son propre portail. Les tâches à réaliser :  Etude de projet  Installation le système d’exploitation CentOS7  Installation d’OpenStack  Créer les différents services fournit par OpenStack  Créer des machines virtuelles pour clients d’Ooredoo 4. Objectif du Projet Le Cloud Computing (IaaS) traduit un ensemble des services d’infrastructure qui sont opérés par un hébergeur tiers. L’objectif de notre stage est de garantir une exploitation du système d’information plus souple et flexible, en accord avec les besoins métiers à tout instant. Notre solution doit garantir les services suivants :  Gestion unifiée :A l’inverse d’une gestion et supervision des multiples systèmes, la gestion de l’infrastructure se fait à travers une « interface ». 11 Chapitre 1 Contexte général de Projet
  • 22.
     Services àla demande :Les besoins métiers sont variables. L’IT doit être réactif pour fournir des services performants et en un minimum de temps. Ainsi les niveaux de services fournis par les acteurs de l’IaaS répondent à de tels enjeux.  Interopérabilité :Les infrastructures on-prémisses sont souvent soumises à des contraintes techniques propriétaires (exemple : middlewares spécifiques pour certaines infrastructures physiques). L’IaaS réduit désormais les problématiques à la bonne définition du besoin technique. L’IaaS permet de se dégager des adhérences fortes qui lient les DSI aux produits et vendeurs, et donc des complexités techniques, logistiques, contractuelles. Elles peuvent d’avantage se concentrer sur les innovations et les besoins métiers. Mais mener une transition vers l’IaaS, nécessite des bases techniques et processus solides. IV. Analyse et spécifications des besoins La spécification des besoins constitue la base de départ de toute application .Il est alors indispensable de parvenir à une vision claire des différentes facettes du projet et de bien comprendre les besoins des utilisateurs. 1. Besoins fonctionnels  Création de comptes utilisateurs et leurs attribuer les privilèges associées.  Modification des comptes utilisateurs en cas de besoin tout en ayant la possibilité de désactiver provisoirement un compte.  Création de projets, leurs associer des comptes utilisateurs et leurs attribuer le catalogue de ressources et services associées.  Modification de projet en cas de besoin tout en ayant la possibilité de désactiver provisoirement le projet.  Création des instances de machines virtuelles par les utilisateurs : ajout, modification, et suppression des instances des machines virtuelles ainsi que les ressources et les services associés tout en respectant les limites autorisées dans les paniers de ressources du projet associé. 2. Besoins non fonctionnels La fiabilité:L’application doit fonctionner de façon cohérente sans erreurs et doit être satisfaisante. 12 Chapitre 1 Contexte général de Projet
  • 23.
    La disponibilité :l’applicationdoit être disponible pour être utilisée à tout instant et n’importe quel endroit où l’utilisateur se trouve. L’ergonomie :L’application offre une interface conviviale et facile à utiliser. L’utilisabilité : l’interface de l’application doit être claire pour que l’utilisateur ait la possibilité de l’utiliser sans problème ou difficulté. Conclusion Ce chapitre introductif a été consacré essentiellement à la présentation de la société d’accueil Ooredoo Tunisie. Ainsi, nous avons discuté le contexte et la critique du l’existant et la solution proposée qui constituera le sujet de notre projet et nous avons terminé par la présentation des diagrammes de cas d’utilisation générale et détaillés. En vue de suivre un avancement logique dans ce rapport, l’état de l’art fera l’objet du chapitre suivant. 13 Chapitre 1 Contexte général de Projet
  • 24.
    CHAPITRE 2 :CLOUD COMPUTING :ETATDE L’ART 14
  • 25.
    CHAPITRE 2 :CLOUD COMPUTING : ETAT DE L’ART Introduction Dans ce chapitre nous ferons une description des nouvelles technologies utilisées tout au long de la réalisation de notre projet d’où la définitiondu Cloud Computinget de la virtualisation. I. Notion de Cloud Computing Le Cloud Computing est un paradigme informatique, où un grand groupe de systèmes sont connectés dans des réseaux privés ou publics, pour fournir une infrastructure évolutive dynamiquement pour l’application, les données et le stockage de fichiers. Avec l’avènement de cette technologie, le coût du calcul, de l’hébergement des applications, du stockage de contenu et de la livraison est considérablement réduit. L’informatique en nuage est une approche pratique pour l’expérience des avantages de coûts directs et il a le potentiel de transformer un centre de données à partir d’une mise en valeur à forte intensité de capital à un environnement à prix variable. L’idée de l’informatique en nuage repose sur un principe fondamental de la «réutilisation des capacités informatiques». La différence que le Cloud Computing apporte par rapport aux concepts traditionnels de l’informatique en grille, de l’informatique distribuée, de l’informatique utilitaire ou de l’informatiqueautonome est d’élargir les horizons à travers les limites organisationnelles II. Historique de Cloud Computing L’idée du Cloud Computing a pris naissance en 1990 et surtout en 1991 avec la naissance d’Internet et la mise sur le marché du logiciel CERN qui a été le premier logiciel accessible par le Web. Ensuite, l’idée a progressé avec l’apparition de nouvelles solutions IT le lancement du navigateur Mosaic en 1993 et celui du navigateur Netscape en 1994. En 1995, la découverte d’EBay et d’Amazon a encore accéléré le processus. Enfin, le lancement en 1996 15
  • 26.
    de l’assistant PalmPDA a donné une nouvelle impulsion.En 2000, l’arrivée de Google a favorisé une réelle émergence du Cloud Computing. Dans l’avenir, le Cloud Computing devrait connaître une belle croissance car moins de 10% des sociétésy avaient recours en 2009. Nous prévoyons que 30 à 50 % des sociétés devraient utiliser ce service bien que les entreprises semblent préférer le cloud privé. Il se peut que l’arrivée de nouvelles solutions IT provoque une accélération du phénomène.[3] III. Les formes de déploiement du Cloud Computing Les entreprises peuvent choisir de déployer des applications sur des Clouds publics, privés ou hybrides. Les intégrateurs Cloud peuvent jouer un rôle essentiel dans la détermination du bon chemin de Cloud pour chaque organisation. Nous distinguons trois formes de Cloud Computing tels que le Cloud public, également le premier apparu, le Cloud privé et le Cloud hybride qui est en fait la combinaison des deux premiers. 1. Le Cloud public Les nuages publics sont détenus et exploités par des tierces parties, ils offrent des économies d’échelle supérieures aux clients, car les coûts d’infrastructure sont répartis entre un mélange d’utilisateurs, donnant à chaque client un modèle attrayant à faible coût Pay-as- you-go (payer selon la consommation). Tous les clients partagent le même pool d’infrastructure avec une configuration limitée (demande de lourds investissements pour le fournisseur de services), des protections de sécurité (n’est pas sécurisé) et des écarts de disponibilité (Offre un maximum de flexibilité). Ceux-ci sont gérés et pris en charge par le fournisseur de Cloud notamment qu’Amazon et Google. Un des avantages d’un Cloud public est :  Plus grands qu’un nuage d’entreprises  Offre la possibilité de s’adapter de manière transparente, sur demande. 2. Le Cloud privé C'est un environnement déployé au sein d'une entreprise. Ainsi, elle doit gérer toute seule son infrastructure. Dans ce cas, implémenter un Cloud privé signifie transformer 16 Chapitre 2 Cloud Computing : Etat de L’art
  • 27.
    l'infrastructure interne enutilisant des technologies telles que la virtualisation pour enfin délivrer, plus simplement et plus rapidement, des services à la demande. L'avantage de ce type de Cloud par rapport au Cloud public réside dans l'aspect de la sécurité et la protection des données. En effet, l'ensemble du matériel est conservé au sein de votre propre emplacement. De ce fait, les ressources sont détenues et contrôlées par votre propre département informatique. Ce modèle est :  Cher pour le client.  Dédié et sécurisé.  Moins flexible comparé au Cloud public. 3. Le Cloud hybride Les Clouds hybrides combinent des modèles Cloud publics et privés. Avec un Cloud hybride, les fournisseurs de services peuvent utiliser des fournisseurs de Cloud tiers de manière complète ou partielle, augmentant ainsi la souplesse de l’informatique. L’environnement Cloud hybride est capable de fournir à la demande une échelle provisionnée en externe. La possibilité d’augmenter un nuage privé avec les ressources d’un Cloud public peut être utilisée pour gérer toute surtension inattendue dans la charge de travail. IV. V. Les modules de Cloud Computing La figure 12 ci-dessous représente les trois couches du Cloud Computing de la couche la moins visible pour les utilisateurs finaux à la plus visible. L’infrastructure as a Service (IaaS) est plutôt gérée par les architectes réseaux, la couche PaaS est destinée aux développeurs d’applications et finalement le logicielle comme un service (SaaS) est le « produit final » pour les utilisateurs. 17 Chapitre 2 Cloud Computing : Etat de L’art
  • 28.
    Figure 6 :Lescouches de Cloud Computing [4] 1. IaaS - Logiciel en tant que service (Infrastructure as a Service) Désigne que nous disposons d’une infrastructure (serveurs, stockage, réseau) hébergée dans les centres de données cloud. L’accès à la ressource est complet et sans restriction, équivalent de fait à la mise à disposition d’une infrastructure physique réelle.Si vous souhaitez utiliser ce matériel virtualisé ou cesserveurs, nous devons payer les fournisseurs de cloud. a. Avantages  Eviter l’achat et la gestion de matériel.  Offre une grande flexibilité.  Contrôle total des systèmes (administration à distance par ssh ou RDP).  Capacité de stockage infini. b. Inconvénients Besoin d'administrateurs systèmecomme pour les solutions serveurs classiques sur site. Demande pour les acteurs du cloud des investissements très élevés c. Prestataires AmazonEC2, RackSpace, Terremark, GoGrid. 2. PaaS - Plate-forme en tant que service (Plateform as a Service) 18 Chapitre 2Cloud Computing : Etat de L’art
  • 29.
    Ce module permetaux utilisateurs de créer leurs propres applications Cloud à l'aide de fournisseurs de services Cloud avec des outils et des langues spécifiques simplifiés. PaaS est un service totalement intégré pour les bases de données, les applications Web et les déploiements. a. Avantages  Facilite à gérer les développements des applications  Le déploiement est automatisé, pas de logiciel supplémentaire à acheter ou à installer.  Pas d’infrastructure nécessaire  Pas d’installation b. Inconvénients  L’application doit être programmée pour la plate-forme cible.  La sécurité des données doit être prise en compte et analysée, car les informations sont stockées hors site.  La récupération des donnés peut être difficile.  Un fournisseur de PaaS moins qu'idéal pourrait laisser votre entreprise frustrée, besoin de bons niveaux de vitesse, de fiabilité et de support pour que PaaS en vaille la peine. c. Prestataires Google avec Google App Engine, Microsoft avec Windows Azure, Force.com. 3. SaaS – Application en tant que Service (Software as a Service) Concept consistant à proposer un abonnement à un logiciel plutôt que l'achat d'une licence. Nous oublions donc le modèle client-serveur et aucune application n'est installée sur l'ordinateur, elles sont directement accessible à partir de divers périphériques client via une interface de client léger telle qu’un navigateur Web. L’utilisation reste transparente pour les utilisateurs, qui ne se soucient ni de la plateforme, ni du matériel, qui sont mutualisés avec d’autres entreprises. Le SaaS remplace l'ASP, aussi appelé fournisseur d'applications hébergées ou FAH, ou application service provider en anglais ou ASP, qui est une entreprise qui fournit des logiciels ou des services informatiques à ses clients au travers d'un réseau. a. Avantages  Pas d’installation  Pas de mise à jour. 19 Chapitre 2Cloud Computing : Etat de L’art
  • 30.
     Plus delicence.  Paiement à l’usage.  Facilité de faire le test de nouveaux logiciels. b. Inconvénients  Dépendance total du prestataire.  Difficulté de changement de prestataire.  Le coût du fonctionnement en mode SaaS peut-être nettement supérieur à l’acquisition de l’application.  Interruptions de service. c. Prestataires Google avec Google Drive, Microsoft avec Office 365. Figure 7:Répartition des responsabilités [5] 20 Chapitre 2 Cloud Computing : Etat de L’art
  • 31.
    VI. Avantages etinconvénients du Cloud Computing 1. Avantages  Un démarrage rapide Le Cloud Computing permet de tester le business plan rapidement à coût réduits et avec facilité.  Un développement plus rapide des produits Réduction du temps de recherche pour les développeurs sur le paramétrage des applications.  L’agilité pour l’entreprise Résolution des problèmes de gestion informatique simplement sans savoir à s’engager à long terme.  Pas de dépense de capital Plus besoin des locaux pour élargir les infrastructures informatiques. 2. Inconvénients  La bande passante peut faire exploser le budget La bande passante dans le Cloud Computing est gigantesque, et les coûts importants qu'il est plus avantageux d'acheter le stockage que de payer quelqu'un d'autre pour s'en charger.  Les performances des applications peuvent être amoindries Un Cloud public n'améliorera définitivement pas les performances des applications  La fiabilité du Cloud Un grand risque lorsque nous mettons une application qui contient des informations clients dans le Cloud ou qui donne des avantages compétitifs.  Taille de l’entreprise Si l’entreprise est grande alors les ressources sont énormes, donc plus de consommation du Cloud. Il est intéressant à mettre au point son propre Cloud et de ce fait là on passe d’une petite consommation à une consommation plus importante et les gains seront bien plus importants.[6] VII. Virtualisation 1. Le Cloud et la virtualisation : Le Cloud et la virtualisation sont étroitement liées. En effet, d’un côté, le déploiement du Cloud nécessite l’utilisation d’un hyperviseur qui assurera la 21 Chapitre 2 Cloud Computing : Etat de L’art
  • 32.
    virtualisation des ressources.D’un autre côté, le Cloud propose plusieurs projets qui proposent plusieurs services qui permettent la gestion des ressources. Dans cette partie, nous nous intéresserons aux technologies de virtualisation ainsi qu’aux solutions Cloud en particulier la solution OpenStack. 2. Notion de virtualisation La virtualisation consiste en la création d'une version virtuelle (par opposition à réelle) d'un ou de plusieurs éléments, tel qu'un système d'exploitation, un serveur, un dispositif de stockage ou des ressources réseau. En informatique, la virtualisation fait d'énormes progrès dans trois domaines : le réseau, le stockage et les serveurs.La virtualisation repose sur le mécanisme suivant :  Un système d'exploitation principal (appelé « système hôte ») est installé sur un serveur physique unique. Ce système sert d'accueil à d'autres systèmes d'exploitation.  Un logiciel de virtualisation (appelé « hyperviseur ») est installé sur le système d'exploitation principal. Il permet la gestion des machines virtuelles installé sur ce système.  Une couche logicielle qui fournit l’environnement sur lequel les différentes machines s’exécutent.  Un système invité est installé dans une machine virtuelle qui fonctionne indépendamment des autres systèmes invités dans d'autres machines virtuelles. Chaque machine virtuelle dispose d'un accès aux ressources du serveur physique (mémoire, espace disque…) Nous distinguons plusieurs types de virtualisation :  Virtualisation de stockage  Virtualisation de réseau  Virtualisation de serveurs 3. Virtualisation de serveurs La virtualisation des serveurs consiste à faire fonctionner plusieurs machines virtuelles (serveurs virtuels, système d’exploitation, etc.) au sein d’un seul serveur physique. Mais dans quels intérêts ? Il faut revenir sur le fait que, chez plusieurs entreprises, les serveurs sont utilisés uniquement à 15% de leur capacité ce qui mène à des coûts d’investissements et de maintenance très élevés pour une piètre performance. 22 Chapitre 2Cloud Computing : Etat de L’art
  • 33.
    De coup, unserveur exploitant ces capacités s’avère plus économe qu’un ensemble utilisant uniquement un faible pourcentage de ces capacités. Ainsi, la virtualisation des serveurs offre une grande flexibilité dans la répartition des charges pour une utilisation optimale des ressources ainsi que plusieurs autres avantages dont nous citons :  Réduction des coûts en matériel et en exploitation (entretien, consommation, etc.) des sauvegardes et des snapshots simplifiés.  Mise en place d’un cloud privé : déploiement d’un ensemble de services sous forme de machines virtuelles dimensionnées pour transformer l’informatique en un centre de services. Figure 8 : Virtualisation des serveurs [7] a. Les hyperviseurs En informatique, un hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d'exploitation de travailler sur une même machine physique en même temps. Les hyperviseurs sont classés actuellement en deux catégories : Un hyperviseur de Type 1, ou natif, est un logiciel qui s'exécute directement sur une plateforme matérielle, cette plateforme est alors considérée comme outil de contrôle de système d'exploitation. Un système d'exploitation secondaire peut, de ce fait, être exécuté au-dessus du matériel. 23 Chapitre 2 Cloud Computing : Etat de L’art
  • 34.
    Les machines virtuellesutilisant un noyau Linux KVM, qui transforment un noyau Linux complet en hyperviseur, sont également considérées comme hyperviseurs de type 1. Figure 9 : Hyperviseur type 1 [8] Un hyperviseur de type 2 est un logiciel qui s'exécute à l'intérieur d'un autre système d'exploitation. Un système d'exploitation invité s'exécutera donc en troisième niveau au-dessus du matériel. Les systèmes d'exploitation invités n'ayant pas conscience d'être virtualités, ils n'ont pas besoin d'être adaptés. Quelques exemples de tels hyperviseurs sont VMware Workstation, VMware Fusion, l'hyperviseur open source QEMU, les produits Microsoft Virtual PC et Virtual Server, Virtual Box d'Oracle, de même que Parallels Workstation de SWsoft et Parallels Desktop. Le terme appel hyperviseur ou hypervisor call, ou hypercall, fait référence à l'interface de para virtualisation, par laquelle un système d'exploitation « invité » accède directement à des services à travers le logiciel de contrôle de niveau élevé (le terme superviseur fait référence au noyau du système d'exploitation qui sur les mainframes IBM. 24 Chapitre 2 Cloud Computing : Etat de L’art
  • 35.
    Figure 10 :Hyperviseur type 2[9] b. Etude comparative des différentes technologies virtualisation Cette partie présente les principaux avantages et inconvénients des différentes technologies de virtualisation qui sont les plus utilisées dans le domaine professionnel.  Hyperviseur (KVM)  Avantages • Logiciel libre qui ne nécessite pas de frais de licence • Multi-plate-forme • Permet la migration à chaud des machines virtuelles • Très stable • Comporte plusieurs options • Intégré au noyau Linux • Sécurité avancée : KVM intègre des fonctions de sécurité (SE Linux) et la bibliothèque sVirt.  Inconvénients • Moins performant par rapport à ESXi dans pratiquement tous les domaines.  Hyperviseur (Xen)  Avantages • Grande évolutivité (migration en temps réel) • Robuste, performant et mature (comparativement aux solutions commerciales 25 Chapitre 2 Cloud Computing : Etat de L’art
  • 36.
    • Open source,moyen de créer une base commune (standard ouvert) sur laquelle chacun eut développé sa valeur ajoutée en comparaison d’une offre 100% propriétaire comme VMware.  Inconvénients • Modifier les couches basses des systèmes d’exploitation hôtes, afin qu’ils puissent collaborer avec l’hyperviseur. Ces modifications sont assez intrusives et altèrent profondément la façon dont le noyau travaille en interne.  Hyperviseur(ESXi)  Avantages • Possède son système d’exploitation basé sur Linux. • La solution la plus performante sur le marché -VMware propose d’autres produits qui permettent de gérer les ESXi et de créer des vCenter et des vCloud.  Inconvénients • Licence non gratuite et cout de déploiement élevé.  Hyperviseur (Hyper-V)  Avantages • Produit libre Intégré dans noyau de linux  Inconvénients • Moins performant c. Etude comparatifs entre les solutions Cloud Computing Afin de caractériser chaque solution Open Source et permettre le choix adéquat pour la construction d’un Cloud, nous avons réalisé une étude comparative de trois solutions libre en se basant sur différents critères de classification : 4. Le choix de la solution Dans les paragraphes précédents, nous avons présenté de logiciels permettant de créer des solutions Cloud Computing. La mise de l’environnement de ce dernier nécessite initialement le choix d’une solution. 26 Chapitre 2 Cloud Computing : Etat de L’art
  • 37.
    OpenStack OpenNebula Eucalyptus Typede service IaaS IaaS IaaS Type de service Evolutif Evolutif Evoluti f API (Application Programming Interface) OpenStack API Amazon API Amazon API Flexibilité Plus flexible que CloudStack Plus flexible Le moins flexible Hyperviseurs Xen, KVM, ESX/ES Ci Xen, KVM, ESX/ES Ci, LXC Xen, KVM, ESX/ESX i Architecture Intégration des deux composants OpenStack Object et OpenStack Compute Centralisé Trois composants Minimum deux serveur Hiérarchi que Cinq composan ts Supporten t multiple cluster Minimum deux serveurs Systèmes d'exploitation supportés Linux et récemment Windows Exige x86 processor Linux (Ubuntu, RedHat Enterprise Linux, Fedora et SUSE Linux Enterprise Server) Linux (Ubuntu, Fedora, CentOS, OpenSUS E et Debian) Langage de Python Java, Ruby, Java, C+ 27 Chapitre 2 Cloud Computing : Etat de L’art
  • 38.
    programmati on C++ +, Python Interface Utilisateur Interface Web EC2WS API OCCI API EC2 WS API Outils tel que : Hybridfox , Elasticfox Tableau 1: Etude comparative des différentes technologies de virtualisation Donc la solution qui convient le mieux et qui répond aux besoins de l’entreprise est OpenStack. ¤ Modulaire et innovante ¤ Evolutive ¤ Open source sécurisé en (Sous licence libre) ¤ Extensible 5. OpenStack, la solution adoptée OpenStack est un ensemble de logiciels Open Source permettant de déployer des infrastructures de cloud computing (infrastructure en tant que service). La technologie possède une architecture modulaire composée de plusieurs projets corrélés (Nova, Swift, Glance...) qui permettent de contrôler les différentes ressources des machines virtuelles telles que la puissance de calcul, le stockage ou encore le réseau inhérents au centre de données sollicité. Il est développé en grande partie par la société RackSpace qui s’est associée à la NASA pour développer un outil libre et standardisée sous licence Apache 2.0. Le projet débuta en juillet 2010, il est aujourd’hui (depuis la version Essex en réalité) utilisable dans un environnement de production ». a. Les versions d’OpenStack Nom Date Composants inclus Austin 21 octobre 2010 Nova, Swift Bexar 3 février 2011 Nova, Glance, Swift Cactus 15 avril 2011 Nova, Glance, Swift Diable 22 septembre Nova, Glance, Swift 28 Chapitre 2 Cloud Computing : Etat de L’art
  • 39.
    2011 Essex 5 avril2012 Nova,Glance,Swift,Horizon, Keystone Folsom 27 septembre 2012 Nova,Glance,Swift,Horizon, Keystone Grizzly 4 avril 2013 Nova,Glance,Swift,Horizon, Keystone, Quantum, Cinder Havana 22 octobre 2o13 Nova,Glance,Swift,Horizon, Keystone, Neutron,Cinder,Heat, Ceilometer, Trove Icehouse 17 avril 2014 Nova,Glance,Swift,Horizon, Keystone, Neutron,Cinder,Heat, Ceilometer, Trove, Sahara Juno 16 octobre 2014 Nova,Glance,Swift,Horizon, Keystone, Neutron,Cinder,Heat,Ceilometer,Trove, Sahara Kilo 30 avril 2015 Nova,Glance,Swift,Horizon, Keystone, Neutron,Cinder,Heat, Ceilometer, Trove, Sahara, Ironic Liberty 26 octobre 2015 Nova,Glance,Swift,Horizon, Keystone, Neutron,Cinder,Heat, Ceilometer, Trove, Sahara,Ironic,Search,Light,Designate, Zaqar, Barbican, Manil Mitaka 7 avril 2016 Nova, Glance, Swift, Horizon, Keystone, Neutron,Cinder, Heat,Ceilometer, Trove, Sahara,Ironic,Search,Light,Designate, Zaqar, Barbican, Manil Tableau 2: Les versions d’OpenStack  Pour La réalisation de notre projet nous avons utilisé la version Mitaka. b. Les principaux composants logiciels d’OpenStack  Nova : Le service nova représente le « cœur » d’OpenStack développé à l’origine par la NASA, Son rôle est principalement la gestion des hyperviseurs (ordonnanceur et gestion des machines virtuelles) ainsi que le contrôle des ressources (CPU, RAM, réseaux et stockages).  Glance : 29 Chapitre 2 Cloud Computing : Etat de L’art
  • 40.
    Le service d'imaged'OpenStack s'appelle Glance. Il permet la découverte, l'envoi et la distribution d'image disque vers les instances. Les images stockées font office de modèle de disque. Le service Glance permet aussi de stocker des sauvegardes de ces disques. Glance peut stocker ces images disques de plusieurs façons : dans un dossier sur serveur, mais aussi à travers le service de stockage objet d'OpenStack ou dans des stockages décentralisés comme Ceph. Glance ne stocke pas seulement des images, mais aussi des informations sur celles-ci, les métadonnées. Ces métadonnées sont par exemple le format du disque (comme QCOW2 ou RAW) ou les conteneurs de celles-ci (OVF par exemple).  Keystone : Le service d'identité d'OpenStack s'appelle Keystone. Il fournit un annuaire central contenant la liste des services et la liste des utilisateurs d'OpenStack ainsi que leurs rôles et autorisations. Au sein d'OpenStack tous les services et tous les utilisateurs utilisent Keystone afin de s'authentifier les uns avec les autres. Keystone peut s'interfacer avec d'autre service d'annuaire comme LDAP. Il supporte plusieurs formats d'authentification comme les mots de passe et autres.  Neutron : Le service Neutron d'OpenStack (anciennement Quantum) permet de gérer et manipuler les réseaux et l'adressage IP au sein d'OpenStack. Grâce à Neutron, les utilisateurspeuvent créer leurs propres réseaux, contrôler le trafic à travers des groupes de sécurité (Security groups) et connecter leurs instances à un ou plusieurs réseaux. Neutron gère aussi l'adressage IP des instances en leur assignant des adresses IP statiques ou par l'intermédiaire du service DHCP. Il fournit aussi un service d'adresse IP flottante que nous pouvons l’assigner aux instances afin d'assurer une connectivité depuis Internet. Ces adresses IP flottantes peuvent être réassignées à d'autres instances en cas de maintenance ou de défaillance de l'instance originelle. 30
  • 41.
     Swift : Lestockage objet d'OpenStack s'appelle Swift. C'est un système de stockage de données redondant et évolutif. Les fichiers sont écrits sur de multiples disques durs répartis sur plusieurs serveurs dans un Datacenter. Il s'assure de la réplication et de l'intégrité des données au sein du cluster. Le cluster Swift évolue horizontalement en rajoutant simplement de nouveaux serveurs. Si un serveur ou un disque dur tombe en panne, Swift réplique son contenu depuis des nœuds actifs du cluster dans des emplacements nouveaux. Puisque toute la logique de Swift est applicative, elle permet l'utilisation de matériel peu coûteux et non spécialisé.  Cinder : Service de stockage en mode bloc d'OpenStack s'appelle Cinder. Il fournit des périphériques persistants de type bloc aux instances OpenStack. Il gère les opérations de création, d'attachement et de détachement de ces périphériques sur les serveurs. En plus du stockage local sur le serveur, Cinder peut utiliser de multiples plateformes de stockage tel que Ceph, EMC (ScaleIO, VMAX et VNX), GlusterFS, Hitachi Data Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System, et GPFS), NetApp, HP (StoreVirtual et 3PAR) et bien d'autres. Le stockage en mode bloc est utilisé pour des scénarios performants comme celui du stockage de base de données, mais aussi pour fournir au serveur un accès bas niveau au périphérique de stockage. Cinder gère aussi la création d'instantanés (snapshots), très utile pour sauvegarder des données contenues dans les périphériques de type bloc. Les instantanés peuvent être restaurées ou utilisées pour créer de nouveaux volumes.  Horizon : OpenStack fournit un tableau de bord qui s'appelle Horizon. Il s'agit d'une application web qui permet aux utilisateurs et aux administrateurs de gérer leurs Clouds à traversune interfacegraphique. Comme toutes les briques d'OpenStack cette application est libre et il n'est donc pasrare de voir des versions modifiées par les fournisseurs de cloud computing ou par d'autres sociétés commerciales ne serait-ce que pour y faire apparaitre leur nom et logo, maisaussi pour y intégrer leurs systèmes de métrologie ou de facturation par exemple. Cette application est écrite en python et notamment grâce aux Framework de développement web tels que Django et elle tire 31 Chapitre 2 Cloud Computing : Etat de L’art
  • 42.
    parti des APIREST fournies par les autres composants d'OpenStack comme Nova, Cinder ou Neutron. Figure 11 : Architecture OpenStack D’autres composants s’ajoutent chaque semestre à cette liste et viennent progressivement enrichir le Framework OpenStack, nous pouvons noter parmi eux :  Ironic : Ce composant permet la gestion du « Bare Metal » plus précisément des véritables ordinateurs et non pasdes machines virtuelles. Il se charge aussi de démarrage et d’extinction des ordinateurs.  Heat : Heat est le composant d'orchestration d'OpenStack. Il permet de décrire une infrastructure sous forme de modèles. Dans Heat, ces modèles sont appelés des stack. Heat consomme ensuite ces modèles pour aller déployer l'infrastructure décrite sur OpenStack. Il peut aussi utiliser les métriques fournies par Ceilometer 32 Chapitre 2 Cloud Computing : Etat de L’art
  • 43.
    pour décider decréer des instances supplémentaires en fonction de la charge d'une application par exemple. 33
  • 44.
     Ceilometer : Leservice de télémétrie d'OpenStack s'appelle Ceilometer. Il permet de collecter différentes métriques sur l'utilisation du cloud. Par exemple il permet de récolter le nombre d'instances lancé dans un projet et depuis combien de temps. Ces métriques peuvent être utilisées pour fournir des informations nécessaires à un système de facturation par exemple. Ces métriques sont aussi utilisées dans les applications ou par d'autres composants d'OpenStack pour définir des actions en fonction de certains seuils comme avec le composant d'orchestration.  Trove : Trove est le service qui permet d'installer et de gérer facilement des instances de base de données relationnelle et No SQL au sein d'OpenStack. À ce jour les services de base de données supportés sont les suivants : MySQL, Redis, PostgreSQL, Mongo dB, Cassandra, Couchbase et Percona.  Sahara : Sahara a pour but de fournir aux utilisateurs les moyens simples de provisionner des clusters de Hadoop en spécifiant plusieurs paramètres comme la version, la topologie du cluster ou d'autres. Après avoir rempli ces paramètres, Sahara déploie le cluster en quelques minutes. Sahara fournit aussi les moyens d'évolution du cluster en rajoutant des nœuds à la demande. Conclusion Dans ce chapitre, nous avons entamé par la définition duCloud computing puis nous avons de la virtualisation, ensuite nous avons présenté l’OpenStack notre solution adopter et nous avons fini par la présentation et l’explication des différents versions et composants, nous avons maintenant une idée sur la solution à adopter et qui sera présenté dans le chapitre suivant : Conception de l’application OpenStack. 34 Chapitre 2 Cloud Computing : Etat de L’art
  • 45.
    CHAPITRE 3 :CONCEPTION DE L’APPLICATION OPENSTACK 35
  • 46.
    CHAPITRE3: CONCEPTION DEL’APPLICATION OPENSTACK Introduction Dans ce chapitre nous commencerons parune présentation de l’architecture générale puis le diagramme de déploiement, ainsi que le diagramme de packages et nous finissons par les diagrammes de séquences. I. Conception La conception est une étape nécessaire dans la réalisation d’une application web tel que la création d’une application. Elle regroupe les activités d’étude qui suivent la spécification, et ce jusqu’au codage. La conception est donc une étape à ne pas négliger, elle rend le développent plus fidèle aux besoins clients. L’analyse conceptuelle représente la modélisation des données à partir des besoins et de l’existant. Tout au long de ce chapitre nous allons implémenter notre schéma conceptuel. II. Description des diagrammes Un diagramme est une représentation visuelle simplifiée et structurée des idées, des constructions, des relations des données statiques. Il est employé dans tous les aspects des activités humaines pour visualiser et éclaircir la matière. Un diagramme permet aussi de décrire des phénomènes, de mettre en évidence des corrélations en certains facteurs ou de représente des parties d’un ensemble. À cet effet, nous avons choisi de mettre en relief les diagrammes de modélisationqui ont paru indispensables pour la compréhension du fonctionnement du système. III. Spécification générale La spécification générale des exigences se fait à partir de l’expression des besoins, et ce à travers le diagramme des cas d’utilisation. Ce diagramme possède deux composantes essentielles qui sont les acteurs et les cas d’utilisation. 36
  • 47.
    IV. Identification desacteurs Un acteur est une personne, un matériel ou un logiciel qui interagissent avec le système dans le but de réaliser une plus-value. Les principaux acteurs qui sont définit dans le cadre de ce projet sont :  Administrateur Cet acteur a le droit de gérer toutes les ressources des projets ainsi que tous les clients et leurs rôles. Il possède les droits administratifs qui lui permettent de contrôler tout le nuage et d’accéder à l’interface d’administration sur le portail « Dashboard » ainsi qu’à tous les autres projets.  Le client Cet acteur a le droit de gérer les instances et les images des machines virtuelles ainsi que les bases de données qui sont associées au projet dans lequel il est affecté. V. Identification des cas d’utilisations Après avoir distingué les principaux acteurs nous allons présenter les différentes fonctionnalités de ces derniers par les diagrammes de cas d’utilisation. 1. Diagramme de cas d’utilisation système administrateur Le diagramme ci-dessous donne à l’administrateur la possibilité de gérer toutes, les instances et les images. En plus, il gère les projets ainsi que les utilisateurs et leurs rôles. Chaque administrateur doit s’authentifier avant d’accéder au portail. Figure 12: Cas d'utilisation de l'administrateur 37 Chapitre 3 Conception de l’application OpenStack
  • 48.
    2. Diagramme decas d’utilisation système client Ce diagramme donne à chaque client un accès limité par rapport à l’administrateur, cet acteur peut gérer ses propres images et instances ainsi que les réseaux et les volumes. Chaque client doit aussi s’authentifier avant d’accéder au portail. Figure 13: Cas d'utilisation du client 3. Diagrammes de cas d’utilisations détaillés a. Cas d’utilisations gestion des images La gestion des images est un processus qui se représente par la création ou la suppression d’une image de machine virtuelle, cela est faisable par l’administrateur ou encore par le client. Figure 14 : Gestion d'image 38 Chapitre 3 Conception de l’application OpenStack
  • 49.
    b. Cas d’utilisationgestion des projets Le diagramme de cas d’utilisation illustré par la figure (15) définit quelques fonctionnalités que peut effectuer un administrateur. Il montre le cas correspondant à l’ajout et à la modification d’un projet. Figure 15 : Gestion de projet c. Cas d’utilisation gestion des utilisateurs La figure ci-dessous montre les fonctionnalités associées à l’administrateur pour assurer les gestions des utilisateurs. Figure 16 : Gestion d'utilisateur 39 Chapitre 3 Conception de l’application OpenStack
  • 50.
    d. Cas d’utilisationgestion des instances La gestion des instances est un service important dans OpenStack qui offre à l’utilisateur que ce soit un administrateur ou un simple utilisateur la possibilité de lancer ou terminer une instance avec d’autres actions comme il est illustré dans le diagramme de cas d’utilisation. Figure 17 : Gestion des instances VI. La mise en place de la solution OpenStack Pour mettre en place la solution open source OpenStack choisie, Il va falloir étudier les différents cas d’architecture possibles, présenter les utilisateurs du système et enfin l’installer. Cette installation nécessite une configuration matérielle et des outils logiciels et des prérequis bien spécifiques 1. Architecture d’installation Selon la documentation OpenStack il y a plusieurs architectures possibles. La figure suivante montre ces derniers. 40 Chapitre 3 Conception de l’application OpenStack
  • 51.
    Figure 18 :Les differentes architectures possibles Pour nos premiers pas nous avons donc essayé la première installation sur un seul nœud dans laquelle tous les services ainsi que toutes les instances sont hébergés au sein du même serveur. Cette solution nous permet uniquement d’effectuer des tests sur le Cloud pour des fins purement techniques. 2. Utilisateurs du système Afin de représenter les différentes fonctionnalités et utilisations possible du système, nous allons présenter une série de diagramme, en l’occurrence un diagramme des cas d'utilisation et des diagrammes de séquence. Pour notre solution, il existe deux types d'utilisateurs L'administrateur du système et les utilisateurs. a. L’administrateur L'administrateur est toute personne physique ayant reçu les droits d'administration. Généralement, lors de l'installation, nous avons configure les droits du premier administrateur. Un administrateur peut :  Ajouter de nouveaux administrateurs  Supprimer des administrateurs  Ajouter de nouveaux utilisateurs  Créer un projet 41 Chapitre 3 Conception de l’application OpenStack
  • 52.
     Créer denouvelles machines virtuelles  Gérer et créer un réseau  Chaque utilisateur possède un login et un mot de passe unique, modifiable à volonté par le concerné. b. L’utilisateur L'utilisateur est toute personne physique de l'entreprise ayant reçu un compte d'accès. A ce titre, il peut :  Stocker des données dans la limite de ses possibilités  Instancier des machines virtuelles. c. Diagrammes  Diagramme de cas d’utilisation Figure 19 : Diagramme de cas d'utilisation  Diagramme de séquence  Diagramme de séquence du cas d’utilisation « connexion » 42 Chapitre 3 Conception de l’application OpenStack
  • 53.
    Figure 20 :Diagramme de séquence "connexion"  Diagramme de séquence du cas d’utilisation « Création d’une machine virtuelle » Figure 21 : Diagramme de séquence "Création d'une VM"  Diagramme de séquence du cas d’utilisation « Stocker des données » 43 Chapitre 3 Conception de l’application OpenStack
  • 54.
    Figure 22 :Diagramme de séquence "stocker des données" VII. Architecture générale 1. Déploiement « all in one » Tous les services ainsi que toutes les instances sont hébergées au sein du même serveur. Cette solution est très rarement utilisée. En fait, l’installation sur un seul nœud est limitée, car ce genre de déploiement nous oblige à installer des modules bien déterminés. Ce mode comportera plusieurs inconvénients en termes de flexibilité, et n’assura pas la haute disponibilité de ressources et des services.  Pour cela OpenStack propose d’autres modes de déploiement. 2. Déploiement sous diffèrent nœuds Dans le cas général, l’installation et la configuration d’OpenStack se fait sur plusieurs serveurs ou nœuds. Les configurations «all-in-one» permettent de tester OpenStack comme produit et de se familiariser avec ses fonctionnalités. Toutefois, une configuration «all-in-one» n’est pas adaptée à un environnement de production. 44
  • 55.
    Figure 23 :Déploiement all in one Dans un environnement de production, les services d’OpenStack sont configurés sur plusieurs nœuds. Chaque composant sera évalué par rapport aux besoins d’une entreprise pour un déploiement Cloud particulier afin de déterminer si ce composant doit être installé sur un nœud distinct, ainsi que le nombre de nœuds de chaque type dont une telle entreprise a besoin. Figure 24 : Déploiement sous diffèrent nœuds 45 Chapitre 3 Conception de l’application OpenStack
  • 56.
    En ce quiconcerne notre projet nous avons besoin trois nœuds chacun à sa fonction dans la machine, nous les regrouper pratiquement sur un seul nœud qu’on le renomme MahaAmal.  Un nœud de contrôle (Controller Node)  Un nœud de calcul (Compute Node) MahaAmal  Un nœud de réseau (Network Node) Par la suite nous allons détailler le rôle de chaque nœud dans l’architecture d’OpenStack. a. Nœud de contrôleur Le nœud contrôleur héberge le service Keystone d’Identité, le service Glance d’Image, la partie management du service Nova du calcul et Neutron du Réseau, plusieurs agents Réseau, et le service Horizon du Dashboard. Il inclut également les services support comme une base de données SQL, la file de messages, et NTP. b. Nœud de calcul Le nœud de calcul exécute la partie hyperviseur de Compute qui assure le fonctionnement des instances. Le nœud Compute héberge également un agent du service Réseau qui permet la connexion des instances aux réseaux virtuels et fournit des services de firewalling aux instances à travers les groupes de sécurité. Figure 25 : Les composants de chaque nœud[10] 46 Chapitre 3 Conception de l’application OpenStack
  • 57.
    3. Les composantsde chaque nœud a. Le Dashboard d’OpenStack L’administrateur ou l’utilisateur du Cloud peuvent gérer les différents services et ressources OpenStack à travers une interface web appelé «Horizon». Le Dashboard alors est une interface web qui permet aux administrateurs et aux utilisateurs du Cloud de gérer les différentes ressources et services OpenStack. b. Service de messagerie OpenStack utilise une file de messages pour coordonner les opérations et les informations de statut entre les services. Le service de file de messages tourne en général sur le nœud contrôleur. Néanmoins, la plupart des distributions qui packagent OpenStack supportent un service particulier de file de message. c. Service d’identité Le service d’identité dans OpenStack «Keystone» fournit un point unique d’intégration qui permet la gestion des services d’authentification, d’autorisation ainsi que la gestion des bases de données de l’utilisateur et les catalogues de service OpenStack et leurs endpoints de l’API. Pour mieux comprendre le fonctionnement de ce service il faut avoir une idée sur les éléments ci-dessous :  Utilisateur :Les utilisateurs sont des représentations numériques d’une personne, un système ou un service qui utilise les services de cloud OpenStack. Keystone s’assure que les demandes entrantes proviennent d’un utilisateur valide qui peut être assigné par des jetons d’accès aux ressources.  Tenant :est un groupe utilisé pour isoler les ressources et / ou les utilisateurs. Les groupes peuvent être mis en correspondance avec les clients, les projets ou les organisations.  Rôle :Un rôle implique un ensemble de droits et privilèges attribués à un utilisateur pour effectuer un ensemble spécifique d’opérations. Un jeton émis par Keystone comprend une liste des rôles de cet utilisateur et les services ensuite déterminent comment interpréter ces rôles.  Credentials :ce sont des données connues seulement par un utilisateur spécifique qui prouvent son identité. Les exemples incluent le nom d’utilisateur et mot de passe, nom d’utilisateur et clé API, ou un jeton d’authentification. 47 Chapitre 3 Conception de l’application OpenStack
  • 58.
     Authentification :L’authentificationest le fait de vérifier l’identité d’un utilisateur en validant un ensemble d’informations d’identification fournies par cet utilisateur. Cesinformations d’identification sont d’abord un nom d’utilisateur et mot de passe ou une clé de nom d’utilisateur et API. Le service d’identité keystone émet un jeton d’authentification en réponse aux informations d’identification. L’utilisateur doit fournir ce jeton pour les demandes ultérieures.  Token :C’est un texte arbitraire utilisé pour accéder à des ressources. Chaque jeton a une portée décrivant les ressources accessibles. Un jeton est valable pour une durée limitée et peut être révoqué à tout moment.  Endpoint :C’est une adresse de réseau accessible, généralement décrite par URL, à partir de laquelle les services sont accessibles. d. Service de calcul Nova, le service OpenStack Compute est utilisé pour l’hébergement et la gestion des systèmes de cloud computing. C’est est une partie importante d’un système infrastructure as-a-Service (IaaS) dont les principaux modules sont mis en œuvre en Python. Le service de calcul Nova interagit avec le service d’identité keystone pour l’authentification, le service d’image Glance pour disque et images de serveurs, et le Dashboard d’OpenStack pour l’utilisateur et l’interface d’administration.  Ces interactions sont faites à travers plusieurs services nous sitons parmi eux :  Nova-api :Accepte et répond aux appels de l’utilisateur final d’API de calcul. Le service prend en charge l’API OpenStack Compute, l’API Amazon EC2, et une API d’administration spéciale pour les utilisateurs privilégiés d’effectuer des actions administratives. Il initie la plupart des activités d’orchestration, telles que l’exécution d’une instance.  Nova-compute :Ce service permet de créer et mettre fin à des instances de machine virtuelles via les API d’hyperviseur. Par exemple :  XenAPI pour XenServer / XCP  libvirt pour KVM ou QEMU  VMware API pour VMware  Nova-schedular :Prend une demande d’instance de machine virtuelle à partir de la file d’attente et détermine sur quel serveur de calcul hôte sera exécutée. 48 Chapitre 3 Conception de l’application OpenStack
  • 59.
     Nova-conductor :Iljoue le rôle d’intermédiaire entre les interactions de servicenova- compute et la base de données. Il élimine les accès directs à la base de données de cloud faite par le service nova-compute.  Base de données SQL :stocke la plupart d’états de «build-time» et «run-time» pour une infrastructure cloud y compris :  types d’instances disponibles  Instances en cours d’utilisation  réseaux disponibles  les projets e. Service d’image Le service d’image OpenStack appelé «Glance» fournit des services de découverte, d’enregistrement et de livraison pour les disques et les images de machines virtuelles. Il offre une API REST qui permet d’interroger les métadonnées des images de machines virtuelles et de récupérer une image. Ce service a aussi la capacité de copier (ou snapshot) une image du serveur, puis de la stocker rapidement. Les images enregistrées peuvent ensuite être utilisées en tant que modèles pour obtenir de nouveaux serveurs démarrés rapidement, et peuvent également être utilisés pour stocker et cataloguer des sauvegardes illimitées. Les images de machines virtuelles peuvent être stockées dans différents endroits, y compris les systèmes de fichiers simples et des systèmes de stockage d’objets tels que le service de stockage objet d’OpenStack appelé «Swift».  Glance comprend les éléments suivants :  Glance-api : accepte les appels d’API d’image pour la découverte, la récupération et le stockage d’image.  Glance-registry :Stocke, traite et récupère des métadonnées sur les images. Les métadonnées comprennent des éléments tels que la taille et le type.  Base de données :Stocke les métadonnées de l’image et prend en charge de nombreux backends, y compris MySQL, SQLite et mongodb . . .  Storage-repository : Supporte les systèmes normaux de fichiers, les périphériques de bloc RADOS, Amazon S3 et HTTP pour le stockage des images. f. Service de réseau Neutron, un service de réseau pour OpenStack. Il permet de créer et de joindre des dispositifs d’interface gérés par d’autres services d’OpenStack aux réseaux. Des plug- 49 Chapitre 3 Conception de l’application OpenStack
  • 60.
    ins sont misen œuvre pour accueillir les différents équipements et logiciels, ils offrent une flexibilité à l’architecture d’OpenStack et son déploiement.  Le service Neutron comprend les composants suivants :  Neutron-server : Accepte et achemine les demandes API pour le plug-in OpenStack Networking approprié pour l’action.  OpenStack Networking plug-ins and agents : Ces plug-ins et agents diffère selon le fournisseur et les technologies utilisées dans un cloud particulier, ont pour rôle de connecter et débrancher des ports, créer des réseaux ou sous-réseaux, et fournir l’adressage IP.OpenStack navires en réseau avec les plug-ins et des agents pour les commutateurs virtuels et physiques Cisco, les produits NEC OpenFlow, ouvert vSwitch, passerelles Linux, et le produit VMware NSX.Les agents communs sont L3 (couche 3), DHCP et un plug-in Agent.  Messaging queue : Il permet d’acheminer des informations entre le neutron- serveur et divers agents. Il agit également comme une base de données pour stocker l’état de réseau pour certains plug-ins. Conclusion Dans ce chapitre, nous avons fait la conception qui contient en premier lieu l’analyse et spécification des besoins (fonctionnels et non fonctionnels) et en second lieu l’architecture générale et nous avons fini par présenter les diffèrent services et d’OpenStack et leur fonctionnalité. 50 Chapitre 3 Conception de l’application OpenStack
  • 61.
    CHAPITRE 4 :REALISATIONDE LA SOLUTION 51
  • 62.
    CHAPITRE 4 :REALISATION DE LA SOLUTION Introduction Dans ce chapitre, nous allons mettre en place notre solution OpenStack en présentant son architecture, quels sont les différents cas d'utilisation du système avec des diagrammes, comment se fera le dimensionnement des couches matérielles, notamment des serveurs et enfin nous allons présenter des spécifications sur les autres éléments à installer avant d'installer la solution proprement dite. I. Réalisation 1. Environnement de travail a. Environnement matériel Pour la réalisation de ce projet, nous avons effectué notre travail à l’aide de notre ordinateur personnel : Disque dur de taille 1 TB Processus Intel® Core™i7-3520M CPU @ 2.90GHz RAM de taille 8 GB système d’exploitation 64bits processeur 64bits A l’aide de VMware Workstation Professionnel 2015 on a construire une machine virtuelle :  Controller : RAM 16GB, Processeur 4. b. Environnement logiciel Durant la période de travail, nous avons utilisé la version CentOS 7. Nous avons choisi ce système pour sa comptabilité avec la version d’OpenStack Mitaka. Linux est le système open source le plus sécurisé et le plus rapide pour l’exécution de notre plateforme OpenStack. II. Installation et configuration 1. Implémentation a. Installation de composants OpenStack 52
  • 63.
    Ce chapitre présentel'installation des composants d'identité, d'images et virtualisation sur une seule machine. Il s'agit plutôt d'une configuration de développement mais néanmoins fonctionnelle.  Plan de travail :  Sélection des modules à installer  Définition de l'architecture matérielle  Déploiement du système d'exploitation sur les Os  Installation et vérification des prérequis  Installation de keystone  Installation de glance  Installation de Nova  Installation de Cinder  Test b. Prérequis  Disposer des droits d'administration.  Disposer d'une connexion à Internet configurée et activée.  Avoir les dépôts d'activés  Un processeur supportant la virtualisation matérielle (test sur la page KVM)  Disposer d'un disque dur ou d'une partition non formatée pour LVM 3.4. c. Les paquets à installer  kvm, libvirt-bin, virtinst.  mysql-server, python-mysqldb  bridge-utils  Il est nécessaire de configurer le réseau en IP Fixe  Tous les services OpenStack seront installés sur la même machine. 2. Préparation du système a. Réseau  Modifiez avec les droits d'administration le fichier /etc/network/interfaces en ajoutant les adresses IP fixe (192.168.65.133).  Ajouter les interfaces réseaux de serveur DNS pour se connecter à l’internet. b. Serveur NTP Le serveur NTP étant nécessaire à la bonne synchronisation du cloud, installez le paquet NTP avec la commande suivante : 53 Chapitre 4 Réalisation de la solution
  • 64.
    #sudo apt-get installntp c. RabbitMQ RabbitMQ est un courtier de messages se basant sur le standard AMQP afin d'échanger avec différents clients. C’est le service qui permet aux composants OpenStack de communiquer entre eux.  Installez les paquets : rabbitmq-server, memcached, python-memcache d. Mysql Chaque composant possède sa base de données MySQL, contenant toutes les données modifiables à chaud (ID des images disques, des instances virtuelles, réseaux, identités…). Les données de configuration fixes sont stockées dans des fichiers texte. e. Keystone Le composant Keystone est chargé de la gestion des utilisateurs et des services.  Gestion des utilisateurs : La gestion des utilisateurs s'articule autour de 3 objets : L’objet User représentant l'utilisateur final. L'objet Tenant que nous pouvons le représenter par un projet, une organisation au sein duquel les instances seront regroupées et administrées par les utilisateurs. L'objet Rôle qui définit le rôle de l'utilisateur sur un Tenant. Un utilisateur peut avoir un ou plusieurs rôles sur différents Tenants.  Gestion des services et points d'accès La gestion des différents services, comme Glance pour les images ou Swift pour le stockage. La définition des points d'accès à ces différents services, les url et ports pour y accéder f. Préparation de la base de données Mysql  Commencez par créer la base MySQL. La commande suivante crée un utilisateur et sa base de données nommés "keystone". Changez SQLPASSWD par un mot de passe root.[11] 54 Chapitre 4 Réalisation de la solution
  • 65.
    3. Installation Nous avonspoursuivi les étapes suivantes pour installer OpenStack avec PackStack qui est la meilleur solution pour faciliter l’installation les tous en un démarche simple. [12] Avec cette commande nous avons su l’adresse IP Fixe ens33 192.168.65.133, encore le nom de machine localhost.localdomain, le fichier /etc/hosts contient les adresses locales. Figure 26 : Adresse IP fixe ens33 Nous ajoutonsl’adresse de localhost.localdomain : Figure 27 : Ajout d'adresse localhost.localdomain Pour savoir que le réseau est connecté et mise en relation avec Google et que ça fonctionne correctement : 55 Chapitre 4 Réalisation de la solution
  • 66.
    Figure 28 :Vérifier la connexion sur Google Il faut avoir la mise à jour : Figure 29 : Mise à jour de VM Vérifier la connectivité de machine virtuelle CentOS : Figure 30 : Vérifier la connectivité du VM Désactiver la connexion : 56 Chapitre 4 Réalisation de la solution
  • 67.
    Figure 31 :Désactiver la connexion du VM Figure 32 : Éditer le fichier /etc/sysconfig/selinux Changer l’état de SELINUX de ¨enforcing¨ à ¨disabled¨ , donc de la désactiver : Figure 33 : Désactiver le Selinux Installer rdo-release qui nous permet d’installer la configuration d’OpenStack : 57 Chapitre 4 Réalisation de la solution
  • 68.
    Figure 34 :Install rdo-release L’installation est terminée avec succès Figure 35 : Installation de rdo-release est terminée Afficher les droits de fichier repos.d : 58 Chapitre 4 Réalisation de la solution
  • 69.
    Figure 36 :Détails sur les droits Installer l’OpenStack avec PackStack : Figure 37 : Install Openstack-packstack L’installation est terminée avec succès : Figure 38 : Fin de l'installation d'Openstack-packstack En utilisant le PackStack nous avons besoin aussi de créer un fichier myanserfile.txt dans root pour la configuration des composants d’OpenStack : 59 Chapitre 4 Réalisation de la solution
  • 70.
    Figure 39 :Création de myanserfile.txt Figure 40 : Éditer le fichier texte myanserfile Le chemin de clé publique soit configuré avec /root/.ssh, et nous avons installé MariaDB, Glance et Cinder : Figure 41 : Installer les composants nécessaires d'OpenStack Ainsi que l’adresse machine de Controller 192.168.65.133 et l’adresse machine de Computeaussi l’adresse machine de réseau : 60 Chapitre 4 Réalisation de la solution
  • 71.
    Figure 42 :La configuration des serveurs sur myanserfile.txt Figure 43 : Installer le composant Manila Figure 44 : Nombre d'essais et d'usage est désactivé Effectuer un mot de passe de l’administrateur : Figure 45 : Mot de passe de l'administration de Dashboard Avec la commande PackStack nous avons fait l’installation de tous ces composants : 61 Chapitre 4 Réalisation de la solution
  • 72.
    Figure 46 :Installation en utilisant les codes de myanserfile L’installation est terminée avec succès et OpenStack est installé, ainsi que tous les composants sont installés. Les trois nœuds (Controller, Network, Compute) sont donc installés sur un seul nœud en utilisant l’interface PackStack en leurs effectuant une adresse IP fixe 192.168.65.133. Pour passer à l’accès Dashboard il faut http:// 192.168.65.133/Dashboard 62 Chapitre 4 Réalisation de la solution
  • 73.
    Figure 47 :Fin de l'installation d'Openstack Afficher le fichier de keystonerc_admin qui contient le nom, mot de passe et l’adresse web de Dashboard : Figure 48 : Contenu de keystonerc_admin Figure 49 : Copier le code de configuration de réseau ens33 en le code de configuration de br-ex Figure 50 : Éditer le fichier de configuration de réseau de br-ex 63 Chapitre 4 Réalisation de la solution
  • 74.
    Figure 51 :Modifier les adresses IP de br-ex Figure 52 : Éditer et modifier le contenu de fichier ifcfg-ens33 Redémarrer la connexion de machine virtuelle : Figure 53 : Redémarrage de la connexion du VM 64 Chapitre 4 Réalisation de la solution
  • 75.
    Alors nous auronsla nouvelle configuration de l’adresse IP : Figure 54 : La connexion avec les nouveaux changements d'adresses Figure 55 : Éditer le fichier plugin.ini pour configurer Neutron Figure 56 : Paramétrer les drivers Figure 57 : Redémarrer le service Neutron 65 Chapitre 4 Réalisation de la solution
  • 76.
    Figure 58 :Éditer le fichier openvswitch_agent.ini Figure 59 : Remplacer le type de driver en physnet1 Figure 60 : Redémarrer le service neutron-openvswitch-agent Figure 61 : Vérifier l'activation de service Neutron-openvswitch Figure 62 : Éditer le fichier l3-agent.ini 66 Chapitre 4 Réalisation de la solution
  • 77.
    Figure 63 :Ajouter br-ex comme un sous-réseau externe Figure 64: Vérifier l'activation de service Neutron-l3-agent Figure 65 : Prendre keystone_admin comme chemin Figure 66 : Création d'un réseau externe se bansant sur physnet 67 Chapitre 4 Réalisation de la solution
  • 78.
    4. Utilisation etTest d’OpenStack Cette étape permet de tester les différentes fonctionnalités attendues du nuage privé. Ainsi elle permet de lier l’étape de virtualisation aux autres étapes.[13]  Elle consiste à :  Ajouter des projets.  Ajouter des utilisateurs.  Créer un réseau (créer un sous-réseau interne et un sous-réseau externe)  Créer un routeur  Télécharger l’image test déjà virtualisé  Télécharger des volumes.  Lancer des instances.  Configurer les accès. a. Interface Authentification au nuage Il existe deux types d’utilisateur du nuage, administrateur ou membre d’un projet. Selon le type d’utilisateur des interfaces ou d’autres s’affichent après l’authentification (nous utilisons l’utilisateur en tant que administrateur b. Authentification La première étape qui devrait être effectué par l’administrateur pour qu’il puisse se connecter à l’horizon est l’authentification.  Interface d’authentification Ce Cloud est utilisé soit par l’administrateur ou par un client interne de la société Ooredoo, il suffit donc de saisir le login et le mot de passe approprié pour consulter le Dashboard d’OpenStack : 68 Chapitre 4 Réalisation de la solution Chapitre 4 Réalisation de la solution
  • 79.
    Figure 67 :Dashboard d’authentification au nuage  Vue d’ensemble « OverView » Représente un récapitulatif de l’usage des serveurs par projet, utilisation actuelle en nombre de CPU virtuels, RAM et Disques puis compteur en CPU et espace disque(GB) par heures comme l’illustre la figure 68. Figure 68 : Vue d’ensemble  Crée un Projet 69 Chapitre 4 Réalisation de la solution
  • 80.
    La figure 69montre comment nous pouvons aussi affecter des utilisateurs aux projets, Nous avons prendre ici l’exemple d’affecter l’utilisateur « admin » au Projet « Tunisie Telecom » ainsi que nous pouvons mettre à jour le rôle de ce utilisateur. Figure 69 : Crée un Projet  Utilisateurs La figure 70 montre la liste les utilisateurs qui ont été créés. Nous pouvons aussi créer de nouveaux utilisateurs et / ou désactiver / supprimer des utilisateurs existants depuis le bouton « Editer ». 70 Chapitre 4 Réalisation de la solution
  • 81.
    Figure 70 :Créer un utilisateur Créer un réseau Créer un réseau de nom Ooredoo_Tunisie-external et avoir le même nom pour le sous-réseau en lui attribué une adresse réseau 192.168.65.0/24 avec une passerelle 71 Chapitre 4 Réalisation de la solution
  • 82.
    192.168.65.1, ensuite allouerune plage d’adresses de 192.168.65.150 jusqu’à 192.168.65.240 et effectué un serveur Dns 8.8.8.8 Figure 71 : Créer un réseau external 72 Chapitre 4 Réalisation de la solution
  • 83.
    Figure 72 :Détails de sous-réseau external Nous avons créé un autre réseau de nom Ooredoo_Tunisie-internal en lui attribué une adresse réseau 172.17.20.0/16 avec une passerelle 172.17.20.1, ensuite effectué un serveur Dns 172.17.20.1. Créer un routeur Créer un routeur de nom Ooredoo_Tunisie-router avec l’activation de l’adresse de translation de réseau statique, après la création de routeur nous obtenons l’@ Ip 192.168.65.162 et d’@ ID du sous-réseau 94d18759-529b-42d7-aee1-1d18b1e16657 en lui lier avec le réseau externe Ooredoo_Tunisie-external 73
  • 84.
    Figure 73 :Créer un routeur Ajouter une interface Nous avons connecté un sous-réseau Ooredoo_Tunisie-internal d’@IP 172.17.20.1 spécifique au routeur Ooredoo_Tunisie-router donc nous aurons une interface interne plus que la passerelle externe 192.168.65.162 74
  • 85.
    Figure 74 :Ajouter une interface au routeur Figure 75 : Détails des interfaces du routeur Topologie du réseau 75
  • 86.
    Nous aurons legraphique de topologie du réseau du Cloud avec son réseau publique et son routeur. Figure 76 : Graphique de topologie du réseau  Ajouter des Images La page suivante figure 77 présente l’image actuellement disponible qui peut être utilisé pour lancer une instance. L’administrateur ou l’utilisateur Membre de Projet ont les droits de créer des images personnalisées sur cette page. Figure 77 : Crée une image  Gabarits « Flavors » 76
  • 87.
    Les Gabarits sontdes Modèles de matériel virtuel appelées «Flavors» dans OpenStack, définissant la taille de RAM, disque, nombre de cœurs, et ainsi de suite. La figure 37 ci-dessous représente les différents modèles existant ainsi que la création d’un model personnalisé nommé CentOS7.L’onglet « accès au Gabarits » nous a permet d’affecter un projet au Gabarit qui est en cours de construction. Figure 78 : Créer un gabrit Accès et sécurité Les groupes de sécurité sont des ensembles de règles de filtrage IP qui sont appliqués à la configuration réseau d'une VM. Après sa création, nous pouvons ajouter des règles à un groupe de sécurité.Les paires de clés sont des identifiants SSH injectés dans les images lors de leur lancement. L'action de créer une nouvelle paire de clés enregistre la clé publique et télécharge la clé privée (fichier .pem).La figure ci-dessous montre la manière de création d’un groupe de sécurité, la mise à jour d’un group existant ainsi que la génération des paires clé. 77
  • 88.
    Figure 79 :Créer un groupe de sécurité  Allouer une IP flottante Nous avons alloué une IP flottante avec l’@ externe Ooredoo_Tunisie-external. Figure 80 : Allouer une IP flottante 78 Chapitre 4 Réalisation de la solution
  • 89.
     Ajouter unerègle Figure 81 : Ajouter une règle ICMP Créer un Volume Nous avons créé le volume Ooredoo_Tunisie-Volume pour l’installation de l’image de Windows 10 avec une taille de 16GiO Figure 82 : Créer un volume 79 Chapitre 4 Réalisation de la solution
  • 90.
     Lancer uneinstance Figure 83 : Détails de lancement d’ une instance de l'image Windows 10 Figure 84 : Allouer l’image source d'une instance 80 Chapitre 4 Réalisation de la solution
  • 91.
    Figure 85 :Allouer le gabarit CentOS7 Figure 86 : Allouer le sous-réseau 81 Chapitre 4 Réalisation de la solution
  • 92.
    Figure 87 :Démarrage de l'instance Windows 10 Alors, de ce fait, nous obtenons une machine virtuelle qui est au fait le Cloud privé, qui permet au client d’Ooredoo de gérer ses ressources sans l’intervention d’un administrateur chez Ooredoo. Nous avons créé d’autres VMs, chacun d’ils son adresse d’accès. Conclusion Dans ce chapitre, nous avons mis l’accent sur la procédure de déploiement de notre solution. Par ailleurs nous avons exposé les différents services fournit par OpenStack. 82 Chapitre 4 Réalisation de la solution
  • 93.
  • 94.
    CONCLUSION GENERALE En conclusionce document est le fruit de notre travail dans le cadre du projet de fin d’études dont l’objectif était la mise en place d’un Cloud privé basée sur la solution OpenStack. Nous avons entamé la première phase de notre projet par l’étude de l’existant et la récolte des informations sur les technologies de bases qui entrent enjeux dans la réalisation de notre travail. Par la suite, nous avons mis l’accent sur les solutions permettant l’hébergement d’une infrastructure Cloud, dont nous avons précisé le choix pour la mise en place de notre projet. La phase suivante consiste à la spécification des besoins fonctionnels et non fonctionnels pour l’entreprise. Cela nous a permis d’identifier les acteurs qui vont interagir avec les différents composants de notre solution à travers l’interface web d’OpenStack. Le dernier volet de notre projet était la partie réalisation, au cours de laquelle nous nous sommes heurtés à de nombreux problèmes, que ce soit dû aux solutions de Cloud ou à leur configuration et installation, notamment en ce qui concerne le réseau. Tous ces problèmes nous ont montré la complexité d’utiliser une telle plateforme, et leurs résolutions nous a souvent retardé mais nous a amené à expérimenter le mode « investigation », primordial pour tout informaticien. L’élaboration de ce projet nous a permis de concrétiser et d’approfondir nos connaissances particulièrement dans les domaines de la virtualisation, Cloud Computing et automatisation des services. 84
  • 95.
    REFERENCES Webographie [1] https://fr.wikipedia.org/wiki/Ooredoo_(Tunisie)#Histoire/ Consulté le03/02/2019 [2] http://www.ooredoo.tn/institutionnel/qui-somme-nous/ Consulté le 03/02/2019 [3] http://www.cloud-entreprise.info/historique-cloud-computing/ Consulté le 12/02/2019 [4]https://blog.econocom.com/wp-content/uploads/2014/07/PaaS_cloud_stack- e1404826877689.gif Consulté le 18/02/2019 [5]https://encryptedtbn0.gstatic.com/images? q=tbn:ANd9GcQB326L5sSs3tMiAh1NK6S1G4jjqZyA50F57rJhGfrGmMq_sLog Consulté le 14/03/2019 [6]http://www.renaudvenet.com/cloud-computing-avantages-et-inconvenients- 2011-01-26.html Consulté le 15/03/2019 [7]https://images.itnewsinfo.com/dis/articles/originale/000000011136.jpg Consulté le 21/02/2019 [8]http://wwwigm.univmlv.fr/~dr/XPOSE2008/virtualisation/images/ hyperviseur1.png Consulté le 23/02/2019 [9]https://encryptedtbn0.gstatic.com/images? q=tbn:ANd9GcSuLs4kOWEB9N0VeaT5mHNazRbEybwSd4qUC0JTvsCb8t- LK5siBA Consulté le 23/02/2019 [10] https://cdn.ttgtmedia.com/visuals/LeMagIT/hero_article/ProjectMap.jpg Consulté le 30/02/2019 [11]https://openstack-folsom-install-guide.readthedocs.io/en/latest/ 85
  • 96.
    Consulté le 09/04/2019 [12]http://openstack.redhat.com/install/packstack/ Consultéle 12/02/2019 [13]https://www.supinfo.com/articles/single/5088-mise-place-cloud-prive-avec- openstack Consulté le 06/04/2019 Bibliographie [14]http://vixra.org/pdf/1605.0018v1.pdf Consulté le 06/04/2019 86
  • 97.
    TABLE DES ABREVIATIONS TICTechnologies de l'information ET de la communication IT Technologie de l’information PME Petites ET moyennes entreprises TPE Très petites enterprise GSM Global System for Mobile Communications GPRS General Packet Radio Service EDGE Enhanced Data Rates for GSM Evolution OSS Office of Strategic Services DBA Database Administrator (en français administrateur de bases de données) 3G 3eme Generation HD Haute Definition HSPAHigh Speed Packet Access (évolution plus rapide de la 3G) MHZ Mégahertz HP Haute-Parleur VMwareVMware Workstation Pro CPUCentral processing unit RAMCentral processing unit, Vcenter Visibilité centralisée ESX/ESXiHyperviseur de type 1 IaaS Infrastructure as a Service PaaSPlatform as a Service SaaS Software as a Service DSI Défense et Sécurité internationale IBM International Business Machines Hyper-V Windows Server Virtualization KVMKernel-based Virtual Machine IBM de CP-67 Control program portion of CP/CMS SE Linux Système d’exploitation Linux SVirtServes virtual 87
  • 98.
    VCenterVirtual Center VCloudVirtual Cloud NISTNationalinstitute of standards and technology APIApplication Programming Interface EC2Elastic Compute Cloud WSWeb services OCCI Analyse ET sens d’Astrologique NASANational Aeronautics and Space Administration CPUCentral Processing Unit QCOW2/ RAWFormats de stockage disponible pour KVM OVFOpen Virtualization Format LDAPLightweight Directory Access Protocol DHCPDynamic Host Configuration Protocol Ceph Plateforme libre de stockage distribué EMC Plateformes de stockage ScaleIOSolution de software defined storage hyper-convergente VMAX ET VNX Stockage en mode bloc dans ViPR HDSHitachi Data Systems SANStorage Area Network XIVStorage System GPFSGeneral Parallel File System NetApp Systèmes de stockage des données 3PARStoreServ and Store Virtual Software Django Framework de développement web API RESTApplication Programming Interfaces mise à zéro NoSQLNot only Structured Query Language MySQL Un serveur de bases de données relationnelles SQL REDISResource and Environmental Data Interpretation System PostgreSQL Object-relational database management system is available in several source Mongo dBSystème de gestion de base de données orientée SQLStructured Query Language NTPNetwork Time Protocol 88
  • 99.
    URLUniform Resource Locator SQLiteStructuredQuery Language Lite RADOSReliable Autonomic Distributed Object Store HTTPHypertext Transfer Protocol 89
  • 100.
     Résumé Le CloudComputing est un environnement logiciel puissant et flexible qui délègue la gestion du matériel, et qu'on paie selon la consommation. La migration des applications d'entreprise sur cet environnement ne cesse de s'accentuer. Une grande partie de ces applications est offerte sous forme de services Web, qui standardisent l'accès aux logiciels métier via Internet. Le but de notre projet est de mettre en place une solution Cloud Computing privé pour une entreprise en lui créant une infrastructure en tant que service. Mots clés : Cloud Computing, IaaS, virtualisation, OpenStack.  Abstract Cloud Computing is a powerful and flexible software environment that delegates hardware management and pays according to consumption. The migration of enterprise applications to this environment continues to grow. Many of these applications are offered as web services, which standardize access to business software over the Internet. The goal of our project is to set up a private Cloud Computing solution for a company by creating an infrastructure as a service. Keywords: Cloud Computing, IaaS, virtualization, OpenStack.  Resumen Cloud Computing es un entorno de software potente y flexible que delega la administración del hardware y paga según el consumo. La migración de aplicaciones empresariales a este entorno continúa creciendo. Muchas de estas aplicaciones se ofrecen como servicios web, que estandarizan el acceso al software empresarial a través de Internet. El objetivo de nuestro proyecto es configurar una solución privada de computación en la nube para una empresa mediante la creación de una infraestructura como servicio. Palabras clave: Cloud Computing, IaaS, virtualización, OpenStack. 90