Aller au contenu

OpenStack

OpenStack est une plateforme de cloud computing open source, conçue pour être déployée aussi bien en cloud public que privé. Elle fournit une solution d'Infrastructure-as-a-Service (IaaS) en agrégeant et gérant de vastes pools de ressources de calcul, de stockage et de réseau au sein d'un centre de données.

Sa force réside dans son architecture modulaire : chaque service est un microservice avec sa propre API, ce qui permet de l'installer et de le faire évoluer selon les besoins.

🧩 Composants principaux

OpenStack se compose de plusieurs services interconnectés, chacun ayant un nom de code. Voici les plus essentiels :

  • Horizon (Tableau de bord) : Interface web qui permet aux administrateurs et utilisateurs d'interagir avec les services sous-jacents (lancer une instance, gérer les IP, etc.).
  • Nova (Calcul) : Le cerveau du cloud. Il gère le cycle de vie des instances (machines virtuelles), incluant la planification, la création et l'arrêt.
  • Neutron (Réseau) : Fournit la connectivité réseau en tant que service. Il gère les réseaux, les routeurs et les adresses IP pour les instances et autres services.
  • Swift (Stockage objet) : Un système de stockage distribué et hautement tolérant aux pannes pour les données non structurées (fichiers, images). Il est basé sur une API RESTful HTTP.
  • Cinder (Stockage bloc) : Fournit des volumes de stockage bloc persistants aux instances en cours d'exécution, similaires à un disque dur virtuel.
  • Keystone (Identité) : Le service central d'authentification et d'autorisation. Il gère les utilisateurs, les projets et fournit un catalogue des points de terminaison (endpoints) de tous les services.
  • Glance (Image) : Permet de découvrir, enregistrer et récupérer des images disque de machines virtuelles, utilisées par Nova lors du provisionnement d'instances.

🏗️ Architecture et déploiement

OpenStack est conçu pour être massivement scalable horizontalement. Pour une installation de base, une architecture minimale typique comprend : * Un nœud Contrôleur : Héberge les services de gestion (Keystone, Glance, le management de Nova et Neutron, Horizon) et les services transversaux comme la base de données SQL et la file de messages. * Un ou plusieurs nœuds de Calcul : Exécutent les hyperviseurs (comme KVM) et font tourner les instances de machines virtuelles.

Dans un environnement de production, les services sont généralement répartis sur plusieurs nœuds pour la performance et la haute disponibilité, et gérés avec des outils d'automatisation comme Ansible, Puppet ou Chef.

💡 À savoir

OpenStack a été initialement lancé par Rackspace et la NASA. Il est distribué sous licence Apache 2.0 et est soutenu par une large communauté ainsi que par de nombreuses entreprises comme Red Hat, Canonical, SUSE ou encore OVHcloud.

Si tu as des questions sur un service en particulier ou sur un cas d'usage, n'hésite pas à me demander.