OpenStack est l'un des systèmes d'exploitation cloud à la croissance la plus rapide. Cependant, le mot est extrêmement confus et beaucoup de gens ne comprennent pas la vraie idée.

Dans cet article, nous essayons de disséquer la technologie derrière OpenStack et comment elle a vu le jour. Mais avant de plonger profondément dans OpenStack, nous devons comprendre en profondeur certains aspects de la technologie derrière OpenStack appelée Virtualisation.

Source de l'image: pixabay.com

Qu'est-ce que la virtualisation?

La virtualisation est une technologie qui nous permet de créer des instances virtuelles d'homologues du monde réel. Par exemple, une vraie machine physique serait créée en machines virtuelles. Les machines virtuelles ne sont qu'une implémentation virtuelle de vos vraies machines.

Une analogie peut être établie avec les émulateurs. Les machines virtuelles agissent plus du même genre, juste au lieu d'émuler des jeux, elles émulent une machine entière.

La technologie qui agit derrière la virtualisation et permet la création d'instances virtuelles est appelée hyperviseur. Désormais, toutes les machines virtuelles s'exécutent sur une machine physique.

Les machines virtuelles en elles-mêmes peuvent être de n'importe quel type de machine avec n'importe quelle configuration donnée, cependant, elles doivent être inférieures à celle de la machine sur laquelle elles apparaissent. Ce que fait l'hyperviseur, c'est qu'il comble le fossé entre le noyau de votre machine physique et le noyau de la machine virtuelle.

Il capture les appels système, convertit l'opcode du langage au niveau de la machine, le traite, puis le transforme en l'opcode qui sera ensuite compris par la machine virtuelle.

La machine sur laquelle une machine virtuelle est «générée» ou créée est appelée machine hôte. La machine virtuelle qui est générée ou créée par l'hyperviseur sur la machine hôte est appelée machine invitée.

De même, le système d'exploitation qui s'exécute sur la machine hôte est appelé système d'exploitation hôte et le système d'exploitation qui s'exécute sur la machine invitée est appelé système d'exploitation invité.

La machine hôte et les systèmes d'exploitation hôtes sont toujours beaucoup plus puissants que la machine hôte et les systèmes d'exploitation invités. En effet, le matériel réel qui fournit la puissance de traitement réside uniquement sur la machine hôte.

L'hyperviseur est également installé sur la machine hôte où il effectue la plupart de ses opérations, en utilisant la puissance du système d'exploitation hôte lui-même. La machine virtuelle utilise l'hyperviseur pour accéder à une partie du matériel de la machine hôte réelle.

C'est le rôle de l'hyperviseur de fournir à la machine virtuelle le matériel virtuel requis. Les machines virtuelles générées par l'hyperviseur n'ont généralement aucune idée qu'elles sont virtuelles.

Le matériel requis est fourni lors de la création de la machine virtuelle. Une fois engendrée, dans un vrai réseau, la machine virtuelle serait traitée comme un nœud unique.

Types d'hyperviseurs

Les hyperviseurs sont principalement divisés en deux types:

Type 1: hyperviseur natif ou métal nu:

Ces hyperviseurs fonctionnent directement sur le matériel de l'hôte et ont une intégration étroite avec le noyau de l'hôte. Ils gèrent directement les systèmes d'exploitation invités et les machines virtuelles générées apparaissent comme un processus. Ils sont également appelés hyperviseurs de métal nu. Les exemples incluent Citrix, XenServer et VMW sont ESX / ESXi.

Type 2: hyperviseurs hébergés:

Ces hyperviseurs s'exécutent en tant que programme généralement installé dans les systèmes d'exploitation hôtes. Ils génèrent une machine virtuelle et les soustraient du système d'exploitation hôte. Une analogie peut être établie avec les émulateurs de jeux. Les exemples incluent QEMU, VirtualBox et VMWare Workstation.

Il existe également un troisième type d'hyperviseur hybride comme la machine virtuelle basée sur le noyau (KVM) qui, bien que exécuté comme un programme typique, mais en cours d'exécution, s'intègre étroitement au noyau et, par conséquent, au matériel de la machine hôte.

KVM est peut-être l'hyperviseur open source le plus célèbre, et pour OpenStack, KVM est largement utilisé. Tous ces hyperviseurs fonctionnent en créant quelque chose appelé images.

Ces images sont une copie de réplique d'un système d'exploitation installé ou d'un système d'exploitation personnalisé avec des exigences de noyau spéciales. Plus tard, lorsque l'utilisateur utilise l'image, il modifie l'image en fonction des données stockées par le client.

Cet espace de stockage est à nouveau géré par l'hyperviseur, qui voit que les données du client sont préservées et sont présentes exactement dans le même état qu'avant le départ de l'utilisateur.

La virtualisation était nécessaire pour permettre une utilisation efficace du matériel. En particulier pour les opérateurs de centres de données cloud, la virtualisation était une aubaine. À l'aide de différents types d'hyperviseurs, les fournisseurs de cloud ont rapidement utilisé la virtualisation pour générer des machines virtuelles, des commutateurs virtuels, des routeurs virtuels et d'autres instances virtuelles de ce type.

