Initiation à OpenStack

Par :
Tim Serewicz

mar, 07/06/2016 - 15:34

OpenStack – De quoi s’agit-il ?

OpenStack est un ensemble de services, souvent désigné comme « Le Cloud », qui permet de créer une infrastructure informatique reposant sur du matériel standard et répartie sur plusieurs nœuds. Cette implémentation du cloud computing offre une large base de développeurs ainsi que le ralliement d’entreprises technologiques majeures. Pour être précis, l’accès à une application en réseau ne se fait pas nécessairement via le cloud ; nous utilisons le cloud pour virtualiser les principaux composants d’un centre de données. L’implémentation d’OpenStack nous permet de gagner en flexibilité, de réduire les coûts et de gérer un département d’informatique qui nous maintient en phase avec l’évolution du monde des affaires.

Bien sûr, chercher à tirer parti de l’informatique cloud implique un certain coût ainsi que plusieurs défis. Le retour sur investissement fait toujours partie d’une stratégie bien réfléchie. Plus les demandes relatives à l’informatique sont dynamiques, puis il est probable qu’elles puissent tirer des bénéfices d’une virtualisation du centre de données. Le déploiement rapide, le redéploiement et la modification peuvent faire du cloud computing un investissement rentable pour les petites et grandes organisations tout au long du cycle de vie d’un projet.

Infrastructure as a Service (IaaS)

Fournir aux centres de données des ressources sous forme de service permet une certaine flexibilité ainsi qu’une personnalisation. Les configurations traditionnelles des centres de données se font complexes avec le temps, lorsque les systèmes dédiés sont mis à jour, les configurations de réseau changent et les fournisseurs modifient leur matrice de support. Pour rester au courant des dernières modifications, les responsables du secteur de l’informatique doivent dédier énormément de temps à la compréhension de la configuration actuelle afin de savoir comment la modifier sans occasionner de problèmes supplémentaires. Tout ceci nécessite du temps et des efforts, qui seraient mieux investis dans de meilleures pratiques ainsi que dans des décisions architecturales. Grâce à OpenStack, nous pouvons en déployer plusieurs à distance en une seule fois. La configuration du stockage, du réseau et d’autres ressources sont gérées et affichées depuis une perspective, permettant d’allouer moins de temps à la compréhension de la composition physique de l’environnement.

Le déploiement de moteurs de calcul (Nova), du Software Defined Networking (Neutron), du stockage distribué (Ceph) ainsi que des autres services OpenStack permettent à l’infrastructure de n’avoir à être connectée physiquement qu’une fois, pour ensuite être configurée et reconfigurée au niveau de la couche logicielle. Fini les heures passées à parcourir les couches pour comprendre la manière dont le réseau a été configuré auparavant, et éventuellement modifié sans aucun avis préalable ou documentation pertinente. Lorsqu’un nouvel équipement arrive, il peut être ajouté de manière dynamique à l’environnement, devenant ainsi disponible à la fois rapidement et facilement ; alors que le matériel existant peut également être remplacé via une interaction minimale, grâce aux couches de virtualisation.

Virtualisation

La séparation des couches intermédiaires grâce à un logiciel facile à configurer, ou virtualisation, fait partie intégrante de l’utilisation du Cloud. La virtualisation permet le fonctionnement de plusieurs systèmes d’exploitation dans un seul dispositif matériel. Le même concept s’applique concernant le réseau et le stockage. Chaque composant majeur s’un ordinateur est référencé via un cadre de configurations et d’API complexe, fournissant la flexibilité suffisante pour modifier les couches individuelles sans avoir à reconfigurer l’intégralité de l’environnement ou encore déplacer physiquement le matériel ou les câbles.

La virtualisation entraîne des frais. Les logiciels et le matériel doivent être développés de manière à être adaptés à la virtualisation et être capables de la réaliser. L’organisation en couches affecte les performances puisqu’elle nécessite plus de ressources pour fournir le même niveau de service à l’utilisateur final. Au lieu d’un équipement spécialisé, il est possible de déployer du matériel plus compact et ainsi exploiter l’évolutivité horizontale pour améliorer la rentabilité du déploiement.

