Aller au contenu

Architecture de la plateforme OpenStack#


Vue d'ensemble des composants#

  • OpenStack est modulaire et flexible
  • Composants appelés "services" ou "projets"
  • Chaque service responsable d'une fonction spécifique

core services, bg right:55% width:95%

📘 OpenStack Documentation: OpenStack API documentation


Interaction entre les composants#

  • Services communiquent via API
  • Messages transmis par bus de messages (ex : RabbitMQ)
  • Standardisation des interactions entre services

Présentation des 6 principales briques#

core services, center


Nova (Compute)#

  • Gestion des instances de machines virtuelles
  • Supporte divers hyperviseurs (KVM, Hyper-V, ESXi)
  • Interactions avec d'autres services (Neutron, Cinder, Glance)

bg right:55% width:95%

📘 Nova System Architecture


Cinder (Block Storage)#

  • Gestion des volumes de stockage en mode bloc
  • Peut être connecté à des instances Nova
  • Divers backends supportés (Ceph, LVM, NetApp, etc.)

bg right:55% width:95%

📘 OpenStack Documentation: Cinder, Basic architecture

📘 Laying Cinder Block (Volumes) In OpenStack


Neutron (Networking)#

  • Gestion des réseaux et des adresses IP
  • Supporte divers plugins (Open vSwitch, Linux Bridge)
  • Fonctionnalités avancées (LBaaS, VPNaaS, FWaaS)

bg right:55% width:150%


Glance (Image Service)#

  • Gestion des images de machines virtuelles
  • Stockage et récupération d'images
  • Supporte divers formats (QCOW2, VMDK, etc.)

bg right:55% width:95%

📘 OpenStack Documentation: Glance, Basic architecture


Swift (Object Storage)#

  • Stockage d'objets distribué et évolutif
  • Haute disponibilité et réplication des données
  • Supporte API S3 d'Amazon

bg right:55% width:95%


Keystone (Identity Service)#

  • Gestion de l'authentification et des autorisations
  • Gestion des utilisateurs, rôles et projets
  • Supporte divers backends d'authentification (LDAP, OAuth, etc.)

bg right:60% width:95%

📘 OpenStack Keystone Workflow & Token Scoping


Horizon (Dashboard)#

  • Interface web de gestion d'OpenStack
  • Permet de gérer et surveiller les ressources
  • Extensible via plugins

Composants optionnels et extensions#

components, center


Compute projets#

  • Nova
  • Glance
  • Ironic (Bare Metal) : service de gestion des machines physiques, permettant de gérer des machines physiques comme des ressources de calcul dans un environnement OpenStack.
  • Magnum : provisionning et management de moteurs d'orchestration
  • Zun (Container service) : service de déploiement et de gestion de conteneurs, permettant de créer et de gérer des conteneurs dans un environnement OpenStack.
  • Storlet (FaaS) : implémente les Fonctions-as-a-service dans le contexte d'Object Storage.

Securité, Identité et Conformité#

  • KeyStone
  • Barbican : provisioning dsécurisé, management des secrets (password, certificats X.509, clés de chiffrement, etc.)
  • Congress - service de gouvernance
  • Mistral (Workflow service) : service de gestion des flux de travail, permettant de créer et de gérer des flux de travail pour automatiser les tâches dans un environnement OpenStack.

Stockage, Sauvegarde et Recovery#

  • Cinder
  • Swift
  • Manila (Shared File System) : service de partage de fichiers, permettant de créer et de gérer des systèmes de fichiers partagés dans un environnement OpenStack.
  • Kardor : backup et restauration des data et meta-data d'applications
  • Freezer : backup et restauration de fichiers et de filesystemes

Réseau#

  • Neutron
  • Designate (DNSaaS) : service de gestion des noms de domaine, permettant de créer et de gérer des enregistrements DNS dans un environnement OpenStack.
  • Dragonflow : controller de SDN distribué
  • Kuryr : plugin réseau Docker
  • Octavia (Load Balancer) : service de répartition de charge, permettant de créer et de gérer des équilibreurs de charge dans un environnement OpenStack.
  • Tacker (NFV Orchestration) : service de gestion des fonctions réseau virtuelles (NFV), permettant de créer et de gérer des fonctions réseau telles que des routeurs, des pare-feu et des passerelles VPN.
  • Tricile : extension des abstration réseau à travers plusieurs instances openstack

Data et Analyse#

  • Trove : DBaaS
  • Sahara (Data processing) : service de traitement de données, permettant de créer et de gérer des clusters de traitement de données dans un environnement OpenStack.

Projects applicatifs#

  • Heat (Orchestration) : Gestion de l'infrastructure en tant que code (IaaC), automatisation du déploiement de ressources. Supporte des modèles de déploiement (HOT, AWS CloudFormation)
  • Murano (Application Catalog) : catalogue d'applications permettant de déployer et de gérer des applications dans un environnement OpenStack.

Et aussi ...#

  • Cyborg (Accelerator management) : service de gestion des accélérateurs matériels tels que les GPU, permettant de les utiliser pour accélérer les charges de travail dans un environnement OpenStack.
  • Masakari (High Availability) : service de haute disponibilité, permettant de surveiller les noeuds de l'infrastructure OpenStack et de les récupérer en cas de panne.
  • Monasca (Monitoring) : service de surveillance des performances de l'infrastructure OpenStack, permettant de collecter et d'analyser des données de performances pour optimiser les ressources et résoudre les problèmes.
  • Rally (Benchmarking) : outil de benchmarking pour tester les performances d'OpenStack, permettant de simuler des charges de travail et de mesurer les performances de l'infrastructure.

  • Senlin (Cluster management) : service de gestion de clusters, permettant de créer et de gérer des clusters de machines virtuelles ou physiques dans un environnement OpenStack.
  • Watcher (Infrastructure optimization) : service d'optimisation de l'infrastructure, permettant d'optimiser les ressources de l'infrastructure OpenStack en fonction des charges de travail et des objectifs métier.