Vous êtes sur la page 1sur 18

OpenStack - Cloud Computing d'entreprise, Infrastructure

as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

Enjeux

1. Introduction 19

2. Trente-cinq ans d'histoire(s) IT et de révolutions 19


2.1 Les années 80 19
2.2 Les années 1990 20
2.3 Les années 00 20
2.4 Les années 2010 21

3. À l'horizon 2020 22

4. Pourquoi changer de modèle maintenant ? 22

5. L'apport du cloud computing pour le client 24

5.1 Orchestration automatisée de mise à disposition de ressources 24


5.2 Paiement à l'usage 25
5.3 Accès et disponibilité des ressources 26
5.4 Flexibilité 26
5.4.1 Exemples de use case 27
5.4.2 Scale-up/Scale-out 27
5.5 Métrologie 28
5.5.1 Métrologie avec OpenStack 29
5.5.2 Métrologie avec RHEV-M 30
5.5.3 Métrologie avec CloudForms 30
5.5.4 Métrologie avec vCenter 31
5.6 OPEX/CAPEX 32

6. Cas d'utilisation 33
6.1 Cas d'une PME/PMI 33
6.2 Cas des grands comptes 34
6.3 Cas des hébergeurs 35
6.4 Cas des éditeurs de logiciels 35

www.editions-eni.fr © Editions ENI 1/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

7. Les risques 36
7.1 Sécurité 36
7.2 Indisponibilité (attaques, crash, bugs...) 37
7.3 Réversibilité 37
7.4 Contrat juridique pas clair 38
7.5 Vol de données 38
7.6 Adhérence vis-à-vis du fournisseur de cloud (cloud provider) 39
7.7 Dysfonctionnements techniques 41
7.8 Confidentialité 41
7.9 Perte de gouvernance 42

8. Les normes et référentiels du secteur 42

8.1 Agrément spécifique HDS 42


8.1.1 Origine 43
8.1.2 Cadre législatif 43
8.1.3 Processus 43
8.1.4 HDS en mode cloud 44
8.2 Normes ISO 44
8.2.1 ISO/IEC 17788:2014 44
8.2.2 ISO/IEC 17789:2014 44
8.2.3 ISO/IEC 27018:2014 44
8.2.4 Autres recommandations ITU 45
8.3 Référentiel de sécurité ANSSI "Secure Cloud" 46
8.4 Label Cloud Confidence 46

Définitions

1. Introduction 47

2. Définition de l'informatique en nuage 47

2.1 Première définition 47


2.2 Définition du NIST 48
2.3 Quatre types de cloud 49

www.editions-eni.fr © Editions ENI 2/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

2.3.1 Cloud privé 49


2.3.2 Cloud public 49
2.3.3 Cloud communautaire 50
2.3.4 Cloud hybride 50

3. Les trois modèles du cloud computing 51


3.1 IaaS 52
3.1.1 IaaS- 53
3.1.2 IaaS+ 54
3.2 PaaS 54
3.3 SaaS 55

4. Variantes du SaaS 57

4.1 DBaaS 57
4.2 BaaS 57
4.3 PRAaaS 58
4.4 VaaS 58
4.5 BPaaS 58
4.6 DaaS 58
4.7 MBaaS 59
4.8 XaaS 59

5. Autres termes du cloud 60


5.1 Cloud provider 60
5.2 Cloud builder 60
5.3 Cloud application provider 61
5.4 Market place 62
5.5 Cloud broker 62

Écosystème du cloud computing

1. Introduction 65

www.editions-eni.fr © Editions ENI 3/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

2. Les acteurs privés 66


2.1 Les acteurs d'envergure mondiale 66
2.1.1 Amazon AWS 66
2.1.2 VMware 69
2.1.3 Microsoft 70
2.1.4 Red Hat 72
2.1.5 HP 73
2.1.6 IBM 74
2.1.7 Google 75
2.2 Les acteurs français 76
2.2.1 OVH 76
2.2.2 Gandi 77
2.2.3 Claranet 77
2.2.4 L'initiative de cloud souverain 78
2.2.5 Autres acteurs français 81

3. Les produits 81

3.1 Les produits propriétaires 81


3.2 Les produits open source 82

4. Le projet OpenStack 84
4.1 Historique 84
4.2 La fondation 84
4.2.1 Origine 84
4.2.2 Organisation 84
4.2.3 Les distributions 86
4.3 Architecture de la plate-forme : vue générale 88

5. Comparatif de composants entre plates-formes 89

Les composants d'OpenStack