Des ressources informatiques allant au rythme des affaires

Le rythme des affaires ne ralentit pas, les départements d’informatique recevant sans cesse des demandes diverses et variées. Les environnements traditionnels ont une procédure de déploiement longue, qui inclut des systèmes d’achat particuliers, leur intégration dans l’environnement physique, leur configuration ainsi que leur maintenance et entretien continus. Tenter de combiner des charges de travail peut s’avérer difficile, occasionnant des systèmes à faible utilisation. L’accès virtualisé à des infrastructures dynamiques permet un développement et une personnalisation faciles, et il ne requiert pas la nécessité d’un fournisseur particulier afin de maintenir ou d’assurer la croissance de l’environnement. Le retrait du verrou des fournisseurs mène souvent à un meilleur service et des frais moins élevés comme valeur ajoutée.

Évoluer pour satisfaire la demande

Les nécessités technologiques varient avec le temps, elles ont souvent un plus grand besoin en ressources que ce qui était prévu au cours de la phase d’approvisionnement, qui dure en général des mois voire des années avant le début du projet. L’utilisation de services distribués et de multiples agents d’ordonnancement indépendants dans les cas de logiciels cloud permet une adjonction de ressources dynamique. Une petite start-up disposant de vingt nœuds peut littéralement croître au rythme auquel elle achète son équipement si elle a basé ses débuts sur un déploiement cloud. L’utilisation de clouds publics permet de rendre les ressources disponibles puisqu’elle mobilise beaucoup moins de frais initiaux. Si la nouvelle entreprise ne fonctionne pas, les ressources pourront être libérée sans coûts, ni nécessité de maintenance ou stockage supplémentaires. Les entreprises de toutes tailles sont également en compétition en ce qui concerne la main d’œuvre qualifiée. Les implémentations cloud retirent une grande partie de la complexité des opérations courantes et elles nécessitent le même ensemble de compétences, indépendamment du nombre de nœuds concernés. Les nombreux fournisseurs développant des applications cloud sont à l’origine du nombre élevé de travailleurs qualifiés, ce qui permet aux entreprises d’en choisir les meilleurs.

Clouds public-privé

La planification des capacités et la reprise suite aux sinistres ont de quoi empêcher les responsables de la gestion de fermer l’œil. Les déploiements traditionnels doivent être configurés selon une utilisation maximale attendue, pouvant se produire quelques jours par mois seulement ou quelques semaines par an. Un tuyau d’eau cassé pourrait signifier la perte des systèmes de production, paralysant ainsi les activités commerciales. Face aux imprévus, un cloud privé peut être configuré de manière à utiliser les ressources d’un cloud public lorsque nécessaire. Si on observe un pic de la demande de la part des clients, de nouvelles ressources peuvent être ajoutées en quelques instants seulement. Les pics d’utilisation planifiés tels que la fin des trimestres financiers ou le rush des vacances pourront être préparés afin que les ressources ne soient allouées que lorsqu’un besoin existe réellement. En cas de sinistre, les applications commerciales peuvent être mises à niveau depuis le monde entier grâce aux ressources cloud publiques.

OpenStack pourrait ne pas répondre à tous les besoins d’un département d’informatique dynamique, mais il peut offrir la flexibilité et l’évolutivité nécessaires tout en minimisant les exigences du personnel à un coût standard.

Conclusion

OpenStack est devenu un choix essentiel dans le cadre de l’installation, la configuration et la gestion de centres de données. Sa grande base de développeurs et d’utilisateurs et son solide support aux fournisseurs en ont fait un composant essentiel des centres de données de toute taille.

A propos de l'auteur

Tim Serewicz
Responsable Instructeur/Développeur de programmes, Fondation Linux