OpenStack en bref

Qu’est ce qu’OpenStack ?

OpenStack est un logiciel modulaire open source permettant de créer un cloud computing utilisable par des entreprises.

Le cloud computing désigne le fait de livrer des ressources et des services à la demande d’un client. Les données sont stockées et disponibles sur Internet et non plus sur un disque dur local et les administrateurs du cloud sont chargés de la maintenance des serveurs dispensant ainsi le client de cette tâche.

On dit du cloud qu’il est élastique, en effet, si le client a besoin de ressources supplémentaires (CPU, RAM ou espace de stockage), il lui suffira de les commander pour les avoir. Le streaming de vidéo, le stockage des données ainsi que l’utilisation de services en ligne (Gmail, Dropbox…) sont des exemples qui illustrent le type de services que le cloud peut fournir.

Il existe différents types de cloud : le cloud public, accessible à tous, le cloud privé, utilisé en interne par les employés d’une entreprise, et finalement le cloud hybride qui alloue des ressources sur un cloud public et envoie des données vers le cloud privé.

Le cloud propose trois niveaux de services différents :

SaaS (Software as a service): correspond à l’utilisation de logiciels en ligne disponibles dans le cloud par les clients. Par exemple : Dropbox, Google Apps, CRM, etc …

PaaS (Platform as a service): fournit des frameworks aux développeurs pour qu’ils puissent développer et implémenter des logiciels à mettre dans le cloud. Par exemple : Microsoft Azure.

IaaS (Infrastructure as a service) : la plateforme n’a pas encore été créée. Le cloud est actuellement construit par des ingénieurs architectes et réseaux. Lorsqu’il sera opérationnel, il permettra de provisionner des machines virtuelles aux clients. Le cloud de type IaaS est construit par le logiciel modulaire open source qu’est OpenStack.

Initié par Rackspace et la NASA en Juillet 2010, le projet OpenStack avait pour objectif de « permettre à toute entreprise de créer un cloud en se basant sur des matériels standards ».

Tous les six mois, une nouvelle version de ce logiciel est disponible ainsi qu’une conférence de cinq jours portant sur les modifications effectuées et ce qu’il y a à venir. OpenStack est modulaire et repose sur des projets core tels que : Keystone, Nova, Cinder, Neutron, Glance, Swift et Horizon. Il existe également d’autres projets comme : Ceilometer, Magnum, Ironic, Trove, Freezer, Manila, etc … (https://www.openstack.org/software/project-navigator/openstack-components#openstack-services).

Un cloud OpenStack est constitué de projets core (Swift n’est pas toujours utilisé), d’autres projets peuvent être rajoutés selon les besoins des clients. Rackspace,

IBM, Canonical, RedHat et Huawei sont des entreprises qui utilisent un cloud OpenStack.

Pour rentrer dans la partie plus technique d’OpenStack

Nous allons parler de Cinder qui est un service de stockage. Celui-ci permet d’écrire et de récupérer les data. Il est basé sur différents systèmes de stockage intégrés à Cinder via des drivers. Le choix du système de stockage dépend des besoins des clients (compression, encryption, deduplication, snapshot, backup …) et l’utilisation de différents systèmes permet d’éviter le vendor lock in.

Neutron est le service qui gère et configure le réseau dans OpenStack et, au même titre que Cinder, Neutron permet d’utiliser différents équipements réseaux provenant de différentes entreprises via des drivers.

Comment utilise-t-on OpenStack ?

Ce logiciel provisionne des machines virtuelles appelées VM (virtual machines) qui sont créées et hébergées sur des hyperviseurs. OpenStack peut fournir différentes VM telles que Windows, RedHat, Ubuntu, etc … Attention, il ne faut pas confondre une VM et un container. En effet, de par leurs architectures, les deux sont différents. Une VM possède ses propres OS, librairies et logiciels alors que tous les containers reposent sur le même OS mais avec des librairies et logiciels indépendants.

Source : https://blog.netapp.com/blogs/containers-vs-vms/

Alors comment sont créées les VMs via OpenStack ?

C’est simple : un client envoie une requête de création de VM avec des spécifications (RAM, nombre de CPUs, disque éphémère ou permanent). Celle-ci est analysée par les différents projets (Keystone, Nova, Neutron, Glance et Cinder) puis le client reçoit les informations de la VM et peut se connecter à celle-ci.

Concernant sa répartition sur le marché, OpenStack est de plus en plus utilisé pour créer des cloud publics et privés par les entreprises. De nombreux projets sont créés et obtiennent des contributions de la part des développeurs.

OpenStack est devenu une alternative à des clouds déployés par d’autres entreprises telles que VmWare et Windows.

 

On Recrute !

Restons en contact