www.editions-eni.fr © Editions ENI 4/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

1. Introduction 91

2. Définition 91

3. Composants 92

3.1 Services de base 92


3.2 Services partagés 92
3.3 Services en cours de développement 93
3.3.1 Composants en cours de développement 93
3.3.2 Le composant Murano 93

4. Architectures OpenStack 94

4.1 Architecture logique 94


4.2 Architecture conceptuelle 95
4.3 Architecture technique 95

5. Gestion de l’authentification et autorisation 96

5.1 Introduction 96
5.2 Concept 97
5.3 Architecture 98
5.3.1 Modèle de données 98
5.3.2 Services internes 99
5.3.3 Services de back-ends 100
5.4 Création de tenants, utilisateurs et rôles 101
5.5 Commandes Keystone 103
5.5.1 Syntaxe de la commande keystone 103
5.5.2 Commandes concernant les utilisateurs 104
5.5.3 Commandes concernant les tenants 104
5.5.4 Commandes concernant les rôles 105
5.5.5 Commandes concernant les services 106

6. Gestion des images 106

6.1 Introduction 106

www.editions-eni.fr © Editions ENI 5/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

6.2 Concept 107


6.2.1 Workflow 107
6.2.2 Composants 107
6.2.3 Fonctionnalités de Glance 109
6.2.4 Formats d'images 109
6.3 Architecture 110
6.3.1 Modèle de données 110
6.3.2 Tables de la base de données Glance 110
6.4 Services de back-end (store adapter) 111
6.5 Commandes Glance 111
6.6 Fabrication de modèles 112
6.6.1 Méthodologie 112
6.6.2 Images cloud 113
6.6.3 Fabriques d'images cloud 113
6.6.4 Exemple de création d'un modèle Linux pour RHEV-M 114
6.7 Exemples d'upload d’image 114

7. Gestion du réseau 114


7.1 Introduction 114
7.2 Concept 115
7.2.1 Terminologie réseau dans OpenStack 115
7.2.2 Workflow 115
7.2.3 Composants 116
7.2.4 Architecture 117
7.2.5 Commandes Neutron 118

8. Gestion des machines virtuelles 119

8.1 La brique de compute Nova 119


8.1.1 Introduction 119
8.1.2 Concept 122
8.1.3 Architecture 123
8.2 Les commandes Nova 125

9. Gestion du stockage 126

9.1 Typologie du stockage 127

www.editions-eni.fr © Editions ENI 6/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

9.1.1 Stockage classique SAN/NAS 127


9.1.2 Stockage distribué Ceph 127
9.2 Modules de stockage sous OpenStack 129
9.2.1 Le mode bloc avec Cinder 129
9.2.2 Le mode objet avec Swift 131

10. Gestion du dashboard 134


10.1 La brique Horizon 134
10.2 Ma première VM : création express 135
10.2.1 Étapes de création 135
10.2.2 Commandes détaillées 135

11. L’orchestration 139

11.1 La brique Heat 139


11.1.1 Objectif 139
11.1.2 Fichier template 140
11.1.3 Cas d'utilisation 142
11.2 Migration de versions OpenStack 143
11.3 Déploiement d’OpenStack 143

12. Les API 144

12.1 Workflow 144


12.2 Méthodologie d'utilisation 145

Installation OpenStack : services de base

1. DevStack 149

1.1 Objectif de DevStack 149


1.2 Installation 149
1.2.1 Prérequis 149
1.2.2 Création de la VM sous VirtualBox 150
1.2.3 Installation de DevStack sous Juno 150
1.2.4 Démarrage de l'installation 150
1.2.5 Accès à DevStack en mode graphique 152

www.editions-eni.fr © Editions ENI 7/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

1.2.6 Désinstallation de DevStack 152

2. Prérequis d’installation OpenStack 152


2.1 Installation minimale 152
2.2 Schéma général 152
2.3 Prérequis réseau 153
2.4 Configuration d’Oracle VM VirtualBox 155
2.4.1 Installation de VirtualBox 155
2.4.2 Création des machines virtuelles 155
2.4.3 Configuration de la machine virtuelle 156
2.4.4 Démarrage de la machine virtuelle 156
2.5 Configuration sous VMware Workstation 157

3. Installation OpenStack 157

3.1 Configuration réseau 158


