Cloud
Cloud
Cloud
Cependant, la mise en place d'un cloud privé peut être complexe et nécessite une
bonne compréhension des technologies sous-jacentes. C'est pourquoi nous allons présenter
dans cet exposé la mise en place d'un cloud privé avec OpenStack, une plateforme de cloud
computing open source.
Nous allons également présenter l'intégration d'un service de gestion des données pour
garantir la sécurité et la disponibilité des données. Nous allons commencer par présenter les
principes fondamentaux d'OpenStack et de la mise en place d'un cloud privé. Ensuite, nous
allons détailler l'intégration d'un service de gestion des données et présenter les avantages et
les inconvénients de cette approche. Enfin, nous allons conclure par une démonstration de la
mise en place d'un cloud privé avec OpenStack et un service de gestion des données.
I. Présentation de OpenStack
1. Virtualisation
La virtualisation consiste à faire fonctionner un ou plusieurs systèmes d'exploitation sur un ou
plusieurs ordinateurs. Cela peut sembler étrange d'installer deux systèmes d'exploitation sur
une machine conçue pour en accueillir qu'un, mais comme nous le verrons par la suite, cette
technique a de nombreux avantages. Il est courant pour des entreprises de posséder de
nombreux serveurs, tels que les serveurs de mail, de nom de domaine, de stockage pour ne
citer que ceux-ci. Dans un contexte économique où il est important de rentabiliser tous les
investissements, acheter plusieurs machines physiques pour héberger plusieurs serveurs n'est
pas judicieux. De plus, une machine fonctionnant à 15% ne consomme pas plus d'énergie
qu'une machine fonctionnant à 90%. Ainsi, regrouper ces serveurs sur une même machine
peut donc s'avérer rentable si leurs pointes de charge ne coïncident pas systématiquement.
Enfin, la virtualisation des serveurs permet une bien plus grande modularité dans la répartition
des charges et la reconfiguration des serveurs en cas d'évolution ou de défaillance
momentanée. Les intérêts de la virtualisation sont multiples. On peut citer :
L'utilisation optimale des ressources d'un parc de machines (répartition des machines
virtuelles sur les machines physiques en fonction des charges respectives)
L'économie sur le matériel (consommation électrique, entretien physique, surveillance)
L'installation, tests, développements sans endommager le système hôte.
Le para virtualisation est une technique de virtualisation qui présente à la machine invitée une
interface logicielle similaire mais non identique au matériel réel. Ainsi, elle permet aux
systèmes d'exploitation invités d'interagir directement avec le système d'exploitation hôte et
donc ils seront conscients de la virtualisation.
a) La virtualisation complète
La virtualisation complète (en anglais full-virtualization) est une technique de virtualisation
qui permet de créer un environnement virtuel complet. En utilisant cette technique, le système
d'exploitation invité n'interagit pas directement avec le système d'exploitation hôte et donc il
croit s'exécuter sur une véritable machine physique.
Cette technique de virtualisation ne permet de virtualiser que des SE de même architecture
matérielle que l'hôte.
Solutions de virtualisation
Dans cette section, nous présentons les outils de virtualisation les plus utilisés qui sont Xen,
KVM, VMware et HyperV :
Xen : est une solution libre de virtualisation permettant de faire tourner plusieurs
systèmes d'exploitation sur une même machine physique. Il est de type hyperviseur,
c'est à dire qu'il vient s'insérer entre le matériel et le noyau. Xen est considéré comme
une solution à base de para virtualisation, car les systèmes invités doivent être
modifiés pour cohabiter. [3]
KVM : est un projet de virtualisation complète qui est actuellement en développement
pour un module de para virtualisation. Il est intégré depuis le noyau Linux 2.6.20 et
permettant une virtualisation matérielle des processeurs. Ainsi, il ne fonctionne que
sur un processeur de type Intel VT ou AMD-V. [3]
VMware : est une société qui offre des produits propriétaires liés à la virtualisation
d'architectures x86. Elle est leader dans le marché de la virtualisation pour PC. Son
produit de virtualisation VMware Server est de type virtualisation complète pour
serveur sous GNU/Linux et/ou Microsoft Windows. [3]
HyperV : est une solution de virtualisation basée sur la virtualisation 64 bits pour
Microsoft. Il est considéré comme une solution de para virtualisation. [3]
2. Cloud Computing
Avant de présenter OpenStack il est essentiel de rappeler le domaine dans lequel il est
appliqué qui est le Cloud Computing. Il s’agit ici d’un modèle de prestations de services
informatiques dans lequel les ressources informatiques tels que les serveurs, les stockages,
les applications et les services, sont fournies en lignes via internet. Le cloud computing
permet aux utilisateurs d’accéder à des ressources informatiques couteuses et complexes.
Les ressources sont fournies par des fournisseurs de services cloud, qui gèrent les
infrastructures et les services informatiques. Ses principales caractéristiques sont :
Accès en ligne : Les ressources informatiques sont accessibles en lignes, via internet.
Paiement à l’utilisation : Les utilisateurs paient uniquement pour les ressources
qu’ils utilisent.
Evolutivité : Les ressources peuvent être facilement augmentées ou diminuées en
fonction des besoins.
Gestion des infrastructures : Les fournisseurs des services cloud gèrent les
infrastructures et les services informatiques.
Les entreprises déploient des Cloud pour répondre aux besoins en ressources
informatiques, contrôler et superviser l’environnement, rationaliser les infrastructures et
optimiser les coûts. Un des outils pour mettre en place cette environnement cloud est
Openstack.
Openstack se définit comme un projet commun OpenSource de Cloud Operating System
(orchestrateur de ressources), au-dessus de la couche de virtualisation.
Il est communément admis que le concept de Cloud Computing a été initié par le géant
Amazon en 2002. Le cybermarchand avait alors investi dans un parc informatique afin de
pallier les surcharges des serveurs dédiés au commerce en ligne constatées durant les fêtes de
fin d’année. A ce moment-là, Internet comptait moins de 600 millions [1] d’utilisateurs mais
la fréquentation de la toile et les achats en ligne étaient en pleine augmentation. En dépit de
cette augmentation, les ressources informatiques d’Amazon restaient peu utilisées une fois
que les fêtes de fin d’année étaient passées. Ce dernier a alors eu l’idée de louer ses capacités
informatiques le reste de l’année à des clients pour qu’ils stockent les données et qu’ils
utilisent les serveurs. Ces services étaient accessibles via Internet et avec une adaptation en
temps réel de la capacité de traitement, le tout facturé à la consommation.
Cependant, ce n’est qu’en 2006 qu’Amazon comprit qu’un nouveau mode de
consommation de l’informatique et d’internet faisait son apparition.
Bien avant la naissance du terme de Cloud Computing, utilisé par les informaticiens pour
qualifier l’immense nébuleuse du net, des services de Cloud étaient déjà utilisés comme le
webmail2, le stockage de données en ligne (photos, vidéos,…) ou encore le partage
d’informations sur les réseaux sociaux.
La virtualisation est un concept beaucoup plus ancien qui constitue le socle du Cloud
Computing. La virtualisation regroupe l’ensemble des techniques matérielles ou logicielles
permettant de faire fonctionner, sur une seule machine physique, plusieurs configurations
informatiques (systèmes d’exploitation, applications, mémoire vive,…) de manière à former
plusieurs machines virtuelles qui reproduisent le comportement des machines physiques.
Les retombées des principes du cloud sont bénéfiques à la fois pour son fournisseur, les
entreprises délocalisant leurs infrastructures. Généralement, ils assurent aux deux premiers
une meilleure rentabilité. De plus, ils permettent à l'entreprise de se concentrer sur les taches
de production autres que la maintenance de systèmes informatiques.
Pour le fournisseur : Les bénéfices du fournisseur sont uniquement dus au fait de la
mutualisation des ressources. En effet, après son investissement dans la mise en place
des infrastructures pour le cloud, il fait payer aux entreprises la marge nécessaire pour
sa rentabilisation. Comme pour une entreprise disposant d'une plateforme interne, il
paie pour les frais d'administration de l'ensemble. Cette dépense peut être amortie par
facturation aux entreprises. En plus de cette marge, il bénéficie des couts de
réutilisation des ressources. En effet, compte tenu de la non appartenance des
ressources aux entreprises, elles (les ressources) leurs sont facturées à chaque usage. La
même ressource peut ainsi faire l'objet de plusieurs facturations.
Pour l'entreprise : C'est elle la première gagnante de cette technologie. Elle réalise des
bénéfices en argent et en flexibilité dans sa capacité à s'agrandir.
La réduction des couts : Le recours au cloud permet à l'entreprise d'être facturée à
l'usage, en fonction de ses besoins. Pour avoir une idée du gain réalisé, reprenons cette
observation de Michael Crandell du groupe RightScale à propos du cloud d'Amazon «
Le cout à pleine charge d'un serveur sur Amazon se situe entre 70$ et 150$ par mois
alors qu'il s'élève à 400$ en moyenne par mois s'il était hébergé par l'entreprise en
interne » [1]. Plusieurs raisons expliquent cette différence de cout. En effet, une gestion
interne de l'infrastructure implique l'achat des matériels, l'affectation du personnel (et
donc du cout salarial qu'il induit) pour la gestion de l'infrastructure et divers moyens de
production mis en place pour le fonctionnement de l'ensemble (électricité, locaux,
….etc.). Le partage de ressources tel que pratiqué dans le cloud permet au fournisseur
de répartir ces couts entre plusieurs entreprises.
La réduction des gaspillages : Les infrastructures gérées en interne sont souvent sous-
utilisées, alors que l'infrastructure d'un cloud mutualise l'ensemble de ressources pour
un grand nombre d'entreprises. La mutualisation consiste à mettre à la disposition de
plusieurs utilisateurs une base commune de ressources. Elle permet ainsi d'augmenter
le taux d'utilisation de ces ressources. En effet, les ressources n'étant pas dédiées à un
seul utilisateur, elles pourront servir à d'autres en cas de besoin.
La flexibilité et accès aux ressources à larges échelle : L'entreprise peut augmenter la
capacité de son infrastructure sans investissement majeur. En effet, grâce à l'allocation
dynamique (à la demande) des ressources qu'offre le cloud, il suffit de souscrire à des
nouvelles ressources et celles-ci sont directement allouées. De plus, l’entreprise est
libre de ses allées et venues car les contrats d'utilisation sont limités dans le temps
(autour de l'heure).
Ainsi, l'entreprise peut augmenter ou réduire son infrastructure à sa guise à moindre cout
et dans un délai réduit (il faut mettre en avant le critère de rapidité qui est un grand avantage) .
Rappelons que le cloud offre ainsi à l'entreprise une possibilité d'accéder à une quantité de
ressources dont elle ne pourrait se l'offrir en interne. Elle peut dorénavant envisager des
applications large échelle sans se soucier de l'obtention des équipements.
Il existe trois principaux types de services cloud :
Le Cloud privé
L’infrastructure d’un nuage privé n’est utilisée que par un unique client. Elle peut être gérée
par ce client ou par un prestataire de service et peut être située dans les locaux de l’entreprise
cliente ou bien chez le prestataire, le cas échéant. L’utilisation d’un cloud privé permet de
garantir, par exemple, que les ressources matérielles allouées ne seront jamais partagées par
deux clients différents.
Le Cloud public
L’infrastructure d’un nuage public est accessible publiquement ou pour un large groupe
industriel. Son propriétaire est une entreprise qui vend de l’informatique en tant que service.
Le Cloud hybride
L’infrastructure d’un nuage hybride est une composition de deux ou trois des types de nuages
précédemment cités. Les différents nuages qui la composent restent des entités indépendantes
à part entière, mais sont reliés par des standards ou par des technologies propriétaires qui
permettent la portabilité des applications déployées sur les différents nuages. Une utilisation
type du cloud hybride est la répartition de charge entre plusieurs nuages pendant les pics du
taux d’utilisation. Pour avoir cet environnement, les entreprises ont deux choix, soit se tourner
vers les fournisseurs ou des solutions open-source
a) Fournisseurs
Les fournisseurs de services de Cloud Computing sont des hébergeurs, Ils mettent à
disposition des infrastructures physiques proposant une plate-forme de Cloud. Il serait bien
trop conséquent d’analyser tous les acteurs du Cloud Computing présents sur le marché
actuel. Nous survolerons les principaux acteurs : Salesforce.com, Amazon, Google, VMware
et Microsoft :
SALESFORCE
Salesforce.com est une société créée en 1999 par Marc Benioff. Elle est devenue l'une des
pionnières du modèle SaaS notamment grâce à son outil historique de CRM intitulé
Salesforce.
Amazon
Amazon, au travers d’Amazon Web Services (AWS) met à disposition un Cloud public
depuis 2006. Au départ, il s'agissait de rentabiliser leurs énormes infrastructures en place pour
absorber les pics de charge lors des fêtes de Noël sur leur boutique en ligne. Aujourd'hui,
Amazon propose un service d’IaaS avec « EC2 » (Elastic Compute Cloud) et différents PaaS
liés ou non à leur boutique.
En 2008, Google a lancé son Cloud public orienté pour les services Web offrant une plate -
forme (PaaS) nommée « Google App Engine » et permettant l'hébergement d'applications
Python ou Java, ainsi que des applications SaaS regroupées dans la gamme « Google App ».
VMware
VMware est une entreprise filiale d’EMC créée en 1998 à Palo Alto. Pendant plus de 10 ans,
elle a conçu différents produits liés à la virtualisation. En 1999 apparaissait la première
version de VMware Workstation, un logiciel client permettant la virtualisation de machines
virtuelles. D'autres éditions comme la gamme ESX ou Server (anciennement GSX) proposent
des solutions de virtualisation pour les serveurs. Depuis 2008, VMware n'a cessé d'investir
dans le marché du Computing, en rachetant différentes entreprises comme Zimbra
(application SaaS de collaboration) ou SpringSource pour son offre PaaS avec vFabric.
Microsoft
Numergy est une société française créée en 2012 par Bull et SFR en partenariat avec l’Etat
(via la Caisse des dépôts). Numergy est l'un des 2 "clouds souverains" soutenus par l'Etat pour
lancer des offres cloud français capables de concurrencer les acteurs majeurs du secteur
comme Amazon Web Services ou Microsoft Azure.
Rackspace est une société américaine, créée en 1998 et basée au Texas. Elle est aujourd’hui
avec Amazon Web Services ou Microsoft Azure un des leaders mondiaux du cloud computing
: elle revendique près de 200 000 clients et a réalisé plus d’un milliard de chiffre d’affaires en
2011. Rackspace est aussi à l’origine, avec la Nasa, de la création d’OpenStack, plateforme
open source de cloud IAAS public ou privé, lancé en juillet 2010.
Rackspace possède des datacenters principalement aux Etats-Unis (Virginie, Texas et Illinois)
mais aussi en Europe (Royaume-Uni) et en Asie (Hong Kong)
Aruba, créée en 1994, est leader sur le marché de l'hébergement en Italie, son pays d'origine,
et de nombreux pays Européens. Aruba SAS adresse depuis 2012 le marché français avec son
offre ArubaCloud. Aruba Cloud possède un datacenter en France, deux en Italie, un en
République Tchèque, en attendant de nouvelles ouvertures qui vont accompagner son
développement européen.
Huawei
Plus que trente fournisseurs soutiennent ce projet tels que : AMD, Intel, Dellet Citrix.
OpenStack devrait également être intégré dans les prochaines versions d'Ubuntu comme c'est
le cas pour Eucalyptus. Il comprend le logiciel OpenStack Compute pour la création
automatique et la gestion de grands groupes de serveurs privés virtuels et le logiciel
OpenStack Stockage pour optimiser la gestion de stockage, répliquer le contenu sur différents
serveurs et le mettre à disposition pour une utilisation massive des données.
OpenStack s'organise autour de trois composants et des API qui leur permettent de
communiquer (figure 4)
OpenStack est une collection de plusieurs composantes open-source qui assure les deux types
de Cloud « privé et public ». Parmi ses composantes, nous trouvons : OpenStack Compute
(nommé Nova), OpenStack Object Storage (nommé Swift), OpenStack Image Service
(nommé Glance). OpenStack prend de l’existence entre les compagnies grâce à son open
source et au support de plusieurs compagnies.
Nova est une des briques principales d'Openstack. Son but est de gérer les ressources de
calcul des infrastructures. Pour cela, Nova contrôle les hyperviseurs par l'intermédiaire de la
libvirt ou directement par les API de certains hyperviseurs. Aujourd'hui l'hyperviseur le mieux
supporté reste KVM, mais Nova fonctionne aussi avec Xen, ESX, et Hyper-V voire avec des
gestionnaires de conteneur comme Docker et plus récemment l'hyperviseur LXD de
Canonical. L'architecture de la brique de Nova est conçue pour évoluer horizontalement en
rajoutant du matériel. D'ailleurs Nova fonctionne avec du matériel non spécialisé ce qui
permet de réutiliser des serveurs existants par exemple.
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 à travers une interface
graphique. Comme toutes les briques d'OpenStack cette application est libre et il n'est donc
pas rare 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 apparaître leur nom et logo, mais
aussi 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 parti des API REST fournies par les autres composants
d'OpenStack comme Nova, Cinder ou Neutron.
vim local.conf
[[local|localrc]]
2. Déploiement du Cloud
Une fois connecté, en fonction des privilèges d’accès, l’utilisateur est autorisé à accéder à
des projets spécifiques. Ce qui suit est une page d’aperçu pour un projet appartenant à
l’utilisateur ’admin’.
Projets
La figure ci-dessous nous montre la phase de création d’un projet ainsi que La liste les projets
disponibles (Tenants) qui ont été créés
La page suivante (figure 10) présente la liste des Images actuellement disponibles qui peuvent
être utilisés 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.
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 11 ci-
dessous représente les différents modèles existants ainsi que la création d’un model
personnalisé. L’onglet « accès au Gabarits » nous a permet d’affecter un projet au Gabarit qui
est en cours de construction.
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, on peut 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és.
Figure 12 : Création d’un groupe de sécurité
Création d’une Instance « VM »
Apres avoir déterminé tous les prérequis nécessaires dans notre Nuage Openstack, nous
pouvons maintenant lancer une instance « machine virtuelle » depuis une image ou depuis
l’onglet « instance, créer une instance » La figure 13 ci-dessous montre les différentes étapes
à suivre pour terminer l’instanciation d’une machine virtuelle depuis l’onglet instance se
basant sur une image ISO.
Figure 13 : Créer une instance « machine virtuelle »
Connecter avec un VNC
Pour consulter l’état et la configuration d’une instance, il faut qu’on se connecte sur cette
instance à travers la console virtuelle qui existe dans l’interface Openstack pour l’installer
comme décrit dans la figure ci-dessous.
CONCLUSION
En conclusion, la mise en place d'un cloud privé avec OpenStack et un service de
gestion des données offre une solution complète et sécurisée pour les entreprises qui
souhaitent stocker et gérer leurs données de manière efficace. Grâce à OpenStack, les
entreprises peuvent bénéficier d'une plateforme de cloud computing open source, flexible et
scalable. L'intégration d'un service de gestion des données permet de garantir la sécurité et la
disponibilité des données, tout en offrant une gestion efficace des données et des
métadonnées. Les avantages de cette approche sont nombreux, notamment la réduction des
coûts, l'amélioration de la flexibilité et de la scalabilité, ainsi que la garantie de la sécurité et
de la confidentialité des données. Cependant, il est important de noter que la mise en place
d'un cloud privé avec OpenStack et un service de gestion des données nécessite une bonne
compréhension des technologies sous-jacentes et une planification minutieuse. Enfin, nous
espérons que cet exposé a fourni une vue d'ensemble complète de la mise en place d'un cloud
privé avec OpenStack et un service de gestion des données, et que cela sera utile pour les
entreprises qui souhaitent mettre en place une solution de cloud computing sécurisée et
efficace.
REFERENCES BIBLIOGRAPHIQUES
Projet de Recherche Etude d’une solution Cloud : OpenStack Université Claude Bernard
Lyon1 par Tibi Kevin
[1] RAPPORT DE STAGE DE FIN D’ETUDES : Etude et Mise en Place d’une Solution
Cloud Computing Privé au sein de Tunisie Télécom par Hannachi Slim
[2] Guy Pujolle - Les réseaux, 9e Édition - L'ère des réseaux cloud et de la 5G, Eyrolles,
2018
[4] : https://cloud.theodo.com/blog/openstack-cloud-prive