Ils les ont en outre étroitement intégrés pour créer tout type de réseau ou de machine selon les besoins des clients. En utilisant la virtualisation, un opérateur de centre de données pourrait établir plusieurs machines au lieu d'une seule.

Et comme le cloud consiste à louer votre puissance de calcul, le modèle de revenus a considérablement augmenté en louant plusieurs machines virtuelles au lieu d'une seule machine physique.

Il a également augmenté la réutilisabilité, car la machine virtuelle qui n'est pas utilisée pourrait être louée à d'autres clients. La virtualisation dominait donc et changeait les règles du centre de données.

Au lieu d'acheter un matériel entier à un coût substantiel, les utilisateurs professionnels empruntaient des instances virtualisées du matériel, réduisant ainsi le coût de leur infrastructure informatique.

La virtualisation faisait donc tous les sauts, mais les opérateurs de datacenters étaient confrontés à un gros problème qui a interrompu leur progression de manière significative et a même réduit leurs revenus au point de subir des pertes.

Le gros problème que les opérateurs de datacenters ne pouvaient pas visualiser était la gestion! À mesure que la virtualisation évoluait et fournissait des instances virtualisées de presque tous les matériels possibles, la difficulté de gérer ces multitudes de matériel virtuel est apparue.

Imaginez en tant que chef de votre entreprise, vous voudriez 10 machines différentes à différents endroits à différents fuseaux horaires. Vous souhaitez que chacun d'eux ait des exigences matérielles et logicielles distinctes, et souhaitez également suivre la quantité de données qui y circulent.

En tant qu'opérateur de centre de données, vous respectez les demandes des clients et créez ces 10 machines virtuelles. Cependant, imaginez qu'en créant ces machines virtuelles, vous continuez à recevoir de nouvelles demandes pour plus de machines virtuelles, chacune avec des exigences encore plus complexes.

Comment géreriez-vous autant de machines virtuelles, chacune avec son propre ensemble complexe d'exigences et de paramètres? En plus de cela, vous devrez facturer avec précision chacune des machines virtuelles louées. Supposons que le client ait des exigences de facturation différentes.

Pour une machine utilisée comme serveur, la facturation dépend de la quantité de données reçues par la machine. Pour une autre machine, qui agit en tant que client, la facturation serait effectuée sur la durée pendant laquelle la machine cliente virtuelle est allumée.

Et ces exigences s'appliquent à une seule personne. En tant qu'opérateur de centre de données, il faut éventuellement exploiter des milliers et des milliers de matériel virtuel, chacun avec ses propres exigences en matière de réseau, de matériel et de logiciel.

Une interface de gestion appropriée était indispensable pour placer l'organisation dans le désordre qui devenait un centre de données virtualisé. Au lieu d'utiliser largement les lignes de commande et les scripts, un «système d'exploitation cloud» bien conçu était nécessaire pour assurer une maintenance appropriée du centre de données. Et c'est là qu'OpenStack entre en scène.

Cours recommandés

  • Cours en ligne sur AJAX
  • Pack de formation professionnelle Quick Test
  • Cours en ligne sur ExtJS
  • Pack de formation CISSP

Qu'est-ce qu'OpenStack?

Comme mentionné au début, OpenStack est essentiellement un système d'exploitation cloud. Par système d'exploitation, nous entendons une plate-forme logicielle gratuite et open source pour le cloud computing. Il a commencé en 2010 comme un projet conjoint de Rackspace Hosting et de la NASA.

Initialement, il a été lancé pour résoudre ce problème particulier du centre de données, qui était de savoir comment gérer de nombreuses machines virtuelles. De là, il est rapidement devenu une communauté à part entière avec un engagement technologique et le soutien de certaines des marques les plus célèbres dans les technologies de l'information telles que Oracle, VMWare, Yahoo Inc. etc.

OpenStack est actuellement soutenu par la fondation OpenStack, une entité à but non lucratif créée en 2012. La communauté OpenStack, toujours florissante, a réussi à publier une meilleure version de son logiciel OpenStack tous les six mois dans un cycle de publication basé sur le temps avec des étapes de développement claires dans chaque de leurs sorties.

Chaque version a ajouté des mœurs, passant d'un simple logiciel de gestion de centre de données à une plate-forme logicielle cloud sophistiquée.

Il a fourni une interface pour gérer presque tous les aspects d'une machine virtuelle, de la création de machines virtuelles à la demande en un seul clic à la collecte de données à partir du réseau, OpenStack s'est largement étendu.

Chaque année, tous les deux ans, la communauté se réunit pour planifier les nouvelles fonctionnalités et le support d'OpenStack Design Summit, où les plans de conception de la vaste communauté OpenStack sont examinés et assemblés.

OpenStack permet aux utilisateurs d'assembler et de déployer efficacement des machines virtuelles. Il fournit quelque chose appelé «interface utilisateur graphique» pour accéder à presque toutes les fonctions requises par l'utilisateur final.