3.1.1 Configuration réseau du contrôleur 158
3.1.2 Configuration réseau du network 159
3.1.3 Configuration réseau du compute 161
3.2 Vérification de la configuration réseau 162
3.3 Paquets OpenStack 162
3.4 Mise à jour du système 163
3.5 Installation de SELinux 163
3.6 Services de back-end (NTP, MySQL et RabbitMQ) 164
3.6.1 Service NTP 164
3.6.2 Service database 165
3.6.3 Broker de message 168
3.7 Service d'identité (Keystone) 169
3.8 Service d'images (Glance) 177
3.8.1 Création de la base Glance 178
3.8.2 Gestion des variables d'environnement 178
3.8.3 Création de l'utilisateur glanceUser dans la base Keystone 178
3.8.4 Création du service Glance 179
3.8.5 Création des endpoints pour Glance 179
3.8.6 Affectation du rôle admin et du tenant service à l'utilisateur glanceUser 179
3.8.7 Installation des paquets Glance 180

www.editions-eni.fr © Editions ENI 8/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

3.8.8 Paramétrage de Glance 180


3.8.9 Peuplement de la base Glance 181
3.8.10 Démarrage des services Glance 181
3.8.11 Upload d'images 181
3.9 Service de Compute (Nova) 184
3.9.1 Gestion de la base de données, des credentials etdes API endpoints sur le
serveur Controller
185
3.9.2 Paquets nova sur le serveur Controller node 187
3.9.3 Installation de Nova sur le serveur de compute 189
3.10 Service Networking (Neutron) 194
3.10.1 Introduction 194
3.10.2 Configuration sur le serveur Controller 194
3.10.3 Configuration de Neutron sur le serveur Network node 200
3.11 Modification du kernel 200
3.12 Installation des composants Neutron 201
3.13 Configuration des composants Neutron 201
3.13.1 Configuration du plug-in ML2 202
3.13.2 Configuration de l'agent L3 203
3.13.3 Configuration de l'agent DHCP 204
3.13.4 Configuration de l'agent metadata 204
3.13.5 Post-installation de Neutron 205
3.13.6 Finalisation de l'installation 206
3.13.7 Configuration sur le serveur Compute node 207
3.14 Gestion des réseaux virtuels 211
3.14.1 Schéma de fonctionnement 211
3.14.2 Création du réseau external network appelé ext-net 211
3.14.3 Création du subnet ext-subnet sur le réseau ext-net 212
3.14.4 Création du tenant network appelé int-net 213
3.14.5 Création du subnet privé appelé int-subnet 213
3.14.6 Création du routeur appelé int-router 214
3.14.7 Attachement du routeur int-router au subnet int-subnet 214
3.14.8 Attachement du routeur int-router au réseau externe ext-net 214
3.14.9 Vérification réseau 214
3.15 Service Dashboard (Horizon) 215
3.15.1 Installation et configuration 215

www.editions-eni.fr © Editions ENI 9/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

3.15.2 Lancement du dashboard 217

Installation OpenStack : services avancés

1. Introduction 219

2. Service de stockage bloc (Cinder) 219

2.1 Installation sur le Controller node 220


2.2 Modification du fichier de configuration /etc/cinder/cinder.conf (sur le Controller node)222
2.3 Opérations post-installation 223
2.4 Installation d'un serveur storage node mode bloc (serveur srv-openstack-block) 223

3. Service de stockage objet (Swift) 228

3.1 Installation et configuration sur le Controller node 229


3.2 Installation des composants Swift 230
3.3 Installation et configuration sur les nœuds de stockage objet 231
3.4 Création d'un anneau Swift 236
3.5 Finalisation de l'installation (sur le Controller node) 238
3.6 Vérification de fonctionnement 239
3.7 Exemples d'utilisation 240

4. Service de monitoring (Telemetry) 240

4.1 Installation et configuration sur le Controller node 240


4.2 Installation de l'agent Telemetry sur le Compute Node 244
4.3 Configuration du service image 246
4.4 Gestion du stockage bloc 246
4.5 Gestion du stockage objet 247
4.6 Vérification de bon fonctionnement 248
4.7 Configuration d'une alarme Telemetry 251

5. Service d'orchestration Heat 252

5.1 Création de la base de données heat 252


5.2 Gestion des credentials 252

www.editions-eni.fr © Editions ENI 10/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

5.3 Création de l'utilisateur heatUser dans la base Keystone 253


5.4 Ajout du rôle admin et du tenant service pour l'utilisateur heatUser 253
5.5 Création du rôle heat_stack_owner 253
5.6 Ajout du rôle heat_stack_owner au tenant demo et à l'utilisateur demo 254
5.7 Création du rôle heat_stack_user 254
5.8 Création des services d'entités (heat et heat-cfn) 254
5.9 Création des services API endpoints 255
5.10 Installation et configuration des composants d'orchestration 256

