OpenStack dans la pratique

2 888 vues

Publié le

OpenStack dans la pratique: comment ça marche ?
Démonstration par Adrien CUNIN

Vous êtes administrateur système, développeur, décideur, et vous vous posez des questions sur le rôle et le fonctionnement d'OpenStack ?

• Quels besoins couvrent OpenStack ?
• Quels sont les différents composants ? Comment fonctionnent-ils ?
• Comment tirer partie d'une technologie cloud ?

Ces slides sont issues du meetup du mercredi 17 septembre dans les locaux de Mozilla à Paris.

> Des projets OpenStack ? Besoin de formations OpenStack intra- / inter- entreprise ?
Contactez-nous sur http://www.osones.com

Publié dans : Technologie
0 commentaire
7 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 888
Sur SlideShare
0
Issues des intégrations
0
Intégrations
17
Actions
Partages
0
Téléchargements
385
Commentaires
0
J’aime
7
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

OpenStack dans la pratique

  1. 1. OpenStack dans la pratique Adrien Cunin adrien.cunin@osones.com Meetup #10 OpenStack Paris Mercredi 17 septembre 2014 Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 1 / 41
  2. 2. Introduction Alors vous avez besoin d'un cloud et vous voulez monter un cloud prive OpenStack ? OpenStack est un projet vaste et complexe Cela le rend dicile a apprehender au premier abord Comprendre les concepts cloud est indispensable : Instances, types d'instance, stockage objet, SDN, APIs, etc. Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 2 / 41
  3. 3. Qui suis-je ? Adrien Cunin I 24 ans et passionne de logiciels libres I Contributeur depuis 2006 (notamment Ubuntu et Debian) I Ingenieur cloud computing / OpenStack Osones I Services et formations cloud computing (OpenStack, AWS) Association OpenStack-fr I Membre du CA et co-fondateur Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 3 / 41
  4. 4. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 4 / 41
  5. 5. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 5 / 41
  6. 6. Resume Your Applications APIs Networking OPENSTACK CLOUD OPERATING SYSTEM Compute Storage Standard Hardware OpenStack Dashboard OpenStack Shared Services Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 6 / 41
  7. 7. Evolution En 2010, OpenStack c'est : Nova : ressources de calcul Swift : stockage (objet) Aujourd'hui c'est : 10+ programmes integres Des dizaines d'autres a dierents stades de maturite IaaS ! PaaS Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 7 / 41
  8. 8. Implementation Python Python Python Chaque composant est decoupe en plusieurs services La communication entre services se fait via AMQP Les donnees sont stockees dans une BDD relationnelle OpenStack ne reinvente pas la roue Drivers drivers drivers Multi tenants Deux APIs possibles pour communiquer avec le cloud : I OpenStack I AWS Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 8 / 41
  9. 9. Extraits des Design Tenets Scalability and elasticity are our main goals Everything should be asynchronous All required components must be horizontally scalable Always use shared nothing architecture (SN) or sharding Distribute everything. Especially logic. Move logic to where state naturally exists Accept eventual consistency and use it where it is appropriate https://wiki.openstack.org/wiki/BasicDesignTenets Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 9 / 41
  10. 10. Les dierents composants 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 Telemetry - Ceilometer OpenStack Orchestration - Heat Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 10 / 41
  11. 11. Les dierents composants (2) Database service (Trove) Data processing (Sahara) OpenStack deployment (TripleO) Incubating I Bare metal (Ironic) I Queue service (Zaqar) I Key management (Barbican) I DNS service (Designate) Beaucoup d'autres en developpement Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 11 / 41
  12. 12. Architecture conceptuelle Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 12 / 41
  13. 13. Architecture conceptuelle : vue alternative en couches Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 13 / 41
  14. 14. Architecture logique detaillee Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 14 / 41
  15. 15. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 15 / 41
  16. 16. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 16 / 41
  17. 17. Penser des le debut aux choix structurants Distribution Methode de deploiement Choix des technologies pour virtualisation, reseau, stockage bloc, etc. De quels composants OpenStack ai-je besoin ? Combien machines physiques, pour quel r^ole, quel decoupage reseau ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 17 / 41
  18. 18. Quels composants OpenStack dois-je installer ? Pre-requis : Python Base de donnees : MySQL AMQP : RabbitMQ (Tres) nombreuses combinaisons possibles. A savoir : Keystone est indispensable L'utilisation de Nova va de paire avec Glance et Neutron (sauf utilisation de nova-network) Cinder s'averera utile pour fournir une fonctionnalite de stockage classique Swift est independant des autres composants Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 18 / 41
  19. 19. Quelle version d'OpenStack ? OpenStack a un cycle de release stable Tous les 6 mois (tous les 3 mois auparavant) Alignement avec le cycle de release de certaines distributions Support securite + corrections de bug jusqu'a 15 mois apres la release Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 19 / 41
  20. 20. Machine physiques et reseau Le nombre et le type de machines physiques depend de : Composants deployes Volumetrie attendu Niveau de haute disponibilite souhaite Decoupage possible du 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 Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 20 / 41
  21. 21. Quelques considerations pour une environnement de production Des URLs uniformes pour toutes les APIs : utiliser un reverse proxy HTTPS sur l'acces des APIs a l'exterieur Securisation des communications MySQL et RabbitMQ Monitoring Guide Operations : http://docs.openstack.org/trunk/openstack-ops/content/ Guide Security : http://docs.openstack.org/security-guide/content/ Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 21 / 41
  22. 22. Haute disponibilite et repartition de charge On parle ici d'OpenStack en tant qu'IaaS (pas des instances) 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/ Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 22 / 41
  23. 23. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 23 / 41
  24. 24. Avec de la motivation Depuis les sources http://tarballs.openstack.org/ Pas recommande car complexe et tres peu maintenable Avec OpenStack lui m^eme TripleO : OpenStack on OpenStack Concepts interessants mais projet encore jeune Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 24 / 41
  25. 25. DevStack Deployer rapidement un OpenStack Utilise par les developpeurs, pour du test ou de la demonstration Un script shell qui fait tout le travail : stack.sh Code issu de git (branch master par defaut) Ne doit PAS ^etre utilise pour de la production Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 25 / 41
  26. 26. Les paquets des distributions Red Hat, Ubuntu, Fedora, Debian, SUSE, etc. On delegue le travail d'integration a la distribution Acces aux mises a jour aux conditions de la ditribution Certaines distributions fournissent une version pre-packagee avec OpenStack Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 26 / 41
  27. 27. Outils de gestion de con
  28. 28. guration Puppet, Chef, CFEngine, Saltstack, Ansible, etc. Ces outils peuvent aider a deployer le cloud OpenStack ... mais aussi a gerer les instances (section suivante) Deploie les paquets et la con
  29. 29. guration souhaitee Modules Puppet : https://forge.puppetlabs.com/puppetlabs/openstack Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 27 / 41
  30. 30. Les distributions tout en un StackOps, Mirantis, etc. Facilite de deploiement et d'utilisation Attention a l'evolutivite de ces solutions Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 28 / 41
  31. 31. Deploiement continu OpenStack maintient un master (trunk) toujours stable Possibilite de deployer au jour le jour le master (CD: Continous Delivery ) Necessite la mise en place d'une infrastructure importante Facilite les mises a jour entre versions majeures Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 29 / 41
  32. 32. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 30 / 41
  33. 33. Identi
  34. 34. er le probleme Mauvaise utilisation ? L'erreur retournee devrait expliquer A quel niveau est le probleme : dashboard, bibliotheque d'acces a l'API, API, etc. Erreur de con
  35. 35. guration Bug Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 31 / 41
  36. 36. Bugs OpenStack a des bugs Le resultat n'est pas celui attendu Le programme crash Les messages d'erreur ou de log ne sont pas assez explicites La documentation est erronee ou incomplete Il faut les signaler s'ils ne sont pas encore connus ! Voire aider a les corriger. Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 32 / 41
  37. 37. Ressources http://docs.openstack.org/ https://ask.openstack.org openstack@lists.openstack.org #openstack@Freenode Communaute francophone : I http//openstack.fr/ I openstack-fr@lists.openstack.org I #openstack-fr@Freenode I Association Support commercial : http://www.openstack.org/marketplace/ et ailleurs Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 33 / 41
  38. 38. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 34 / 41
  39. 39. Demonstration Demonstration Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 35 / 41
  40. 40. Plan 1 OpenStack et ses composants 2 Deployer un cloud OpenStack Architecture : choses a savoir et questions a se poser Les dierentes methodes de deploiement Mais ca ne marche pas... 3 Demonstration : interagir avec un cloud OpenStack 4 On fait quoi ensuite ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 36 / 41
  41. 41. Adapter ou developper 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 Gerer les cas de panne (reseau, systeme) au niveau applicatif API, SDK : http://developer.openstack.org/ Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 37 / 41
  42. 42. Adopter une philosophie DevOps Infrastructure as Code Scale out plut^ot que scale up (horizontalement plut^ot que verticalement) HA niveau application plut^ot qu'infrastructure Outils de con
  43. 43. guration des instances : les m^emes qui permettent de deployer OpenStack (Puppet, etc.) Outil d'orchestration des instances : Heat Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 38 / 41
  44. 44. 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. Cirros est une distribution cloud minimaliste qui fournit des images adaptees. Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 39 / 41
  45. 45. Conclusion Un deploiement d'OpenStack se prepare bien en amont Les choix a faire en amont sont determinant pour la reussite d'un deploiement L'etape suivante est fondamentale : quel workload va-t-on faire tourner et est-il compatible avec la philosophie cloud d'OpenStack ? Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 40 / 41
  46. 46. Merci ! Questions ? Email : adrien.cunin@osones.com IRC : Adri2000@Freenode Twitter : @Adri2000 OS Adrien Cunin (Meetup #10) OpenStack dans la pratique Mercredi 17 septembre 2014 41 / 41

×