Pour revenir à notre exemple précédent, vous voudriez 10 machines, chacune avec son propre ensemble d'exigences. Avec une interface de ligne de commande antérieure, il aurait été très difficile de tout gérer par vous-même.

Avec OpenStack, il vous suffit de cliquer sur quelques boutons et de configurer votre machine virtuelle en conséquence. Supposez donc que si vous voulez un réseau étendu bien construit, vous pouvez gérer et voir votre réseau informatique dans des graphiques et des statistiques en temps réel.

Si vous souhaitez des fonctionnalités avancées telles que l'analyse de données et la prise en charge de cluster HADOOP, vous pouvez même faciliter cela facilement dans votre machine virtuelle. D'autres fonctionnalités standard telles que le stockage, le processeur, la mémoire et l'utilisation du cœur peuvent également être configurées très facilement dans l'interface utilisateur graphique présentée par OpenStack.

Le support de facturation en temps réel est également fourni avec OpenStack, à l'aide duquel vous pouvez suivre les statistiques de chaque machine virtuelle générée à l'aide du logiciel. Il comprend des statistiques en temps réel telles que l'utilisation de la mémoire, l'utilisation du disque, l'utilisation du noyau, etc.

De plus, étant donné qu'OpenStack est écrit principalement en langage Python, il bénéficie également des scripts. Ainsi, l'automatisation de la gestion de milliers de machines virtuelles est également prise en charge. Vous pouvez écrire un script pour dire, planifier l'automatisation de la machine virtuelle quand elle doit être activée et quand elle doit être désactivée.

En automatisant une telle manière, vous pouvez créer une plate-forme de cloud computing très bien conçue et complète. Et comme OpenStack est entièrement gratuit, n'importe qui peut utiliser le code source pour développer et ajouter ses propres fonctionnalités, entièrement sur mesure pour répondre à ses besoins organisationnels ou personnels. HP l'a fait en publiant leurs propres versions de cloud appelées HP Helion.

OpenStack, sous la terminologie du cloud, tomberait dans la catégorie de l'infrastructure en tant que service (IaaS), ce qui signifie que son principal est utilisé pour aider à construire l'infrastructure sur laquelle les machines virtuelles seraient déployées.

Il facilite essentiellement le frai des machines virtuelles. C'est sur ces machines virtuelles ou «plateformes» que les clients loueraient en fonction de leurs besoins.

Composants de base d'OpenStack

OpenStack s'est diversifié pour avoir de nombreux composants différents, comme étant open source, plusieurs composants pourraient être ajoutés et intégrés au logiciel.

Cependant, au cœur du logiciel, se trouvent seulement trois composants de base openstack:

  1. Composant de stockage:

Le composant de stockage OpenStack se compose de Cinder et Swift. L'objectif principal du composant est de stocker les données des machines virtuelles générées et opérationnelles.

  1. Composante infrastructure:

Autrement appelé Nova Compute, ce composant est responsable de la gestion de tous les aspects de la gestion et de la création d'une machine virtuelle. Cela comprend l'allocation du matériel requis, l'interaction avec les hyperviseurs et le rôle de nœud central dans l'interaction avec tous les autres composants requis pour générer des machines virtuelles.

  1. Services d'imagerie:

Également appelé Glance, il fournit des services de recherche et de récupération d'images. Ce qu'il fait essentiellement, c'est qu'il fournit un support pour stocker et gérer différentes répliques ou images de machines virtuelles. Ainsi, en fonction des besoins, tout type d'image peut être récupéré pour le client.

Conclusion

OpenStack, depuis ses débuts modestes en tant que logiciel open source pour l'administration du cloud, est rapidement devenu une grande communauté de passionnés du cloud qui ont fait en sorte qu'OpenStack se diversifie dans différents domaines du cloud.

Au cœur d'OpenStack se trouve la virtualisation et les hyperviseurs, qui garantissent qu'OpenStack en tant que plateforme de gestion peut utiliser la puissance des machines virtuelles.

Généralement déployé en tant que système d'exploitation pour l'infrastructure en tant que service (IaaS), il offre une option plus simple pour gérer des milliers d'instances virtualisées.

L'avenir d'OpenStack s'annonce prometteur, maintenant avec les mégadonnées et d'autres aspects de la technologie cloud les plus récents intégrés de manière transparente avec lui. Et avec une communauté toujours croissante, Open Stack est en passe de croître à un rythme significatif.

Articles recommandés

Voici quelques articles qui vous aideront à obtenir plus de détails sur Open Stack vs Virtualization, alors suivez simplement le lien.

  1. Meilleure chose à apprendre Azure Paas vs Iaas
  2. Vous voulez savoir sur les questions d'entrevue AJAX?
  3. Guide complet de la sécurité Android et Open Source (OS)
  4. Mythes et idées fausses sur les logiciels libres
  5. Quelle technologie est la meilleure? Cloud Computing ou Virtualisation
  6. Top 10 des comparaisons utiles entre le cloud computing et la virtualisation