SlideShare une entreprise Scribd logo
Formation OpenStack 
July 7, 2014 
Formation OpenStack July 7, 2014 1 / 194
Concernant ces supports de cours 
Supports de cours OpenStack realises par Osones (https://osones.com/) 
Auteurs : 
Adrien Cunin adrien.cunin@osones.com 
Pierre Freund pierre.freund@osones.com 
Copyright 
c 2014 Osones 
Licence : Creative Commons BY-SA 4.0 
https://creativecommons.org/licenses/by-sa/4.0/deed.fr 
Sources : https://github.com/Osones/OpenStack-Formations/ 
Formation OpenStack July 7, 2014 2 / 194
Objectifs de la formation : Cloud 
Comprendre les principes du cloud et son inter^et 
Connaitre le vocabulaire inherent au cloud 
Avoir une vue d'ensemble sur les solutions existantes en cloud public et 
prive 
Posseder les cles pour tirer partie au mieux de l'IaaS 
Pouvoir determiner ce qui est compatible avec la philosophie cloud ou 
pas 
Adapter ses methodes d'administration systeme a un environnement 
cloud 
Formation OpenStack July 7, 2014 3 / 194
Objectifs de la formation : OpenStack 
Connaitre le fonctionnement du projet OpenStack et ses possibilites 
Comprendre le fonctionnement de chacun des composants d'OpenStack 
Pouvoir faire les bons choix de con
guration 
Savoir deployer manuellement un cloud OpenStack pour fournir de 
l'IaaS 
Connaitre les bonnes pratiques de deploiement d'OpenStack 
^Etre capable de determiner l'origine d'une erreur dans OpenStack 
Savoir reagir face a un bug 
Formation OpenStack July 7, 2014 4 / 194
Pre-requis de la formation 
Competences d'administration systeme Linux tel qu'Ubuntu 
I Gestion des paquets 
I LVM et systemes de
chiers 
Notions de virtualisation, KVM et libvirt 
Peut servir : 
I A 
l'aise dans un environnement Python 
Formation OpenStack July 7, 2014 5 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 6 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 7 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 8 / 194
Le cloud, c'est large ! 
Stockage/calcul distant (on oublie, cf. externalisation) 
Virtualisation++ 
Abstraction du materiel (voire plus) 
Acces normalise par des APIs 
Service et facturation a la demande 
Flexibilite, elasticite 
Formation OpenStack July 7, 2014 9 / 194
WaaS : Whatever as a Service 
Principalement 
IaaS Infrastructure as a Service 
PaaS Platform as a Service 
SaaS Software as a Service 
Mais aussi : 
I Database as a Service 
I Network as a Service 
I Load balancing as a Service 
I $APPLICATION as a Service 
Formation OpenStack July 7, 2014 10 / 194
Cloud public ou cloud prive ? 
Public fourni par un hebergeur a des clients (AWS, Rackspace Cloud, 
etc.) 
Prive plateforme et ressources internes 
Hybride utilisation de ressources publiques au sein d'un cloud prive 
Formation OpenStack July 7, 2014 11 / 194
Le cloud en un schema 
Formation OpenStack July 7, 2014 12 / 194
Pourquoi du cloud ? C^ote business 
Baisse des co^uts par la mutualisation des ressources 
Utilisation uniquement des ressources qui sont necessaires 
A 
grande echelle, garantie de service 
Formation OpenStack July 7, 2014 13 / 194
Pourquoi du cloud ? C^ote technique 
Abstraction des couches plus basses 
On peut tout programmer a son gre 
Permet la mise en place d'architectures scalables 
Formation OpenStack July 7, 2014 14 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 15 / 194
PaaS : les principes 
Fourniture d'une plateforme de developpement 
Fourniture d'une plateforme de deploiement 
Pour un langage / un framework 
Principalement utilise par des developpeurs 
Formation OpenStack July 7, 2014 16 / 194
Exemples de PaaS publics 
Amazon OpsWork / Elastic Beanstalk 
Google App Engine 
Heroku 
Formation OpenStack July 7, 2014 17 / 194
Solutions de PaaS prive 
Cloud Foundry 
OpenShift (Red Hat) 
Solum 
Formation OpenStack July 7, 2014 18 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 19 / 194
Amazon Web Services (AWS) et les autres 
Service (cloud public) : AWS 
I Pionnier du genre (des 2002) 
I Elastic Compute Cloud (EC2) 
I Elastic Block Storage (EBS) 
I Simple Storage Service (S3) 
Logiciels libres permettant le deploiement d'un cloud prive : 
I Eucalyptus 
I CloudStack 
I OpenNebula 
I OpenStack 
Formation OpenStack July 7, 2014 20 / 194
Les clouds publics concurrents d'AWS 
Google Compute Platform 
Rackspace 
HP Cloud 
En France 
I Cloudwatt 
I Numergy 
Formation OpenStack July 7, 2014 21 / 194
Virtualisation dans le cloud 
Le cloud IaaS repose souvent sur la virtualisation 
Ressources compute   virtualisation 
Virtualisation complete : KVM, Xen 
Virtualisation containers : OpenVZ, LXC, Docker 
Formation OpenStack July 7, 2014 22 / 194
Notions et vocabulaire IaaS 
Images 
Instances 
Types d'instance (
avors) 
Volumes 
Stockage block 
Stockage objet 
IP 
ottantes/elastiques 
Groupes de securite 
Paires de cles 
API REST 
API de metadata et user data 
Cloud-init 
Formation OpenStack July 7, 2014 23 / 194
Notions et vocabulaire IaaS 
L'instance est par de
nition ephemere 
Elle doit ^etre utilisee comme ressource de calcul 
Une image se personnalise lors de son instanciation gr^ace a l'API de 
metadata 
Separer les donnees des instances 
Choix du type de stockage : ephemere, volume, objet 
Formation OpenStack July 7, 2014 24 / 194
A 
retenir 
Virtualisation6= IaaS 
Formation OpenStack July 7, 2014 25 / 194
AWS 
Regardons l'interface web d'Amazon 
Formation OpenStack July 7, 2014 26 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 27 / 194
Stockage block 
Acces a des raw devices type /dev/vdb 
Possibilite d'utiliser n'importe quel systeme de
chiers 
Compatible avec toutes les applications legacy 
Formation OpenStack July 7, 2014 28 / 194
Stockage objet 
Pousser et retirer des objets dans un container/bucket 
Pas de hierarchie des donnees, pas de systeme de
chiers 
Acces par les APIs 
L'application doit ^etre concue pour tirer partie du stockage objet 
Formation OpenStack July 7, 2014 29 / 194
Stockage objet : schema 
Formation OpenStack July 7, 2014 30 / 194
SDS : Software De
ned Storage 
Utilisation de commodity hardware 
Pas de RAID materiel 
Le logiciel est responsable de garantir les donnees 
Formation OpenStack July 7, 2014 31 / 194
Deux solutions : OpenStack Swift et Ceph 
Swift fait partie du projet OpenStack et fournit du stockage objet 
Ceph fournit du stockage objet, block et FS 
Les deux sont du SDS 
Theoreme CAP : on en choisit deux 
Formation OpenStack July 7, 2014 32 / 194
Theoreme CAP 
Formation OpenStack July 7, 2014 33 / 194
Swift 
Swift est un projet OpenStack 
Le projet est ne chez Rackspace avant la creation d'OpenStack 
Swift est en production chez Rackspace depuis lors 
C'est le composant le plus mature d'OpenStack 
Formation OpenStack July 7, 2014 34 / 194
Ceph 
Projet totalement parallele a OpenStack 
Supporte par une entreprise (Inktank) recemment rachetee par Red Hat 
Fournit d'abord du stockage objet 
L'acces aux donnees se fait via RADOS : 
I Acces direct depuis une application avec librados 
I Acces via une API REST gr^ace a radosgw 
La couche RBD permet d'acceder aux donnees en mode block 
(volumes) 
CephFS permet un acces par un systeme de
chiers POSIX 
Formation OpenStack July 7, 2014 35 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 36 / 194
Pourquoi orchestrer 
De
nir tout une infrastructure dans un seul
chier texte 
^Etre en capacite d'instancier une infrastructure entiere en un appel API 
Adapter ses ressources en fonction de ses besoins en temps reel 
(autoscaling) 
Formation OpenStack July 7, 2014 37 / 194
Plan 
1 Le Cloud : vue d'ensemble 
Le Cloud : les concepts 
PaaS : Platform as a Service 
IaaS : Infrastructure as a Service 
Stockage : block, objet, SDS 
Orchestrer les ressources de son IaaS 
APIs : quel r^ole ? 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 38 / 194
API ? 
Application Programming Interface 
Au sens logiciel : Interface permettant a un logiciel d'utiliser une 
bibliotheque 
Au sens cloud : Interface permettant a un logiciel d'utiliser un service 
(XaaS) 
Il s'agit le plus souvent d'API HTTP REST 
Formation OpenStack July 7, 2014 39 / 194
Exemple concret 
GET /v2.0/networks/network_id 
{ 
network:{ 
status:ACTIVE, 
subnets:[ 
54d6f61d-db07-451c-9ab3-b9609b6b6f0b 
], 
name:private-network, 
provider:physical_network:null, 
admin_state_up:true, 
tenant_id:4fd44f30292945e481c7b8a0c8908869, 
provider:network_type:local, 
router:external:true, 
shared:true, 
id:d32019d3-bc6e-4319-9c1d-6722fc136a22, 
provider:segmentation_id:null 
} 
} Formation OpenStack July 7, 2014 40 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
Presentation du projet et du logiciel 
DevStack : faire tourner rapidement un OpenStack 
Utiliser OpenStack 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 41 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
Presentation du projet et du logiciel 
DevStack : faire tourner rapidement un OpenStack 
Utiliser OpenStack 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 42 / 194
Vue haut niveau 
Your Applications 
APIs 
Networking 
OPENSTACK 
CLOUD OPERATING SYSTEM 
Compute Storage 
Standard Hardware 
OpenStack Dashboard 
OpenStack Shared Services 
Formation OpenStack July 7, 2014 43 / 194
Historique 
Demarrage en 2010 
Objectif : le Cloud Operating System libre 
Fusion de deux projets de Rackspace (Storage) et de la NASA 
(Compute) 
Developpe en Python et distribue sous licence Apache 2.0 
Les releases jusqu'a aujourd'hui : 
I Austin (2010.1) 
I Bexar (2011.1) 
I Cactus (2011.2) 
I Diablo (2011.3) 
I Essex (2012.1) 
I Folsom (2012.2) 
I Grizzly (2013.1) 
I Havana (2013.2) 
I Icehouse (2014.1) 
I Novembre 2014 : Juno 
Formation OpenStack July 7, 2014 44 / 194
Quelques soutiens/contributeurs ... 
Rackspace et la NASA 
Canonical 
Red Hat 
Suse 
HP 
IBM 
Dell, Intel 
Cisco, Juniper 
NetApp, VMWare 
Yahoo, Bull 
Mais aussi : Mirantis, StackOps, eNovance 
http://www.openstack.org/foundation/companies/ 
Formation OpenStack July 7, 2014 45 / 194
... et utilisateurs 
Tous les contributeurs precedemment cites 
En France : CloudWatt et Numergy 
Wikimedia 
CERN 
Paypal 
Comcast 
Etc. Sans compter les implementations con
dentielles 
http://www.openstack.org/user-stories/ 
Formation OpenStack July 7, 2014 46 / 194
Les dierents sous-projets 
OpenStack Compute - Nova 
OpenStack (Object) Storage - Swift 
OpenStack Block Storage - Cinder 
OpenStack Networking - Neutron 
OpenStack Image Service - Glance 
OpenStack Identity Service - Keystone 
OpenStack Dashboard - Horizon 
OpenStack Metering - Ceilometer 
OpenStack Orchestration - Heat 
OpenStack Database Service - Trove 
Formation OpenStack July 7, 2014 47 / 194
Les dierents sous-projets (2) 
Incubating (a jour Icehouse) 
I Bare metal (Ironic) 
I Queue service (Marconi) 
I Data processing (Sahara) 
Interessants 
I DNS service (Designate) 
Autres 
I Oslo 
I rootwrap : wrapper pour les commandes root utilise par les projets 
I TripleO 
I Tempest, Grenade 
I Les clients (python-*client) 
Formation OpenStack July 7, 2014 48 / 194
Cycle de vie des projets au sein d'OpenStack 
Greater OpenStack Ecosystem 
16 
Integrated Release 
Incubated Projects 
Graduation 
• The software is 
released every 6 
months 
• Technical Committee 
managed + Release 
Manager  PTLs 
• On the road to the 
integrated release 
• Typically takes 18­24 
months before being 
approved for 
graduation 
• Approved for 
Incubation by the 
Technical Committee 
• More stringent 
requirements for 
incubation approved by 
TC 
Applied  
Accepted by 
TC 
• Wide range 
of related 
open source 
projects 
• Some may 
apply for 
incubation 
• Many will 
never apply. 
Supporting Programs 
Works with 
projects in 
greater 
Ecosystem 
Shared infrastructure and resources for OpenStack projects 
Formation OpenStack July 7, 2014 49 / 194
Les projets dans Icehouse 
Greater OpenStack Ecosystem : Icehouse Release (April 2014) 
Integrated Release 
Incubated Projects 
Bare Metal 
Messaging 
Data Processing 
New 
New 
Supporting Programs 
Compute 
Object Storage 
Block Storage 
Networking 
Dashboard 
Image Service 
Identity Service 
Telemetry 
Orchestration 
Database Service 
New 
Infrastructure | Docs | Common Libraries | QA | Release Mgmt 
Formation OpenStack July 7, 2014 50 / 194
Nouveautes de Icehouse 
Nova : rolling upgrades 
Nouvelles fonctionnalites disponibles dans Horizon 
Nouveaux drivers dans Neutron 
Nouveaux drivers dans Cinder 
Le nouveau format HOT est recommande pour les templates Heat 
etc. 
En details : 
https://wiki.openstack.org/wiki/ReleaseNotes/Icehouse 
Formation OpenStack July 7, 2014 51 / 194
Traduction 
La question de la traduction est dorenavant prise en compte 
Seules certaines parties sont traduites, comme Horizon 
La traduction francaise est aujourd'hui une des plus avancees 
Utilisation de la plateforme Transifex 
Formation OpenStack July 7, 2014 52 / 194
Developpement du projet 
Open Source 
Open Design 
Open Development 
Open Community 
Formation OpenStack July 7, 2014 53 / 194
Developpement du projet : en details 
Ouvert a tous (individuels et entreprises) 
Cycle de developpement de 6 mois debute par un (design) summit 
Outils : Launchpad (blueprints, bugs) + Git + GitHub (code) 
Sur chaque commit : peer review (Gerrit) + integration continue 
(execution de dierents tests par Jenkins) 
Plateforme de reference et modele de developpement : Ubuntu 
Developpement hyper actif : 17000 commits dans Icehouse (+25%) 
Fin 2012, creation d'une entite independante de gouvernance : la 
fondation OpenStack 
Formation OpenStack July 7, 2014 54 / 194
La fondation OpenStack 
Entite de gouvernance principale du projet 
Les membres du board sont issus des entreprises sponsors et elus par 
les membres individuels 
Tout le monde peut devenir membre individuel (gratuitement) 
La fondation supporte le projet par dierents moyens : 
I Evenements : organisation (Summits) ou participation (OSCON, etc.) 
I Infrastructure de developpement (serveurs) 
I Ressources humaines : marketing, release manager, quelques 
developpeurs (principalement sur l'infrastructure) 
850 organisations a travers le monde 
9500 membres individuels dans 100 pays 
Formation OpenStack July 7, 2014 55 / 194
La fondation OpenStack 
Formation OpenStack July 7, 2014 56 / 194
Cycle de developpement : 6 mois 
Le planning est publie, exemple : https: 
//wiki.openstack.org/wiki/Icehouse_Release_Schedule 
Milestone releases 
Freezes : FeatureProposal, Feature, String 
RC releases 
Stable releases 
Ce modele de cycle de developpement a evolue depuis le debut du 
projet 
Cas particulier de Swift 
Formation OpenStack July 7, 2014 57 / 194
Ou trouver des informations sur le developpement 
d'OpenStack 
Principalement sur le wiki : https://wiki.openstack.org 
Les blueprints et bugs sur Launchpad : 
https://launchpad.net/openstack 
Les patchs proposes et leurs reviews sont sur Gerrit : 
https://review.openstack.org 
Le code est disponible dans Git : https://git.openstack.org 
Les sources (tarballs) sont disponibles : 
http://tarballs.openstack.org/ 
Formation OpenStack July 7, 2014 58 / 194
Stackforge 
Forge pour les nouveaux projets en lien avec OpenStack 
Ils bene
cient de l'infrastructure du projet OpenStack, mais la 
separation reste claire 
Les projets demarrent dans Stackforge et peuvent ensuite rejoindre le 
projet OpenStack 
Formation OpenStack July 7, 2014 59 / 194
OpenStack Summit 
Aux USA jusqu'en 2013 
Aujourd'hui : alternance USA et Asie/Europe 
Quelques centaines au debut a 4500 de participants aujourd'hui 
En parallele : conference (utilisateurs, decideurs) et Design Summit 
(developpeurs) 
Determine le nom de la release : lieu/ville a proximite du Summit 
Formation OpenStack July 7, 2014 60 / 194
Exemple du Summit d'avril 2013 a Portland 
Formation OpenStack July 7, 2014 61 / 194
Exemple du Summit de mai 2014 a Atlanta 
Formation OpenStack July 7, 2014 62 / 194
Exemple du Summit de mai 2014 a Atlanta 
Formation OpenStack July 7, 2014 63 / 194
Design Tenets 
1 Scalability and elasticity are our main goals 
2 Any feature that limits our main goals must be optional 
3 Everything should be asynchronous. If you can't do something 
asynchronously, see #2 
4 All required components must be horizontally scalable 
5 Always use shared nothing architecture (SN) or sharding. If you can't 
Share nothing/shard, see #2 
6 Distribute everything. Especially logic. Move logic to where state 
naturally exists. 
7 Accept eventual consistency and use it where it is appropriate. 
8 Test everything. We require tests with submitted code. (We will help 
you if you need it) 
Formation OpenStack July 7, 2014 64 / 194
Implementation 
Chaque sous-projet est decoupe en plusieurs services 
Communication entre les services : AMQP (RabbitMQ) 
Base de donnees : MySQL 
Reutilisation de nombreux composants existants 
OpenVSwitch 
Tout est developpe en Python (Django pour Horizon) 
APIs supportees : OpenStack et equivalent Amazon 
Multi tenancy 
Formation OpenStack July 7, 2014 65 / 194
Multi-tenant 
Notion generale : un deploiement du logiciel permet de multiples 
utilisations 
Un cloud OpenStack permet aux utilisateurs de travailler dans des 
environnements isoles 
Les instances, reseaux, images, etc. sont associes a un tenant 
Certaines ressources peuvent ^etre partagees entre tenants (exemple : 
image publique) 
On peut aussi parler de projet 
Formation OpenStack July 7, 2014 66 / 194
Architecture 
Formation OpenStack July 7, 2014 67 / 194
Interface web / Dashboard : Horizon 
Formation OpenStack July 7, 2014 68 / 194
Ressources 
http://docs.openstack.org/ 
https://ask.openstack.org 
openstack@lists.openstack.org 
#openstack@Freenode 
http://api.openstack.org/ 
Communaute francaise : 
I http//openstack.fr/ 
I openstack-fr@lists.openstack.org 
I #openstack-fr@Freenode 
I Association 
Formation OpenStack July 7, 2014 69 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
Presentation du projet et du logiciel 
DevStack : faire tourner rapidement un OpenStack 
Utiliser OpenStack 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 70 / 194
Utilite de DevStack 
Deployer rapidement un OpenStack 
Utilise par les developpeurs pour tester leurs changements 
Utilise pour faire des demonstrations 
Utilise pour tester les APIs sans se preoccuper du deploiement 
Ne doit PAS ^etre utilise pour de la production 
Formation OpenStack July 7, 2014 71 / 194
Fonctionnement de DevStack 
Un script shell qui fait tout le travail : stack.sh 
Un
chier de con
guration : local.conf 
Installe toute les dependances necessaires (paquets) 
Clone les dep^ots git (branche master par defaut) 
Lance tous les composants dans un screen 
Formation OpenStack July 7, 2014 72 / 194
Con
guration : local.conf 
Exemple 
[[local|localrc]] 
ADMIN_PASSWORD=secrete 
DATABASE_PASSWORD=$ADMIN_PASSWORD 
RABBIT_PASSWORD=$ADMIN_PASSWORD 
SERVICE_PASSWORD=$ADMIN_PASSWORD 
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50 
#FIXED_RANGE=172.31.1.0/24 
#FLOATING_RANGE=192.168.20.0/25 
#HOST_IP=10.3.4.5 
Formation OpenStack July 7, 2014 73 / 194
Conseils d'utilisation 
DevStack installe beaucoup de choses sur la machine 
Il est recommande de travailler dans une VM 
Pour tester tous les composants OpenStack dans de bonnes conditions, 
plusieurs Go de RAM sont necessaires 
L'utilisation de Vagrant est conseillee 
Formation OpenStack July 7, 2014 74 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
Presentation du projet et du logiciel 
DevStack : faire tourner rapidement un OpenStack 
Utiliser OpenStack 
3 Deployer OpenStack 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 75 / 194
Le principe 
Toutes les fonctionnalites sont accessibles par l'API 
Les clients (y compris Horizon) utilisent l'API 
Des credentials sont necessaires 
I API OpenStack : utilisateur + mot de passe + tenant 
I API AWS : access key ID + secret access key 
Formation OpenStack July 7, 2014 76 / 194
Acces aux APIs 
Direct, en HTTP, via des outils comme curl 
Avec une bibliotheque 
I Les implementations ocielles en Python 
I D'autres implementations pour d'autres langages (exemple : jclouds) 
Avec les outils ociels en ligne de commande 
Avec Horizon 
Formation OpenStack July 7, 2014 77 / 194
Clients ociels 
Le projet fournit des clients ociels : python-PROJETclient 
Bibliotheques Python 
Outils CLI 
I L'authenti
cation se fait en passant les credentials par parametres ou 
variables d'environnement 
I L'option {debug ache la communication HTTP 
Formation OpenStack July 7, 2014 78 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 79 / 194
Ce qu'on va voir 
Installer OpenStack a la main http://docs.openstack.org/ 
icehouse/install-guide/install/apt/content/ 
Donc comprendre son fonctionnement 
Tour d'horizon des solutions de deploiement 
Formation OpenStack July 7, 2014 80 / 194
Architecture detaillee 
Formation OpenStack July 7, 2014 81 / 194
Quelques elements de con
guration generaux 
Tous les composants doivent ^etre con
gures pour communiquer avec 
Keystone 
La plupart doivent ^etre con
gures pour communiquer avec MySQL et 
RabbitMQ 
Les composants decoupes en plusieurs services ont souvent un
chier 
de con
guration par service 
api-paste.ini contient des parametres concernant le service API 
Formation OpenStack July 7, 2014 82 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 83 / 194
Systeme d'exploitation 
OS Linux avec Python 
Historiquement : Ubuntu 
Red Hat s'est largement rattrape 
SUSE, etc. 
Formation OpenStack July 7, 2014 84 / 194
Python 
OpenStack est aujourd'hui compatible Python 2.7 
A
n de ne pas reinventer la roue, beaucoup de dependances sont 
necessaires 
Un travail de portage vers Python 3 est en cours 
Formation OpenStack July 7, 2014 85 / 194
Base de donnees 
Permet de stocker la majorite des donnees gerees par OpenStack 
Chaque composant a sa propre base 
OpenStack utilise l'ORM Python SQLAlchemy 
Support theorique equivalent a celui de SQLAlchemy 
MySQL est l'implementation la plus largement testee et utilisee 
SQLite est principalement utilise dans le cadre de tests et demo 
Certains deploiements fonctionnent avec PostgreSQL 
Formation OpenStack July 7, 2014 86 / 194
Pourquoi l'utilisation de SQLAlchemy 
Support de multiples BDD 
Gestion des migrations 
Formation OpenStack July 7, 2014 87 / 194
Passage de messages 
AMQP : Advanced Message Queuing Protocol 
Messages,
le d'attente, routage 
Les processus OpenStack communiquent via AMQP 
Plusieurs implementations possibles : Qpid, 0MQ, etc. 
RabbitMQ par defaut 
Formation OpenStack July 7, 2014 88 / 194
RabbitMQ 
RabbitMQ est implemente en Erlang 
Une machine virtuelle Erlang est donc necessaire 
Formation OpenStack July 7, 2014 89 / 194
Hello world RabbitMQ 
Formation OpenStack July 7, 2014 90 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 91 / 194
Principes 
Annuaire des utilisateurs et des groupes 
Catalogue de services 
Gere l'authenti
cation et l'autorisation 
Support des domaines dans l'API v3 
Fournit un token a l'utilisateur 
Formation OpenStack July 7, 2014 92 / 194
API 
API admin : port 35357 
API utilisateur : port 5000 
Deux versions : v2 (actuelle) et v3 (future) 
Gere utilisateurs, groupes, domaines (APIv3) 
Les utilisateurs ont des r^oles sur des tenants (projets) 
Formation OpenStack July 7, 2014 93 / 194
Scenario d'utilisation typique 
Formation OpenStack July 7, 2014 94 / 194
Installation et con
guration 
Paquet : keystone 
Con
guration d'un token ADMIN pour la con
guration initiale 
Backends : choix de SQL ou LDAP (ou AD) 
Con
gurer les dierents services 
Policy.json 
Services et endpoints 
Utilisateurs, groupes, domaines 
Formation OpenStack July 7, 2014 95 / 194
Enregistrer un service et son endpoint 
Il faut renseigner l'existence des dierents services (catalogue) dans 
Keystone : 
$ keystone service-create --name=cinderv2 --type=volumev2  
--description=Cinder Volume Service V2 
$ keystone endpoint-create  
--region=myRegion 
--service-id=... 
--publicurl=http://controller:8776/v2/%(tenant_id)s  
--internalurl=http://controller:8776/v2/%(tenant_id)s  
--adminurl=http://controller:8776/v2/%(tenant_id)s 
Formation OpenStack July 7, 2014 96 / 194
Tester 
$ keystone service-list 
... 
$ keystone user-list 
... 
$ keystone token-get 
... 
Formation OpenStack July 7, 2014 97 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 98 / 194
Principes 
Gere les instances 
IP 
ottantes, groupes de securite 
Les instances sont creees a partir des images fournies par Glance 
Les interfaces reseaux des instances sont associees a des ports Neutron 
Formation OpenStack July 7, 2014 99 / 194
Interactions avec les autres composants 
Formation OpenStack July 7, 2014 100 / 194
API 
Gere : 
Instances 
Flavors (types d'instance) 
Security Groups (groupes de securite) 
Floating IPs (IPs 
ottantes) 
Les instances sont redimensionnables et migrables d'un h^ote physique a un 
autre. 
Formation OpenStack July 7, 2014 101 / 194
Les groupes de securite 
Equivalent a un
rewall devant chaque instance 
Une instance peut ^etre associee a un ou plusieurs groupes de securite 
Gestion des acces en entree et sortie 
Regles par protocole (TCP/UDP/ICMP) et par port 
Formation OpenStack July 7, 2014 102 / 194
R^ole des 
avors 
Equivalent des instance types d'AWS 
De
nit un modele d'instance en termes de CPU, RAM, disque 
Formation OpenStack July 7, 2014 103 / 194
Nova api 
Double r^ole 
API de manipulation des instances par l'utilisateur 
API a destination des instances : API de metadata 
L'API de metadata doit ^etre accessible a l'adresse 
http://169.254.169.254/ 
L'API de metadata fournit des informations de con
guration 
personnalisees a chacune des instances 
Formation OpenStack July 7, 2014 104 / 194
Nova compute 
Execute les machines virtuelles 
Tire partie de libvirt ou d'autres APIs comme XenAPI 
Drivers : libvirt, XenAPI, VMWare ESX, Docker 
Permet de recuperer les logs de la console et une console VNC 
Formation OpenStack July 7, 2014 105 / 194
Nova scheduler 
Service qui distribue les demandes d'instances sur les noeuds compute 
Filter, Chance, Multi Scheduler 
Filtres, par defaut : AvailabilityZoneFilter,RamFilter,ComputeFilter 
Tri par poids, par defaut : RawWeigher 
Formation OpenStack July 7, 2014 106 / 194
Le scheduler Nova en action 
Formation OpenStack July 7, 2014 107 / 194
Nova conductor 
Service facultatif qui ameliore la securite 
Fait oce de proxy entre les noeuds compute et la BDD 
Les noeuds compute, vulnerables, n'ont donc plus d'acces a la BDD 
Formation OpenStack July 7, 2014 108 / 194
Tester 
$ nova list 
... 
$ nova create 
... 
Formation OpenStack July 7, 2014 109 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 110 / 194
Principes 
Registre d'images (et des snapshots) 
Proprietes sur les images 
Est utilise par Nova pour demarrer des instances 
Peut utiliser Swift comme back-end de stockage 
Formation OpenStack July 7, 2014 111 / 194
Proprietes des images dans Glance 
L'utilisateur peut de
nir un certain nombre de proprietes dont certaines 
seront utilisees lors de l'instanciation 
Type d'image 
Architecture 
Distribution 
Version de la distribution 
Espace disque minimum 
RAM minimum 
Publique ou non 
Formation OpenStack July 7, 2014 112 / 194
Types d'images 
Glance supporte un large eventail de types d'images, limite par le support de 
l'hyperviseur sous-jacent a Nova 
raw 
qcow2 
ami 
vmdk 
iso 
Formation OpenStack July 7, 2014 113 / 194
Backends 
Swift ou S3 
Ceph 
HTTP 
Repertoire local 
Formation OpenStack July 7, 2014 114 / 194
Installation 
Paquet glance-api : fournit l'API 
Paquet glance-registry : demon du registre d'images en tant que tel 
Formation OpenStack July 7, 2014 115 / 194
Tester 
$ glance image-list 
... 
$ glance image-create 
... 
Formation OpenStack July 7, 2014 116 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 117 / 194
Principes 
SDN 
Auparavant Quantum et nova-network 
neutron-server : fournit l'API 
Agent DHCP : fournit le service de DHCP pour les instances 
Agent L3 : gere la couche 3 du reseau, le routage 
Plugin : OpenVSwitch par defaut, d'autres implementations 
libres/proprietaires, logicielles/materielles existent 
Formation OpenStack July 7, 2014 118 / 194
Fonctionnalites supplementaires 
Outre les fonctions reseau de base niveaux 2 et 3, Neutron peut fournir 
d'autres services : 
Load Balancing (HAProxy, ...) 
Firewall (vArmour, ...) : diere des groupes de securite 
VPN (Openswan, ...) : permet d'acceder a un reseau prive sans IP 

ottantes 
Ces fonctionnalites se basent egalement sur des plugins 
Formation OpenStack July 7, 2014 119 / 194
API 
L'API permet notamment de manipuler ces ressources 
Reseau : niveau 2 
Subnet : niveau 3 
Port 
Les ports peuvent correspondre a des interfaces d'instance 
Formation OpenStack July 7, 2014 120 / 194
Plugins ML2 
Modular Layer 2 
OpenVSwitch 
OpenDaylight 
Contrail, OpenContrail 
Nuage Networks 
cf. OpenFlow 
Formation OpenStack July 7, 2014 121 / 194
Implementation 
Neutron tire partie des namespaces reseaux du noyau Linux pour 
permettre l'IP overlapping 
Le proxy de metadata est un composant qui permet aux instances 
isolees dans leur reseau de joindre l'API de metadata fournie par Nova 
Formation OpenStack July 7, 2014 122 / 194
Schema 
Formation OpenStack July 7, 2014 123 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 124 / 194
Principes 
Auparavant nova-volume 
Fournit des volumes (stockage block) attachables aux instances 
Gere dierents types de volume 
Gere snapshots et backups de volumes 
Attachement via iSCSI par defaut 
Formation OpenStack July 7, 2014 125 / 194
Du stockage partage ? 
Cinder n'est pas une solution de stockage partage comme NFS 
OpenStack (tout comme AWS) ne fournit pas de solution NFS as a 
Service 
Cf. le projet Manila 
Formation OpenStack July 7, 2014 126 / 194
Utilisation 
Volume supplementaire (et stockage persistant) sur une instance 
Boot from volume : l'OS est sur le volume 
Fonctionnalite de backup vers un object store (Swift ou Ceph) 
Formation OpenStack July 7, 2014 127 / 194
Installation 
Paquet cinder-api : fournit l'API 
Paquet cinder-volume : creation et gestion des volumes 
Paquet cinder-scheduler : distribue les demandes de creation de volume 
Paquet cinder-backup : backup vers un object store 
Formation OpenStack July 7, 2014 128 / 194
Backends 
Utilisation de plusieurs backends en parallele possible 
LVM (par defaut) 
GlusterFS 
Ceph 
Systemes de stockage proprietaires type NetApp 
Formation OpenStack July 7, 2014 129 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 130 / 194
Principes 
Utilise les APIs existantes pour fournir une interface 
Horizon est un module Django 
OpenStack Dashboard est l'implementation ocielle de ce module 
Formation OpenStack July 7, 2014 131 / 194
Con
guration 
local settings.py 
Les services apparaissent dans Horizon s'ils sont repertories dans le 
catalogue de services de Keystone 
Formation OpenStack July 7, 2014 132 / 194
Utilisation 
Une zone admin restreinte 
Une interface par tenant 
Formation OpenStack July 7, 2014 133 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 134 / 194
Principes 
SDS : Software De
ned Storage 
Utilisation de commodity hardware 
Theoreme CAP : on en choisit deux 
Acces par les APIs 
Architecture totalement acentree 
Pas de base de donnees centrale 
Formation OpenStack July 7, 2014 135 / 194
Implementation 
Proxy : serveur API par lequel passent toutes les requ^etes 
Object server : serveur de stockage 
Container server : maintient des listes d'objects dans des containers 
Account server : maintient des listes de containers dans des accounts 
Chaque objet est replique n fois (3 par defaut) 
Formation OpenStack July 7, 2014 136 / 194
Le ring 
Probleme : comment decider quelle donnee va sur quel object server 
Le ring est decoupe en partitions 
On situe chaque donnee dans le ring a
n de determiner sa partition 
Une partition est associee a plusieurs serveurs 
Formation OpenStack July 7, 2014 137 / 194
Schema 
Formation OpenStack July 7, 2014 138 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 139 / 194
Surveiller l'utilisation de son infrastructure avec Ceilometer 
Indexe dierentes metriques concernant l'utilisation des dierents 
services du cloud 
Fournit des APIs permettant de recuperer ces donnees 
Base pour construire des outils de facturation 
Utilise MongoDB (par defaut) pour le stockage 
Formation OpenStack July 7, 2014 140 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 141 / 194
Orchestrer son infrastructure avec Heat 
Equivalent d'Amazon Cloud Formation 
Orchestrer les ressources compute, storage, network, etc. 
Doit se coupler avec cloud-init 
Description de son infrastructure dans un
chier template, format 
JSON (CFN) ou YAML (HOT) 
Formation OpenStack July 7, 2014 142 / 194
Autoscaling avec Heat 
Heat implemente la fonctionnalite d'autoscaling 
Se declenche en fonction des alarmes produites par Ceilometer 
Entraine la creation de nouvelles instances 
Formation OpenStack July 7, 2014 143 / 194
Un template HOT 
heat_template_version: 2013-05-23 
description: Simple template to deploy a single compute instance 
resources: 
my_instance: 
type: OS::Nova::Server 
properties: 
key_name: my_key 
image: F18-x86_64-cfntools 
flavor: m1.small 
Formation OpenStack July 7, 2014 144 / 194
Fonctionnalites avancees de Heat 
Nested stacks 
Environments 
Providers 
Formation OpenStack July 7, 2014 145 / 194
Plan 
1 Le Cloud : vue d'ensemble 
2 OpenStack : projet, logiciel et utilisation 
3 Deployer OpenStack 
Les briques necessaires 
Keystone : Authenti
cation, autorisation et catalogue de services 
Nova : Compute 
Glance : Registre d'images 
Neutron : Reseau en tant que service 
Cinder : Stockage block 
Horizon : Dashboard web 
Swift : Stockage objet 
Ceilometer : Collecte de metriques 
Heat : Orchestration des ressources 
Trove : Database as a Service 
Designate : DNS as a Service 
Quelques autres composants interessants 
Bonnes pratiques pour un deploiement en production 
Faire face aux problemes 
4 Tirer partie de l'IaaS 
Formation OpenStack July 7, 2014 146 / 194
Principe 
Fournit des bases de donnees relationnelles, a la AWS RDS 
A vocation a supporter des bases NoSQL aussi 
Gere notamment MySQL comme back-end 
Se repose sur Nova pour les instances dans lesquelles se fait 
l'installation d'une BDD 
Formation OpenStack July 7, 2014 147 / 194

Contenu connexe

Tendances

Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
Charif Khrichfa
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Saadaoui Marwen
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Mohammed LAAZIZLI
 
Memoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdfMemoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdf
falloumbengue1
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
marwenbencheikhali
 
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING PRIVÉ BASÉE SUR UN ...
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING  PRIVÉ BASÉE SUR UN ...ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING  PRIVÉ BASÉE SUR UN ...
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING PRIVÉ BASÉE SUR UN ...
Borel NZOGANG
 
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sakka Mustapha
 
Virtualisation des serveurs et Sécurisation avec Docker
Virtualisation des serveurs et Sécurisation avec Docker  Virtualisation des serveurs et Sécurisation avec Docker
Virtualisation des serveurs et Sécurisation avec Docker
Wahbi Belhadj
 
Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau
Yaya N'Tyeni Sanogo
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de Pfsense
Ismail Rachdaoui
 
Projet sur le Cloud Computing
Projet sur le Cloud ComputingProjet sur le Cloud Computing
Projet sur le Cloud Computing
Tsubichi
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nuls
Chris Cowley
 
projet sur le vpn presentation
projet sur le vpn presentationprojet sur le vpn presentation
projet sur le vpn presentation
Manuel Cédric EBODE MBALLA
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
Mohammed Zaoui
 
Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"
Ayoub Rouzi
 
Cours d'introduction au Cloud Computing
Cours d'introduction au Cloud ComputingCours d'introduction au Cloud Computing
Cours d'introduction au Cloud Computing
Nicolas Hennion
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
Kiwi Backup
 
Supervision de réseau informatique - Nagios
Supervision de réseau informatique - NagiosSupervision de réseau informatique - Nagios
Supervision de réseau informatique - Nagios
Aziz Rgd
 

Tendances (20)

Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
 
P fsense
P fsenseP fsense
P fsense
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
Memoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdfMemoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdf
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING PRIVÉ BASÉE SUR UN ...
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING  PRIVÉ BASÉE SUR UN ...ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING  PRIVÉ BASÉE SUR UN ...
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING PRIVÉ BASÉE SUR UN ...
 
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
 
Virtualisation des serveurs et Sécurisation avec Docker
Virtualisation des serveurs et Sécurisation avec Docker  Virtualisation des serveurs et Sécurisation avec Docker
Virtualisation des serveurs et Sécurisation avec Docker
 
Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau Mise En Place d'une Solution de Supervision Réseau
Mise En Place d'une Solution de Supervision Réseau
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de Pfsense
 
Projet sur le Cloud Computing
Projet sur le Cloud ComputingProjet sur le Cloud Computing
Projet sur le Cloud Computing
 
rapportfinal
rapportfinalrapportfinal
rapportfinal
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nuls
 
projet sur le vpn presentation
projet sur le vpn presentationprojet sur le vpn presentation
projet sur le vpn presentation
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"
 
Cours d'introduction au Cloud Computing
Cours d'introduction au Cloud ComputingCours d'introduction au Cloud Computing
Cours d'introduction au Cloud Computing
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
 
Supervision de réseau informatique - Nagios
Supervision de réseau informatique - NagiosSupervision de réseau informatique - Nagios
Supervision de réseau informatique - Nagios
 

Similaire à Formation libre OpenStack en Français

OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
Osones
 
OpenStack stratégie: fondation, acteurs et composants
OpenStack stratégie: fondation, acteurs et composantsOpenStack stratégie: fondation, acteurs et composants
OpenStack stratégie: fondation, acteurs et composants
Jonathan Le Lous
 
josy-cloud-2014-objectiflibre-openstack.pdf
josy-cloud-2014-objectiflibre-openstack.pdfjosy-cloud-2014-objectiflibre-openstack.pdf
josy-cloud-2014-objectiflibre-openstack.pdf
hidaeli2001
 
Valtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a ServiceValtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a Service
Valtech
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
Jonathan Le Lous
 
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne  OSCi OW2 Workshop July 11CompatibleOne  OSCi OW2 Workshop July 11
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
The Incredible Automation Day
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
Alexis Hassler
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du Cloud
LINAGORA
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
Michel-Marie Maudet
 
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPHExpert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
SUSE
 
Objectif libre - OpenStack
Objectif libre - OpenStackObjectif libre - OpenStack
Objectif libre - OpenStack
DigitalPlace
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel Fr
Saddam ZEMMALI ☁
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRay
f.morin
 
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Objectif Libre
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
Alexis Ducastel
 
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvPres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
BilelBoulehmi
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
Restlet
 
Créer un Micro PaaS avec Docker et Maven
Créer un Micro PaaS avec Docker et MavenCréer un Micro PaaS avec Docker et Maven
Créer un Micro PaaS avec Docker et Maven
Amico Fabien
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
sahar dridi
 

Similaire à Formation libre OpenStack en Français (20)

OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
OpenStack stratégie: fondation, acteurs et composants
OpenStack stratégie: fondation, acteurs et composantsOpenStack stratégie: fondation, acteurs et composants
OpenStack stratégie: fondation, acteurs et composants
 
josy-cloud-2014-objectiflibre-openstack.pdf
josy-cloud-2014-objectiflibre-openstack.pdfjosy-cloud-2014-objectiflibre-openstack.pdf
josy-cloud-2014-objectiflibre-openstack.pdf
 
Valtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a ServiceValtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a Service
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
 
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne  OSCi OW2 Workshop July 11CompatibleOne  OSCi OW2 Workshop July 11
CompatibleOne OSCi OW2 Workshop July 11
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du Cloud
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPHExpert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
 
Objectif libre - OpenStack
Objectif libre - OpenStackObjectif libre - OpenStack
Objectif libre - OpenStack
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel Fr
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRay
 
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
 
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvPres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
Créer un Micro PaaS avec Docker et Maven
Créer un Micro PaaS avec Docker et MavenCréer un Micro PaaS avec Docker et Maven
Créer un Micro PaaS avec Docker et Maven
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 

Formation libre OpenStack en Français

  • 1. Formation OpenStack July 7, 2014 Formation OpenStack July 7, 2014 1 / 194
  • 2. Concernant ces supports de cours Supports de cours OpenStack realises par Osones (https://osones.com/) Auteurs : Adrien Cunin adrien.cunin@osones.com Pierre Freund pierre.freund@osones.com Copyright c 2014 Osones Licence : Creative Commons BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/deed.fr Sources : https://github.com/Osones/OpenStack-Formations/ Formation OpenStack July 7, 2014 2 / 194
  • 3. Objectifs de la formation : Cloud Comprendre les principes du cloud et son inter^et Connaitre le vocabulaire inherent au cloud Avoir une vue d'ensemble sur les solutions existantes en cloud public et prive Posseder les cles pour tirer partie au mieux de l'IaaS Pouvoir determiner ce qui est compatible avec la philosophie cloud ou pas Adapter ses methodes d'administration systeme a un environnement cloud Formation OpenStack July 7, 2014 3 / 194
  • 4. Objectifs de la formation : OpenStack Connaitre le fonctionnement du projet OpenStack et ses possibilites Comprendre le fonctionnement de chacun des composants d'OpenStack Pouvoir faire les bons choix de con
  • 5. guration Savoir deployer manuellement un cloud OpenStack pour fournir de l'IaaS Connaitre les bonnes pratiques de deploiement d'OpenStack ^Etre capable de determiner l'origine d'une erreur dans OpenStack Savoir reagir face a un bug Formation OpenStack July 7, 2014 4 / 194
  • 6. Pre-requis de la formation Competences d'administration systeme Linux tel qu'Ubuntu I Gestion des paquets I LVM et systemes de
  • 7. chiers Notions de virtualisation, KVM et libvirt Peut servir : I A l'aise dans un environnement Python Formation OpenStack July 7, 2014 5 / 194
  • 8. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 6 / 194
  • 9. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 7 / 194
  • 10. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 8 / 194
  • 11. Le cloud, c'est large ! Stockage/calcul distant (on oublie, cf. externalisation) Virtualisation++ Abstraction du materiel (voire plus) Acces normalise par des APIs Service et facturation a la demande Flexibilite, elasticite Formation OpenStack July 7, 2014 9 / 194
  • 12. WaaS : Whatever as a Service Principalement IaaS Infrastructure as a Service PaaS Platform as a Service SaaS Software as a Service Mais aussi : I Database as a Service I Network as a Service I Load balancing as a Service I $APPLICATION as a Service Formation OpenStack July 7, 2014 10 / 194
  • 13. Cloud public ou cloud prive ? Public fourni par un hebergeur a des clients (AWS, Rackspace Cloud, etc.) Prive plateforme et ressources internes Hybride utilisation de ressources publiques au sein d'un cloud prive Formation OpenStack July 7, 2014 11 / 194
  • 14. Le cloud en un schema Formation OpenStack July 7, 2014 12 / 194
  • 15. Pourquoi du cloud ? C^ote business Baisse des co^uts par la mutualisation des ressources Utilisation uniquement des ressources qui sont necessaires A grande echelle, garantie de service Formation OpenStack July 7, 2014 13 / 194
  • 16. Pourquoi du cloud ? C^ote technique Abstraction des couches plus basses On peut tout programmer a son gre Permet la mise en place d'architectures scalables Formation OpenStack July 7, 2014 14 / 194
  • 17. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 15 / 194
  • 18. PaaS : les principes Fourniture d'une plateforme de developpement Fourniture d'une plateforme de deploiement Pour un langage / un framework Principalement utilise par des developpeurs Formation OpenStack July 7, 2014 16 / 194
  • 19. Exemples de PaaS publics Amazon OpsWork / Elastic Beanstalk Google App Engine Heroku Formation OpenStack July 7, 2014 17 / 194
  • 20. Solutions de PaaS prive Cloud Foundry OpenShift (Red Hat) Solum Formation OpenStack July 7, 2014 18 / 194
  • 21. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 19 / 194
  • 22. Amazon Web Services (AWS) et les autres Service (cloud public) : AWS I Pionnier du genre (des 2002) I Elastic Compute Cloud (EC2) I Elastic Block Storage (EBS) I Simple Storage Service (S3) Logiciels libres permettant le deploiement d'un cloud prive : I Eucalyptus I CloudStack I OpenNebula I OpenStack Formation OpenStack July 7, 2014 20 / 194
  • 23. Les clouds publics concurrents d'AWS Google Compute Platform Rackspace HP Cloud En France I Cloudwatt I Numergy Formation OpenStack July 7, 2014 21 / 194
  • 24. Virtualisation dans le cloud Le cloud IaaS repose souvent sur la virtualisation Ressources compute virtualisation Virtualisation complete : KVM, Xen Virtualisation containers : OpenVZ, LXC, Docker Formation OpenStack July 7, 2014 22 / 194
  • 25. Notions et vocabulaire IaaS Images Instances Types d'instance ( avors) Volumes Stockage block Stockage objet IP ottantes/elastiques Groupes de securite Paires de cles API REST API de metadata et user data Cloud-init Formation OpenStack July 7, 2014 23 / 194
  • 26. Notions et vocabulaire IaaS L'instance est par de
  • 27. nition ephemere Elle doit ^etre utilisee comme ressource de calcul Une image se personnalise lors de son instanciation gr^ace a l'API de metadata Separer les donnees des instances Choix du type de stockage : ephemere, volume, objet Formation OpenStack July 7, 2014 24 / 194
  • 28. A retenir Virtualisation6= IaaS Formation OpenStack July 7, 2014 25 / 194
  • 29. AWS Regardons l'interface web d'Amazon Formation OpenStack July 7, 2014 26 / 194
  • 30. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 27 / 194
  • 31. Stockage block Acces a des raw devices type /dev/vdb Possibilite d'utiliser n'importe quel systeme de
  • 32. chiers Compatible avec toutes les applications legacy Formation OpenStack July 7, 2014 28 / 194
  • 33. Stockage objet Pousser et retirer des objets dans un container/bucket Pas de hierarchie des donnees, pas de systeme de
  • 34. chiers Acces par les APIs L'application doit ^etre concue pour tirer partie du stockage objet Formation OpenStack July 7, 2014 29 / 194
  • 35. Stockage objet : schema Formation OpenStack July 7, 2014 30 / 194
  • 37. ned Storage Utilisation de commodity hardware Pas de RAID materiel Le logiciel est responsable de garantir les donnees Formation OpenStack July 7, 2014 31 / 194
  • 38. Deux solutions : OpenStack Swift et Ceph Swift fait partie du projet OpenStack et fournit du stockage objet Ceph fournit du stockage objet, block et FS Les deux sont du SDS Theoreme CAP : on en choisit deux Formation OpenStack July 7, 2014 32 / 194
  • 39. Theoreme CAP Formation OpenStack July 7, 2014 33 / 194
  • 40. Swift Swift est un projet OpenStack Le projet est ne chez Rackspace avant la creation d'OpenStack Swift est en production chez Rackspace depuis lors C'est le composant le plus mature d'OpenStack Formation OpenStack July 7, 2014 34 / 194
  • 41. Ceph Projet totalement parallele a OpenStack Supporte par une entreprise (Inktank) recemment rachetee par Red Hat Fournit d'abord du stockage objet L'acces aux donnees se fait via RADOS : I Acces direct depuis une application avec librados I Acces via une API REST gr^ace a radosgw La couche RBD permet d'acceder aux donnees en mode block (volumes) CephFS permet un acces par un systeme de
  • 42. chiers POSIX Formation OpenStack July 7, 2014 35 / 194
  • 43. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 36 / 194
  • 45. nir tout une infrastructure dans un seul
  • 46. chier texte ^Etre en capacite d'instancier une infrastructure entiere en un appel API Adapter ses ressources en fonction de ses besoins en temps reel (autoscaling) Formation OpenStack July 7, 2014 37 / 194
  • 47. Plan 1 Le Cloud : vue d'ensemble Le Cloud : les concepts PaaS : Platform as a Service IaaS : Infrastructure as a Service Stockage : block, objet, SDS Orchestrer les ressources de son IaaS APIs : quel r^ole ? 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 38 / 194
  • 48. API ? Application Programming Interface Au sens logiciel : Interface permettant a un logiciel d'utiliser une bibliotheque Au sens cloud : Interface permettant a un logiciel d'utiliser un service (XaaS) Il s'agit le plus souvent d'API HTTP REST Formation OpenStack July 7, 2014 39 / 194
  • 49. Exemple concret GET /v2.0/networks/network_id { network:{ status:ACTIVE, subnets:[ 54d6f61d-db07-451c-9ab3-b9609b6b6f0b ], name:private-network, provider:physical_network:null, admin_state_up:true, tenant_id:4fd44f30292945e481c7b8a0c8908869, provider:network_type:local, router:external:true, shared:true, id:d32019d3-bc6e-4319-9c1d-6722fc136a22, provider:segmentation_id:null } } Formation OpenStack July 7, 2014 40 / 194
  • 50. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation Presentation du projet et du logiciel DevStack : faire tourner rapidement un OpenStack Utiliser OpenStack 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 41 / 194
  • 51. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation Presentation du projet et du logiciel DevStack : faire tourner rapidement un OpenStack Utiliser OpenStack 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 42 / 194
  • 52. Vue haut niveau Your Applications APIs Networking OPENSTACK CLOUD OPERATING SYSTEM Compute Storage Standard Hardware OpenStack Dashboard OpenStack Shared Services Formation OpenStack July 7, 2014 43 / 194
  • 53. Historique Demarrage en 2010 Objectif : le Cloud Operating System libre Fusion de deux projets de Rackspace (Storage) et de la NASA (Compute) Developpe en Python et distribue sous licence Apache 2.0 Les releases jusqu'a aujourd'hui : I Austin (2010.1) I Bexar (2011.1) I Cactus (2011.2) I Diablo (2011.3) I Essex (2012.1) I Folsom (2012.2) I Grizzly (2013.1) I Havana (2013.2) I Icehouse (2014.1) I Novembre 2014 : Juno Formation OpenStack July 7, 2014 44 / 194
  • 54. Quelques soutiens/contributeurs ... Rackspace et la NASA Canonical Red Hat Suse HP IBM Dell, Intel Cisco, Juniper NetApp, VMWare Yahoo, Bull Mais aussi : Mirantis, StackOps, eNovance http://www.openstack.org/foundation/companies/ Formation OpenStack July 7, 2014 45 / 194
  • 55. ... et utilisateurs Tous les contributeurs precedemment cites En France : CloudWatt et Numergy Wikimedia CERN Paypal Comcast Etc. Sans compter les implementations con
  • 57. Les dierents sous-projets OpenStack Compute - Nova OpenStack (Object) Storage - Swift OpenStack Block Storage - Cinder OpenStack Networking - Neutron OpenStack Image Service - Glance OpenStack Identity Service - Keystone OpenStack Dashboard - Horizon OpenStack Metering - Ceilometer OpenStack Orchestration - Heat OpenStack Database Service - Trove Formation OpenStack July 7, 2014 47 / 194
  • 58. Les dierents sous-projets (2) Incubating (a jour Icehouse) I Bare metal (Ironic) I Queue service (Marconi) I Data processing (Sahara) Interessants I DNS service (Designate) Autres I Oslo I rootwrap : wrapper pour les commandes root utilise par les projets I TripleO I Tempest, Grenade I Les clients (python-*client) Formation OpenStack July 7, 2014 48 / 194
  • 59. Cycle de vie des projets au sein d'OpenStack Greater OpenStack Ecosystem 16 Integrated Release Incubated Projects Graduation • The software is released every 6 months • Technical Committee managed + Release Manager PTLs • On the road to the integrated release • Typically takes 18­24 months before being approved for graduation • Approved for Incubation by the Technical Committee • More stringent requirements for incubation approved by TC Applied Accepted by TC • Wide range of related open source projects • Some may apply for incubation • Many will never apply. Supporting Programs Works with projects in greater Ecosystem Shared infrastructure and resources for OpenStack projects Formation OpenStack July 7, 2014 49 / 194
  • 60. Les projets dans Icehouse Greater OpenStack Ecosystem : Icehouse Release (April 2014) Integrated Release Incubated Projects Bare Metal Messaging Data Processing New New Supporting Programs Compute Object Storage Block Storage Networking Dashboard Image Service Identity Service Telemetry Orchestration Database Service New Infrastructure | Docs | Common Libraries | QA | Release Mgmt Formation OpenStack July 7, 2014 50 / 194
  • 61. Nouveautes de Icehouse Nova : rolling upgrades Nouvelles fonctionnalites disponibles dans Horizon Nouveaux drivers dans Neutron Nouveaux drivers dans Cinder Le nouveau format HOT est recommande pour les templates Heat etc. En details : https://wiki.openstack.org/wiki/ReleaseNotes/Icehouse Formation OpenStack July 7, 2014 51 / 194
  • 62. Traduction La question de la traduction est dorenavant prise en compte Seules certaines parties sont traduites, comme Horizon La traduction francaise est aujourd'hui une des plus avancees Utilisation de la plateforme Transifex Formation OpenStack July 7, 2014 52 / 194
  • 63. Developpement du projet Open Source Open Design Open Development Open Community Formation OpenStack July 7, 2014 53 / 194
  • 64. Developpement du projet : en details Ouvert a tous (individuels et entreprises) Cycle de developpement de 6 mois debute par un (design) summit Outils : Launchpad (blueprints, bugs) + Git + GitHub (code) Sur chaque commit : peer review (Gerrit) + integration continue (execution de dierents tests par Jenkins) Plateforme de reference et modele de developpement : Ubuntu Developpement hyper actif : 17000 commits dans Icehouse (+25%) Fin 2012, creation d'une entite independante de gouvernance : la fondation OpenStack Formation OpenStack July 7, 2014 54 / 194
  • 65. La fondation OpenStack Entite de gouvernance principale du projet Les membres du board sont issus des entreprises sponsors et elus par les membres individuels Tout le monde peut devenir membre individuel (gratuitement) La fondation supporte le projet par dierents moyens : I Evenements : organisation (Summits) ou participation (OSCON, etc.) I Infrastructure de developpement (serveurs) I Ressources humaines : marketing, release manager, quelques developpeurs (principalement sur l'infrastructure) 850 organisations a travers le monde 9500 membres individuels dans 100 pays Formation OpenStack July 7, 2014 55 / 194
  • 66. La fondation OpenStack Formation OpenStack July 7, 2014 56 / 194
  • 67. Cycle de developpement : 6 mois Le planning est publie, exemple : https: //wiki.openstack.org/wiki/Icehouse_Release_Schedule Milestone releases Freezes : FeatureProposal, Feature, String RC releases Stable releases Ce modele de cycle de developpement a evolue depuis le debut du projet Cas particulier de Swift Formation OpenStack July 7, 2014 57 / 194
  • 68. Ou trouver des informations sur le developpement d'OpenStack Principalement sur le wiki : https://wiki.openstack.org Les blueprints et bugs sur Launchpad : https://launchpad.net/openstack Les patchs proposes et leurs reviews sont sur Gerrit : https://review.openstack.org Le code est disponible dans Git : https://git.openstack.org Les sources (tarballs) sont disponibles : http://tarballs.openstack.org/ Formation OpenStack July 7, 2014 58 / 194
  • 69. Stackforge Forge pour les nouveaux projets en lien avec OpenStack Ils bene
  • 70. cient de l'infrastructure du projet OpenStack, mais la separation reste claire Les projets demarrent dans Stackforge et peuvent ensuite rejoindre le projet OpenStack Formation OpenStack July 7, 2014 59 / 194
  • 71. OpenStack Summit Aux USA jusqu'en 2013 Aujourd'hui : alternance USA et Asie/Europe Quelques centaines au debut a 4500 de participants aujourd'hui En parallele : conference (utilisateurs, decideurs) et Design Summit (developpeurs) Determine le nom de la release : lieu/ville a proximite du Summit Formation OpenStack July 7, 2014 60 / 194
  • 72. Exemple du Summit d'avril 2013 a Portland Formation OpenStack July 7, 2014 61 / 194
  • 73. Exemple du Summit de mai 2014 a Atlanta Formation OpenStack July 7, 2014 62 / 194
  • 74. Exemple du Summit de mai 2014 a Atlanta Formation OpenStack July 7, 2014 63 / 194
  • 75. Design Tenets 1 Scalability and elasticity are our main goals 2 Any feature that limits our main goals must be optional 3 Everything should be asynchronous. If you can't do something asynchronously, see #2 4 All required components must be horizontally scalable 5 Always use shared nothing architecture (SN) or sharding. If you can't Share nothing/shard, see #2 6 Distribute everything. Especially logic. Move logic to where state naturally exists. 7 Accept eventual consistency and use it where it is appropriate. 8 Test everything. We require tests with submitted code. (We will help you if you need it) Formation OpenStack July 7, 2014 64 / 194
  • 76. Implementation Chaque sous-projet est decoupe en plusieurs services Communication entre les services : AMQP (RabbitMQ) Base de donnees : MySQL Reutilisation de nombreux composants existants OpenVSwitch Tout est developpe en Python (Django pour Horizon) APIs supportees : OpenStack et equivalent Amazon Multi tenancy Formation OpenStack July 7, 2014 65 / 194
  • 77. Multi-tenant Notion generale : un deploiement du logiciel permet de multiples utilisations Un cloud OpenStack permet aux utilisateurs de travailler dans des environnements isoles Les instances, reseaux, images, etc. sont associes a un tenant Certaines ressources peuvent ^etre partagees entre tenants (exemple : image publique) On peut aussi parler de projet Formation OpenStack July 7, 2014 66 / 194
  • 78. Architecture Formation OpenStack July 7, 2014 67 / 194
  • 79. Interface web / Dashboard : Horizon Formation OpenStack July 7, 2014 68 / 194
  • 80. Ressources http://docs.openstack.org/ https://ask.openstack.org openstack@lists.openstack.org #openstack@Freenode http://api.openstack.org/ Communaute francaise : I http//openstack.fr/ I openstack-fr@lists.openstack.org I #openstack-fr@Freenode I Association Formation OpenStack July 7, 2014 69 / 194
  • 81. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation Presentation du projet et du logiciel DevStack : faire tourner rapidement un OpenStack Utiliser OpenStack 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 70 / 194
  • 82. Utilite de DevStack Deployer rapidement un OpenStack Utilise par les developpeurs pour tester leurs changements Utilise pour faire des demonstrations Utilise pour tester les APIs sans se preoccuper du deploiement Ne doit PAS ^etre utilise pour de la production Formation OpenStack July 7, 2014 71 / 194
  • 83. Fonctionnement de DevStack Un script shell qui fait tout le travail : stack.sh Un
  • 85. guration : local.conf Installe toute les dependances necessaires (paquets) Clone les dep^ots git (branche master par defaut) Lance tous les composants dans un screen Formation OpenStack July 7, 2014 72 / 194
  • 86. Con
  • 87. guration : local.conf Exemple [[local|localrc]] ADMIN_PASSWORD=secrete DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50 #FIXED_RANGE=172.31.1.0/24 #FLOATING_RANGE=192.168.20.0/25 #HOST_IP=10.3.4.5 Formation OpenStack July 7, 2014 73 / 194
  • 88. Conseils d'utilisation DevStack installe beaucoup de choses sur la machine Il est recommande de travailler dans une VM Pour tester tous les composants OpenStack dans de bonnes conditions, plusieurs Go de RAM sont necessaires L'utilisation de Vagrant est conseillee Formation OpenStack July 7, 2014 74 / 194
  • 89. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation Presentation du projet et du logiciel DevStack : faire tourner rapidement un OpenStack Utiliser OpenStack 3 Deployer OpenStack 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 75 / 194
  • 90. Le principe Toutes les fonctionnalites sont accessibles par l'API Les clients (y compris Horizon) utilisent l'API Des credentials sont necessaires I API OpenStack : utilisateur + mot de passe + tenant I API AWS : access key ID + secret access key Formation OpenStack July 7, 2014 76 / 194
  • 91. Acces aux APIs Direct, en HTTP, via des outils comme curl Avec une bibliotheque I Les implementations ocielles en Python I D'autres implementations pour d'autres langages (exemple : jclouds) Avec les outils ociels en ligne de commande Avec Horizon Formation OpenStack July 7, 2014 77 / 194
  • 92. Clients ociels Le projet fournit des clients ociels : python-PROJETclient Bibliotheques Python Outils CLI I L'authenti
  • 93. cation se fait en passant les credentials par parametres ou variables d'environnement I L'option {debug ache la communication HTTP Formation OpenStack July 7, 2014 78 / 194
  • 94. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 95. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 79 / 194
  • 96. Ce qu'on va voir Installer OpenStack a la main http://docs.openstack.org/ icehouse/install-guide/install/apt/content/ Donc comprendre son fonctionnement Tour d'horizon des solutions de deploiement Formation OpenStack July 7, 2014 80 / 194
  • 97. Architecture detaillee Formation OpenStack July 7, 2014 81 / 194
  • 99. guration generaux Tous les composants doivent ^etre con
  • 100. gures pour communiquer avec Keystone La plupart doivent ^etre con
  • 101. gures pour communiquer avec MySQL et RabbitMQ Les composants decoupes en plusieurs services ont souvent un
  • 103. guration par service api-paste.ini contient des parametres concernant le service API Formation OpenStack July 7, 2014 82 / 194
  • 104. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 105. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 83 / 194
  • 106. Systeme d'exploitation OS Linux avec Python Historiquement : Ubuntu Red Hat s'est largement rattrape SUSE, etc. Formation OpenStack July 7, 2014 84 / 194
  • 107. Python OpenStack est aujourd'hui compatible Python 2.7 A
  • 108. n de ne pas reinventer la roue, beaucoup de dependances sont necessaires Un travail de portage vers Python 3 est en cours Formation OpenStack July 7, 2014 85 / 194
  • 109. Base de donnees Permet de stocker la majorite des donnees gerees par OpenStack Chaque composant a sa propre base OpenStack utilise l'ORM Python SQLAlchemy Support theorique equivalent a celui de SQLAlchemy MySQL est l'implementation la plus largement testee et utilisee SQLite est principalement utilise dans le cadre de tests et demo Certains deploiements fonctionnent avec PostgreSQL Formation OpenStack July 7, 2014 86 / 194
  • 110. Pourquoi l'utilisation de SQLAlchemy Support de multiples BDD Gestion des migrations Formation OpenStack July 7, 2014 87 / 194
  • 111. Passage de messages AMQP : Advanced Message Queuing Protocol Messages,
  • 112. le d'attente, routage Les processus OpenStack communiquent via AMQP Plusieurs implementations possibles : Qpid, 0MQ, etc. RabbitMQ par defaut Formation OpenStack July 7, 2014 88 / 194
  • 113. RabbitMQ RabbitMQ est implemente en Erlang Une machine virtuelle Erlang est donc necessaire Formation OpenStack July 7, 2014 89 / 194
  • 114. Hello world RabbitMQ Formation OpenStack July 7, 2014 90 / 194
  • 115. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 116. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 91 / 194
  • 117. Principes Annuaire des utilisateurs et des groupes Catalogue de services Gere l'authenti
  • 118. cation et l'autorisation Support des domaines dans l'API v3 Fournit un token a l'utilisateur Formation OpenStack July 7, 2014 92 / 194
  • 119. API API admin : port 35357 API utilisateur : port 5000 Deux versions : v2 (actuelle) et v3 (future) Gere utilisateurs, groupes, domaines (APIv3) Les utilisateurs ont des r^oles sur des tenants (projets) Formation OpenStack July 7, 2014 93 / 194
  • 120. Scenario d'utilisation typique Formation OpenStack July 7, 2014 94 / 194
  • 122. guration Paquet : keystone Con
  • 123. guration d'un token ADMIN pour la con
  • 124. guration initiale Backends : choix de SQL ou LDAP (ou AD) Con
  • 125. gurer les dierents services Policy.json Services et endpoints Utilisateurs, groupes, domaines Formation OpenStack July 7, 2014 95 / 194
  • 126. Enregistrer un service et son endpoint Il faut renseigner l'existence des dierents services (catalogue) dans Keystone : $ keystone service-create --name=cinderv2 --type=volumev2 --description=Cinder Volume Service V2 $ keystone endpoint-create --region=myRegion --service-id=... --publicurl=http://controller:8776/v2/%(tenant_id)s --internalurl=http://controller:8776/v2/%(tenant_id)s --adminurl=http://controller:8776/v2/%(tenant_id)s Formation OpenStack July 7, 2014 96 / 194
  • 127. Tester $ keystone service-list ... $ keystone user-list ... $ keystone token-get ... Formation OpenStack July 7, 2014 97 / 194
  • 128. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 129. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 98 / 194
  • 130. Principes Gere les instances IP ottantes, groupes de securite Les instances sont creees a partir des images fournies par Glance Les interfaces reseaux des instances sont associees a des ports Neutron Formation OpenStack July 7, 2014 99 / 194
  • 131. Interactions avec les autres composants Formation OpenStack July 7, 2014 100 / 194
  • 132. API Gere : Instances Flavors (types d'instance) Security Groups (groupes de securite) Floating IPs (IPs ottantes) Les instances sont redimensionnables et migrables d'un h^ote physique a un autre. Formation OpenStack July 7, 2014 101 / 194
  • 133. Les groupes de securite Equivalent a un
  • 134. rewall devant chaque instance Une instance peut ^etre associee a un ou plusieurs groupes de securite Gestion des acces en entree et sortie Regles par protocole (TCP/UDP/ICMP) et par port Formation OpenStack July 7, 2014 102 / 194
  • 135. R^ole des avors Equivalent des instance types d'AWS De
  • 136. nit un modele d'instance en termes de CPU, RAM, disque Formation OpenStack July 7, 2014 103 / 194
  • 137. Nova api Double r^ole API de manipulation des instances par l'utilisateur API a destination des instances : API de metadata L'API de metadata doit ^etre accessible a l'adresse http://169.254.169.254/ L'API de metadata fournit des informations de con
  • 138. guration personnalisees a chacune des instances Formation OpenStack July 7, 2014 104 / 194
  • 139. Nova compute Execute les machines virtuelles Tire partie de libvirt ou d'autres APIs comme XenAPI Drivers : libvirt, XenAPI, VMWare ESX, Docker Permet de recuperer les logs de la console et une console VNC Formation OpenStack July 7, 2014 105 / 194
  • 140. Nova scheduler Service qui distribue les demandes d'instances sur les noeuds compute Filter, Chance, Multi Scheduler Filtres, par defaut : AvailabilityZoneFilter,RamFilter,ComputeFilter Tri par poids, par defaut : RawWeigher Formation OpenStack July 7, 2014 106 / 194
  • 141. Le scheduler Nova en action Formation OpenStack July 7, 2014 107 / 194
  • 142. Nova conductor Service facultatif qui ameliore la securite Fait oce de proxy entre les noeuds compute et la BDD Les noeuds compute, vulnerables, n'ont donc plus d'acces a la BDD Formation OpenStack July 7, 2014 108 / 194
  • 143. Tester $ nova list ... $ nova create ... Formation OpenStack July 7, 2014 109 / 194
  • 144. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 145. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 110 / 194
  • 146. Principes Registre d'images (et des snapshots) Proprietes sur les images Est utilise par Nova pour demarrer des instances Peut utiliser Swift comme back-end de stockage Formation OpenStack July 7, 2014 111 / 194
  • 147. Proprietes des images dans Glance L'utilisateur peut de
  • 148. nir un certain nombre de proprietes dont certaines seront utilisees lors de l'instanciation Type d'image Architecture Distribution Version de la distribution Espace disque minimum RAM minimum Publique ou non Formation OpenStack July 7, 2014 112 / 194
  • 149. Types d'images Glance supporte un large eventail de types d'images, limite par le support de l'hyperviseur sous-jacent a Nova raw qcow2 ami vmdk iso Formation OpenStack July 7, 2014 113 / 194
  • 150. Backends Swift ou S3 Ceph HTTP Repertoire local Formation OpenStack July 7, 2014 114 / 194
  • 151. Installation Paquet glance-api : fournit l'API Paquet glance-registry : demon du registre d'images en tant que tel Formation OpenStack July 7, 2014 115 / 194
  • 152. Tester $ glance image-list ... $ glance image-create ... Formation OpenStack July 7, 2014 116 / 194
  • 153. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 154. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 117 / 194
  • 155. Principes SDN Auparavant Quantum et nova-network neutron-server : fournit l'API Agent DHCP : fournit le service de DHCP pour les instances Agent L3 : gere la couche 3 du reseau, le routage Plugin : OpenVSwitch par defaut, d'autres implementations libres/proprietaires, logicielles/materielles existent Formation OpenStack July 7, 2014 118 / 194
  • 156. Fonctionnalites supplementaires Outre les fonctions reseau de base niveaux 2 et 3, Neutron peut fournir d'autres services : Load Balancing (HAProxy, ...) Firewall (vArmour, ...) : diere des groupes de securite VPN (Openswan, ...) : permet d'acceder a un reseau prive sans IP ottantes Ces fonctionnalites se basent egalement sur des plugins Formation OpenStack July 7, 2014 119 / 194
  • 157. API L'API permet notamment de manipuler ces ressources Reseau : niveau 2 Subnet : niveau 3 Port Les ports peuvent correspondre a des interfaces d'instance Formation OpenStack July 7, 2014 120 / 194
  • 158. Plugins ML2 Modular Layer 2 OpenVSwitch OpenDaylight Contrail, OpenContrail Nuage Networks cf. OpenFlow Formation OpenStack July 7, 2014 121 / 194
  • 159. Implementation Neutron tire partie des namespaces reseaux du noyau Linux pour permettre l'IP overlapping Le proxy de metadata est un composant qui permet aux instances isolees dans leur reseau de joindre l'API de metadata fournie par Nova Formation OpenStack July 7, 2014 122 / 194
  • 160. Schema Formation OpenStack July 7, 2014 123 / 194
  • 161. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 162. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 124 / 194
  • 163. Principes Auparavant nova-volume Fournit des volumes (stockage block) attachables aux instances Gere dierents types de volume Gere snapshots et backups de volumes Attachement via iSCSI par defaut Formation OpenStack July 7, 2014 125 / 194
  • 164. Du stockage partage ? Cinder n'est pas une solution de stockage partage comme NFS OpenStack (tout comme AWS) ne fournit pas de solution NFS as a Service Cf. le projet Manila Formation OpenStack July 7, 2014 126 / 194
  • 165. Utilisation Volume supplementaire (et stockage persistant) sur une instance Boot from volume : l'OS est sur le volume Fonctionnalite de backup vers un object store (Swift ou Ceph) Formation OpenStack July 7, 2014 127 / 194
  • 166. Installation Paquet cinder-api : fournit l'API Paquet cinder-volume : creation et gestion des volumes Paquet cinder-scheduler : distribue les demandes de creation de volume Paquet cinder-backup : backup vers un object store Formation OpenStack July 7, 2014 128 / 194
  • 167. Backends Utilisation de plusieurs backends en parallele possible LVM (par defaut) GlusterFS Ceph Systemes de stockage proprietaires type NetApp Formation OpenStack July 7, 2014 129 / 194
  • 168. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 169. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 130 / 194
  • 170. Principes Utilise les APIs existantes pour fournir une interface Horizon est un module Django OpenStack Dashboard est l'implementation ocielle de ce module Formation OpenStack July 7, 2014 131 / 194
  • 171. Con
  • 172. guration local settings.py Les services apparaissent dans Horizon s'ils sont repertories dans le catalogue de services de Keystone Formation OpenStack July 7, 2014 132 / 194
  • 173. Utilisation Une zone admin restreinte Une interface par tenant Formation OpenStack July 7, 2014 133 / 194
  • 174. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 175. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 134 / 194
  • 176. Principes SDS : Software De
  • 177. ned Storage Utilisation de commodity hardware Theoreme CAP : on en choisit deux Acces par les APIs Architecture totalement acentree Pas de base de donnees centrale Formation OpenStack July 7, 2014 135 / 194
  • 178. Implementation Proxy : serveur API par lequel passent toutes les requ^etes Object server : serveur de stockage Container server : maintient des listes d'objects dans des containers Account server : maintient des listes de containers dans des accounts Chaque objet est replique n fois (3 par defaut) Formation OpenStack July 7, 2014 136 / 194
  • 179. Le ring Probleme : comment decider quelle donnee va sur quel object server Le ring est decoupe en partitions On situe chaque donnee dans le ring a
  • 180. n de determiner sa partition Une partition est associee a plusieurs serveurs Formation OpenStack July 7, 2014 137 / 194
  • 181. Schema Formation OpenStack July 7, 2014 138 / 194
  • 182. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 183. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 139 / 194
  • 184. Surveiller l'utilisation de son infrastructure avec Ceilometer Indexe dierentes metriques concernant l'utilisation des dierents services du cloud Fournit des APIs permettant de recuperer ces donnees Base pour construire des outils de facturation Utilise MongoDB (par defaut) pour le stockage Formation OpenStack July 7, 2014 140 / 194
  • 185. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 186. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 141 / 194
  • 187. Orchestrer son infrastructure avec Heat Equivalent d'Amazon Cloud Formation Orchestrer les ressources compute, storage, network, etc. Doit se coupler avec cloud-init Description de son infrastructure dans un
  • 188. chier template, format JSON (CFN) ou YAML (HOT) Formation OpenStack July 7, 2014 142 / 194
  • 189. Autoscaling avec Heat Heat implemente la fonctionnalite d'autoscaling Se declenche en fonction des alarmes produites par Ceilometer Entraine la creation de nouvelles instances Formation OpenStack July 7, 2014 143 / 194
  • 190. Un template HOT heat_template_version: 2013-05-23 description: Simple template to deploy a single compute instance resources: my_instance: type: OS::Nova::Server properties: key_name: my_key image: F18-x86_64-cfntools flavor: m1.small Formation OpenStack July 7, 2014 144 / 194
  • 191. Fonctionnalites avancees de Heat Nested stacks Environments Providers Formation OpenStack July 7, 2014 145 / 194
  • 192. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 193. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 146 / 194
  • 194. Principe Fournit des bases de donnees relationnelles, a la AWS RDS A vocation a supporter des bases NoSQL aussi Gere notamment MySQL comme back-end Se repose sur Nova pour les instances dans lesquelles se fait l'installation d'une BDD Formation OpenStack July 7, 2014 147 / 194
  • 195. Services trove-api : API trove-taskmanager : gere les instances BDD trove-guestagent : agent interne a l'instance Formation OpenStack July 7, 2014 148 / 194
  • 196. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 197. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 149 / 194
  • 198. Principe Equivalent d'AWS Route 53 Gere dierents backends : BIND, etc. Formation OpenStack July 7, 2014 150 / 194
  • 199. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 200. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 151 / 194
  • 201. Ironic Anciennement Nova bare-metal Permet le deploiement d'instance sur des machines physiques (plut^ot que VMs) Repose sur des technologies telles que PXE, TFTP Formation OpenStack July 7, 2014 152 / 194
  • 202. Oslo, ou OpenStack common Oslo contient le code commun a plusieurs composants d'OpenStack Son utilisation est transparente pour le deployeur Formation OpenStack July 7, 2014 153 / 194
  • 203. rootwrap Wrapper pour l'utilisation de commandes en root Con
  • 204. guration au niveau de chaque composant qui l'utilise Permet d'ecrire des
  • 205. ltres sur les commandes Formation OpenStack July 7, 2014 154 / 194
  • 206. TripleO OpenStack On OpenStack Objectif : pouvoir deployer un cloud OpenStack (overcloud) a partir d'un cloud OpenStack (undercloud) Autoscaling du cloud lui-m^eme : deploiement de nouveaux noeuds compute lorsque cela est necessaire Fonctionne conjointement avec Ironic pour le deploiement bare-metal Formation OpenStack July 7, 2014 155 / 194
  • 207. Tempest Suite de tests d'un cloud OpenStack Eectue des appels a l'API et veri
  • 208. e le resultat Est tres utilise par les developpeurs via l'integration continue Le deployeur peut utiliser Tempest pour veri
  • 209. er la bonne conformite de son cloud Formation OpenStack July 7, 2014 156 / 194
  • 210. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 211. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 157 / 194
  • 212. Quels composants dois-je installer ? Keystone est indispensable L'utilisation de Nova va de paire avec Glance et Neutron Cinder s'averera souvent utile Ceilometer et Heat vont souvent ensemble Swift est independant des autres composants Formation OpenStack July 7, 2014 158 / 194
  • 213. Penser des le debut aux choix structurants Distribution et methode de deploiement Hyperviseur Reseau : quelle architecture et quels drivers Politique de mise a jour Formation OpenStack July 7, 2014 159 / 194
  • 214. Les dierentes methodes d'installation DevStack est a oublier pour la production TripleO est encore trop jeune Le deploiement a la main comme vu precedemment n'est pas recommande car peu maintenable Distributions OpenStack packagees et pr^etes a l'emploi Distributions classiques et gestion de con
  • 215. guration Formation OpenStack July 7, 2014 160 / 194
  • 216. Assigner des r^oles aux machines Beaucoup de documentations font reference a ces r^oles : Controller node : APIs, BDD, AMQP Network node : Routeur Compute node : Hyperviseur Ce modele simpli
  • 217. e n'est pas HA. Formation OpenStack July 7, 2014 161 / 194
  • 218. Haute disponbilite Haut disponibilite de l'IaaS MySQL, RabbitMQ : HA classique (Galera, Clustering) Les services APIs sont stateless et HTTP : scale out et load balancers La plupart des autres services OpenStack sont capables de scale out egalement Guide HA : http://docs.openstack.org/high-availability-guide/content/ Formation OpenStack July 7, 2014 162 / 194
  • 219. Haute disponibilite de l'agent L3 de Neutron Plusieurs solutions possibles Formation OpenStack July 7, 2014 163 / 194
  • 220. Considerations pour une environnement de production Des URLs uniformes pour toutes les APIs : utiliser un reverse proxy Utilisation des quotas Prevoir les bonnes volumetries, notamment pour les donnees Ceilometer Monitoring Guide Operations : http://docs.openstack.org/trunk/openstack-ops/content/ Formation OpenStack July 7, 2014 164 / 194
  • 221. Decoupage reseau Management network : reseau d'administration Data network : reseau pour la communication inter instances External network : reseau externe, dans l'infrastructure reseau existante API network : reseau contenant les endpoints API Formation OpenStack July 7, 2014 165 / 194
  • 222. Considerations liees a la securite Indispensable : HTTPS sur l'acces des APIs a l'exterieur Securisation des communications MySQL et RabbitMQ Un acces MySQL par base et par service Un utilisateur Keystone par service Limiter l'acces en lecture des
  • 224. guration (mots de passe, token) Formation OpenStack July 7, 2014 166 / 194
  • 225. Segmenter son cloud Host aggregates : machines physiques avec des caracteristiques similaires Availability zones : machines dependantes d'une m^eme source electrique, d'un m^eme switch, d'un m^eme DC, etc. Regions : chaque region a son API Cells : permet de regrouper plusieurs cloud dierents sous une m^eme API Formation OpenStack July 7, 2014 167 / 194
  • 226. Host aggregates / agregats d'h^otes L'administrateur de
  • 227. nit des agregats via l'API 1 agregat 1 point commun, ex : GPU L'utilisateur peut choisir un agregat a la creation d'instance Formation OpenStack July 7, 2014 168 / 194
  • 228. Availability zones / zones de disponibilite Groupe d'h^otes Decoupage en termes de disponibilite : Rack, Datacenter, etc. L'utiliser peut choisir une zone de disponibilite L'utilisateur peut demander a ce que des instances soient demarrees dans une m^eme zone, ou au contraire dans des zones dierentes Formation OpenStack July 7, 2014 169 / 194
  • 229. Regions Equivalent des regions d'AWS Un service peut avoir dierents endpoints dans dierentes regions Chaque region est autonome Cas d'usage : cloud de grande ampleur (comme certains clouds publics) Formation OpenStack July 7, 2014 170 / 194
  • 230. Cellules / Cells Fonctionnalite de Nova uniquement Un seul nova-api devant plusieurs cellules Chaque cellule a sa propre BDD et
  • 231. le de messages Ajoute un niveau de scheduling (choix de la cellule) Formation OpenStack July 7, 2014 171 / 194
  • 232. Packaging d'OpenStack - Ubuntu Le packaging est fait dans de multiples distributions, RPM, DEB et autres Ubuntu est historiquement la plateforme de reference pour le developpement d'OpenStack Le packaging dans Ubuntu suit de pres le developpement d'OpenStack, et des tests automatises sont realises Canonical fournit la Ubuntu Cloud Archive, qui met a disposition la derniere version d'OpenStack pour la derniere Ubuntu LTS Formation OpenStack July 7, 2014 172 / 194
  • 233. Ubuntu Cloud Archive Formation OpenStack July 7, 2014 173 / 194
  • 234. Packaging d'OpenStack dans les autres distributions OpenStack est integre dans les dep^ots ociels de Debian Red Hat propose RHOS Comme Ubuntu, le cycle de release de Fedora est synchronise avec celui d'OpenStack Formation OpenStack July 7, 2014 174 / 194
  • 235. Les distributions OpenStack StackOps Mirantis HP etc. Formation OpenStack July 7, 2014 175 / 194
  • 236. Deploiement bare metal Le deploiement des h^otes physiques OpenStack peut se faire a l'aide d'outils dedies Canonical/Ubuntu propose MaaS : Metal as a Service Dell propose Crowbar eDeploy (eNovance) Formation OpenStack July 7, 2014 176 / 194
  • 238. guration Puppet, Chef, CFEngine, Saltstack, Ansible, etc. Ces outils peuvent aider a deployer le cloud OpenStack ... mais aussi a gerer les instances (section suivante) Formation OpenStack July 7, 2014 177 / 194
  • 239. Modules Puppet PuppetLabs maintient (avec d'autres) des modules pour deployer OpenStack https://forge.puppetlabs.com/puppetlabs/openstack Formation OpenStack July 7, 2014 178 / 194
  • 240. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack Les briques necessaires Keystone : Authenti
  • 241. cation, autorisation et catalogue de services Nova : Compute Glance : Registre d'images Neutron : Reseau en tant que service Cinder : Stockage block Horizon : Dashboard web Swift : Stockage objet Ceilometer : Collecte de metriques Heat : Orchestration des ressources Trove : Database as a Service Designate : DNS as a Service Quelques autres composants interessants Bonnes pratiques pour un deploiement en production Faire face aux problemes 4 Tirer partie de l'IaaS Formation OpenStack July 7, 2014 179 / 194
  • 242. Les re exes en cas d'erreur ou de comportement errone Travaille-t-on sur le bon tenant ? Est-ce que l'API renvoie une erreur ? (le dashboard peut cacher certaines informations) Si necessaire d'aller plus loin : I Regarder les logs sur le cloud controller (/var/log/composant/*.log) I Regarder les logs sur le compute node et le network node si le probleme est speci
  • 243. que reseau/instance I Eventuellement modi
  • 244. er la verbosite des logs dans la con
  • 245. guration Formation OpenStack July 7, 2014 180 / 194
  • 246. Est-ce un bug ? Si le client CLI crash, c'est un bug Si le dashboard web ache une erreur 500, c'est peut-^etre un bug Si les logs montrent une stacktrace Python, c'est un bug Sinon, a vous d'en juger Formation OpenStack July 7, 2014 181 / 194
  • 247. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS C^ote applications C^ote systeme Formation OpenStack July 7, 2014 182 / 194
  • 248. Deux visions Une fois un cloud IaaS en place, deux optiques possibles : Garder les m^emes pratiques tout en pro
  • 249. tant du self service et de l'agilite de la solution Faire evoluer ses pratiquer, tant c^ote applicatif que systeme Pets vs Cattle Formation OpenStack July 7, 2014 183 / 194
  • 250. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS C^ote applications C^ote systeme Formation OpenStack July 7, 2014 184 / 194
  • 251. Adapter ou faire ses applications cloud ready Stateless : permet de multiplier les routes d'acces a l'application Ne pas stocker les donnees en local, mais plut^ot : I Base de donnees I Stockage objet Utiliser des outils standards de journalisation Formation OpenStack July 7, 2014 185 / 194
  • 252. Plan 1 Le Cloud : vue d'ensemble 2 OpenStack : projet, logiciel et utilisation 3 Deployer OpenStack 4 Tirer partie de l'IaaS C^ote applications C^ote systeme Formation OpenStack July 7, 2014 186 / 194
  • 253. Adopter une philosophie DevOps Infrastructure as Code Scale out au lieu de scale up HA niveau application plut^ot qu'infrastructure Formation OpenStack July 7, 2014 187 / 194
  • 254. Utiliser des images cloud Une image cloud c'est : Une image disque contenant un OS deja installe Une image qui peut ^etre instanciee en n machines sans erreur Un OS sachant parler a l'API de metadata du cloud (cloud-init) La plupart des distributions fournissent aujourd'hui des images cloud. Formation OpenStack July 7, 2014 188 / 194
  • 255. Cirros Cirros est l'image cloud par excellence OS minimaliste Contient cloud-init https://launchpad.net/cirros Formation OpenStack July 7, 2014 189 / 194
  • 257. er une image cloud Utilisation de libguestfs Formation OpenStack July 7, 2014 190 / 194
  • 258. Cloud-init Cloud-init est un moyen de tirer partie de l'API de metadata, et notamment des user data L'outil est integre par defaut dans la plupart des images cloud A partir des user data, cloud-init eectue les operations de personnalisation de l'instance cloud-con
  • 259. g est un format possible de user data Formation OpenStack July 7, 2014 191 / 194
  • 261. g #cloud-config mounts: - [ xvdc, /var/www ] packages: - apache2 - htop Formation OpenStack July 7, 2014 192 / 194
  • 262. Con
  • 263. gurer et orchestrer ses instances Outils de gestion de con
  • 264. guration (les m^emes qui permettent de deployer OpenStack) Juju Formation OpenStack July 7, 2014 193 / 194
  • 265. Conclusion Le cloud revolutionne l'IT OpenStack est le projet libre phare sur la partie IaaS Deployer OpenStack n'est pas une mince aaire L'utilisation d'un cloud IaaS implique des changements de pratique Formation OpenStack July 7, 2014 194 / 194