OpenStack est une solution à code source libre d’infrastructure service (Infrastructure as a Service – IaaS en anglais), sous licence Apache et gérée par une fondation, qui s’impose aujourd’hui comme une référence.
Mais quand on a dit cela, à la fois on a tout dit et rien dit. Je vais essayer de vous fournir des éléments de compréhension sur cette technologie.
Qu’est-ce que l’infrastructure-service?
L’infrastructure service consiste à piloter le matériel serveur, les systèmes d’exploitation, les couches de virtualisation, le stockage, les réseaux dans une logique de service à la demande. Concrètement, OpenStack sert donc à déployer des machines virtuelles en optimisant les ressources matérielles.
Cela paraît simple, mais de nombreux enjeux sont soulevés tels que la gestion du réseau, la réplication des machines, la gestion des dépendance et l’intelligence globale pour rendre tout cela fluide, avec un impact nul vis-à-vis de l’utilisateur final.
Un clone d’Amazon?
À l’initiative du projet OpenStack qui a été lancé en 2010, la NASA et Rackspace, l’un des principaux hébergeurs aux États-Unis, ont cherché à proposer une alternative à l’offre du fournisseur Amazon. Au-delà de la technologie, il s’agit ici d’un paradigme : le futur de l’infrastructure infonuagique passe par la capacité à répliquer et supprimer rapidement des machines virtuelles afin de consommer les ressources comme de l’énergie. C’est la notion d’infonuagique variable ou à pics d’activité. Cette approche est particulièrement pertinente pour les hébergeurs et les grandes infrastructures, mais elle répond aussi à la nécessaire adaptabilité des applicatifs web qui doivent supporter de grands pics d’activité.
Le choix d’un modèle ouvert s’est imposé rapidement pour essayer de rattraper le retard technologique, en attirant suffisamment d’acteurs industriels pour partager les efforts de développement. Pour appuyer cette logique, la technologie Linux paraissait une évidence.
La licence Apache et la Fondation OpenStack
Face à la concurrence avec d’autres projets, les premiers contributeurs ont décidé de travailler sur deux éléments essentiels dans la réussite d’un projet libre, soit la licence Apache et son corollaire, soit la gouvernance via une fondation :
- La licence Apache
Les caractéristiques majeures de la licence Apache sont d’autoriser la modification et la distribution du code sous toute forme (libre ou propriétaire, gratuit ou commercial) et d’obliger le maintien du droit d’auteur lors de toute modification (ainsi que le texte de la licence elle-même).
Cette licence permet ainsi de proposer une version privée du code d’OpenStack, de pouvoir connecter celui-ci à tous les logiciels et même de l’inclure au sein d’une solution tierce. Cette grande liberté explique, entre autre, le succès du projet.
- La Fondation
Le projet a une ambition assumée, comme l’a précisé Jonathan Bryce, directeur général de la Fondation OpenStack, lors d’une conférence à Portland, aux États-Unis, en 2013 : « OpenStack doit devenir le standard en matière d’infonuagique et devenir le (GNU)Linux de l’infonuagique ».
Pour mener à bien cette ambition, une fondation a été créée en septembre 2012 avec une gouvernance organisée autour de trois instances : le comité technique, le conseil des directeurs et le comité des utilisateurs. Ces instances sont soit élues directement par leurs pairs soit en fonction de leurs contributions, soit du niveau de soutien financier à l’association ou de l’implication. Bien entendu, plus l’entreprise contribue et supporte la fondation, plus elle a de chances d’être dans les deux premiers comités, le troisième étant plus indépendant.
Pourquoi OpenStack s’impose-t-elle?
L’infonuagique a besoin de standards et de rendre les solutions interopérables pour faciliter la migration entre les différentes technologies, mais surtout pour permettre aux solutions existantes de communiquer entre elles.
Dans le passé, des standards se sont imposés grâce à la prédominance de certaines entreprises ou d’une volonté collective de les créer. Dans le cas d’OpenStack, les deux éléments sont imbriqués. Des entreprises ont tenté d’imposer des standards, par exemple Amazon, mais cette dernière n’a été que peu suivie, logiquement, par ses concurrents. Dans OpenStack, des entreprises aux enjeux parfois contradictoires sont obligées de collaborer. Elles s’entendent ainsi sur un certain nombre de standards. Or, l’enthousiasme autour d’OpenStack tend à imposer ces choix à l’ensemble du marché.
Aujourd’hui, des entreprises qui développent des technologies concurrentes à OpenStack travaillent à rendre compatible leurs solutions à celle-ci. Ainsi, il n’est pas étonnant de voir VMware ou IBM être dans les contributeurs les plus importants du projet, ni qu’il soit possible de déployer des environnements virtuels Microsoft avec OpenStack.
Et mon projet alors?
OpenStack est donc un projet qui semble complexe au premier abord – comme a pu sembler complexe le noyau Linux – car il rend transparent l’architecture logicielle nécessaire à l’infrastructure service.
Cependant, la solution permet une économie réelle et offre une flexibilité et une indépendance qui sont sans égal par rapport aux solutions concurrentes. Soutenue par de puissants industriels, tels que Red Hat ou HP, OpenStack n’est pas une alternative libre, mais une solution compétitive tant sur le plan technologique que financier.
Je vous proposerai bientôt un nouvel billet sur l’architecture technique d’OpenStack, organisée autour de composants, et des impacts de ces composants sur vos projets d’infonuagique.