6. Service de DataBase as a Service (DBaaS) 259

6.1 Installation du service database (sur le Controller node) 260


6.2 Création de l'image Trove 264
6.3 Import de l'image Trove dans Glance 265
6.4 Ajout de l'image dans le datastore MySQL de Trove 265
6.5 Enregistrement du module Trove dans OpenStack 265
6.6 Opérations post-installation 266
6.7 Vérification du fonctionnement de Trove 266
6.8 Exemples de commandes Trove 267

7. Service data processing (Sahara) 267

7.1 Hadoop 268


7.2 Installation sur le contrôleur 268
7.3 Création d'un cluster Hadoop 272

Design d'architecture

1. Introduction 281

2. Les zones de travail de l'UDD 281

2.1 La zone de développement 282


2.1.1 Environnement local autonome 282
2.1.2 Environnement virtualisé 285
2.2 La zone d'intégration 285
2.3 La zone bac à sable 286

www.editions-eni.fr © Editions ENI 11/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

2.4 La zone de tests 286


2.5 La zone de préproduction 287
2.6 La zone de production 287
2.6.1 L'exploitation d'infrastructure 287
2.6.2 L'exploitation applicative 288
2.6.3 Une nouvelle tendance 289
2.6.4 L'étape ultime 289
2.7 Schéma d'ensemble des zones de travail 290

3. Architectures OpenStack 290

3.1 Architecture de développement 290


3.2 Architecture de production 292
3.2.1 Architecture monosite 292
3.2.2 Architecture dual-site 293

4. Haute disponibilité 294


4.1 IT traditionnelle 294
4.1.1 Systèmes actif/actif et actif/passif 294
4.1.2 RTO/RPO 295
4.2 Cloud-IT 296

5. Architectures cloud-ready 297


5.1 Préambule 297
5.2 Applications legacy 297
5.3 Application cloud-ready 298
5.4 Éligibilité cloud-ready et cartographie IT 298
5.5 Cas pratique 300
5.5.1 Problématique 300
5.5.2 L'existant 300
5.5.3 Les éléments critiques 300
5.5.4 Les scénarios pour les bases de données 302

Coût d'un projet IaaS

www.editions-eni.fr © Editions ENI 12/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

1. Introduction 309

2. Analyse préalable 309

3. Le but et l'existant 311

3.1 But 311


3.2 Objectifs 312
3.2.1 Objectifs stratégiques 312
3.2.2 Objectifs opérationnels 312
3.3 Moyens 313
3.4 Tableau de bord de suivi des objectifs 314
3.5 Analyse de l'existant 315

4. Étude de cas n°1 : création d'un cloud privé 317

4.1 Problématique et cas d’usage 317


4.1.1 Cas d’usage n°1 318
4.1.2 Cas d’usage n°2 318
4.2 Solution 318
4.3 Moyens 319
4.3.1 Moyens techniques 319
4.3.2 Moyens humains 321
4.3.3 Découpage du projet 322
4.3.4 Moyens financiers 324
4.4 Conclusion de l'étude de cas n°1 325

5. Étude de cas n°2 : utilisation du cloud public 326

5.1 Problématique 326


5.2 Solution 327
5.3 Moyens 327
5.3.1 Moyens techniques 327
5.3.2 Moyens humains 330
5.3.3 Moyens financiers 331
5.4 Conclusion de l'étude de cas n°2 332

www.editions-eni.fr © Editions ENI 13/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

Catalogue de services

1. Introduction 333

2. Construction d’un catalogue de services 333


2.1 Catalogue de services stand-alone 334
2.1.1 Choix des éléments du service 334
2.1.2 Choix des caractéristiques 334
2.2 Catalogue de services Workload UAT (User Acceptance Testing) 336
2.2.1 Caractéristique du contenu du workload UAT 337
2.2.2 Nombre d’images applicatives 337
2.2.3 Injections du jeu de données 338
2.3 Catalogue de services Workload Web 338
2.3.1 Workload de production 338
2.3.2 Workload d'intégration 339
2.4 Cas de la construction d'un service de boutique en ligne (vente de fleurs) 340
2.4.1 Fonctionnalités du service 340
2.4.2 Contenu du catalogue de services 340

3. Orchestration et provisionning 341

3.1 Automatisation 341


3.1.1 Exemple d'automatisation de la création d'une VM 342
3.1.2 Exemple d'automatisation de la vérification de la qualité du code source 342
3.2 Orchestration 342
3.2.1 Exemple de création de service dans CloudForms (Red Hat) 343

4. Billing 344

4.1 Les trois principes 344


4.2 Grilles de formules 345
4.2.1 Exemples de grilles de tarifs 346

5. Monitoring 348

www.editions-eni.fr © Editions ENI 14/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

Du IaaS au PaaS

1. Introduction 351

2. IaaS+ 351

3. PaaS 353

3.1 Les apports du PaaS 353


3.1.1 Workflow sans PaaS 354
3.1.2 Workflow avec PaaS 355
3.2 PaaS- 355
3.3 PaaS+ 355

4. Exemples de PaaS 356

4.1 OpenShift 356


4.1.1 But 356
4.1.2 Les différents modèles d'OpenShift 356
4.2 Bluemix 360
4.3 Cloud Foundry 361

5. Autres plates-formes de PaaS 362

6. Automatisation 364

6.1 Définition 364


6.2 Les outils de l'automatisation 364
6.2.1 Panaroma 365
6.2.2 Outils de gestion de configuration 366
6.2.3 Les containers Docker 371

La culture DevOps

1. Introduction 379

www.editions-eni.fr © Editions ENI 15/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

2. Les challenges de l'IT 379


2.1 L'IT résumée en trois domaines 379
2.2 Les trois questions clés de l'IT : What ? How ? Where ? 380
2.2.1 What : quels types de services applicatifs peut-on créer ? 380
2.2.2 How : comment délivrer les services plus rapidement, dans le time-to-market ?
380
2.2.3 Where : où stocker les services produits ? 381

3. Définition du DevOps 381

4. Acteurs 382

5. Workflow DevOps 382


5.1 Première étape : les OPS 383
5.2 Deuxième étape : les DEV 383
5.3 Troisième étape : le DevOps 383

6. Usine de développement 383


6.1 Intégration continue (CI) 384
6.1.1 Définition 384
6.1.2 Les briques de la CI 384
6.2 Livraison continue (continuous delivery) 387
6.3 Déploiement continu (continuous deployment) 387
6.4 Tests 388
6.4.1 Les tests unitaires 388
6.4.2 Les tests métier 392
6.5 Conclusion sur la chaîne de développement 393

7. Stratégie d'implémentation de l'UDD 393

7.1 Internalisation 393


7.2 Externalisation 395

www.editions-eni.fr © Editions ENI 16/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

Annexes

1. Bibliographie 397

1.1 Documentation officielle Apache License, version 2.0 397


1.2 Blogs cloud computing 398
1.3 Communautés 398
1.4 Livre 398

2. Création de modèles d'images Linux pour RHEV-M 399

2.1 Initialisation depuis VMware vSphere 399


2.2 Commande de migration VMware vers RHEV : virt-v2v 401
2.3 Upload dans RHEV-M d'un modèle depuis un .ova 403
2.4 Création d’un template depuis le portail RHEV-M 403
2.4.1 Processus de création du template 404

3. Synthèse sur l'installation d'OpenStack 406

3.1 Choix de la topologie d'infrastructure 406


3.1.1 POC jetable 406
3.1.2 Environnement de test 407
3.1.3 Environnement de production 407
3.2 Paramétrage réseau 408
3.3 Installation des services de management 409
3.3.1 Installation du service NTP 409
3.3.2 Installation du service MySQL 409
3.3.3 Installation du service RabbitMQ 410
3.4 Installation des services OpenStack 410
3.4.1 Installation du service Keystone 410
3.4.2 Installation du service Glance 411
3.4.3 Installation du service Nova 412
3.4.4 Installation du service Neutron 413
3.4.5 Installation du service Horizon 414
3.4.6 Installation du service Cinder 414
3.4.7 Installation du service Swift 416

www.editions-eni.fr © Editions ENI 17/18


OpenStack - Cloud Computing d'entreprise, Infrastructure
as a Service (IaaS)
Enjeux, écosystème, solutions XaaS, design et installation, devops, ...

4. Interface graphique Horizon 417


4.1 Gestion de la sécurité via les paires de clés 417
4.1.1 Principe 417
4.1.2 Méthode manuelle de l'authentification du serveur A sur le serveur B 418
4.1.3 Manipulation dans Horizon 418
4.2 Fonctionnalités OpenStack via Horizon 419
Index 425

www.editions-eni.fr © Editions ENI 18/18

Vous aimerez peut-être aussi