OpenShift et OpenStack per­met­tent de mettre en place des pla­te­formes Cloud hautement dis­po­nibles et évo­lu­tives. Les systèmes re­couvrent la gamme complète du pro­vi­sion­ne­ment du matériel vir­tua­lisé au dé­ve­lop­pe­ment et à l’ex­ploi­ta­tion d’ap­pli­ca­tions con­te­neu­ri­sées. Leur uti­li­sa­tion pour réaliser des stra­té­gies de Cloud hybride est par­ti­cu­liè­re­ment at­trac­tive. OpenShift et OpenStack sont par­ti­cu­liè­re­ment prisés des grandes or­ga­ni­sa­tions opérant à l’échelle mondiale.

Vue d’ensemble d’OpenShift vs OpenStack

Du point de vue his­to­rique, OpenStack a vu le jour un peu avant OpenShift. Le dé­ve­lop­pe­ment des deux projets est également un exemple de tran­si­tion des machines vir­tuelles vers les con­te­neurs d’ap­pli­ca­tions. La vir­tua­li­sa­tion des con­te­neurs s’est imposée comme la tech­no­lo­gie de vir­tua­li­sa­tion dominante au cours de la dernière décennie.

Quelles sont les dé­no­mi­na­teurs communs et les dif­fé­rences entre OpenShift et OpenStack ?

Au départ, OpenShift et OpenStack sont des projets open source qui ont vu le jour en 2010 et 2011. Les deux sont utilisés pour mettre en place des systèmes évolutifs et hautement dis­po­nibles dans des en­vi­ron­ne­ments de Cloud hybride. Ils sont mis en œuvre par de grandes or­ga­ni­sa­tions opérant à l’échelle mondiale et peuvent être utilisés sur une large gamme d’in­fras­truc­tures in­for­ma­tiques sous-jacentes.

On peut envisager à la fois OpenShift et OpenStack comme une espèce de « système d’ex­ploi­ta­tion sur le Cloud ». Mais il convient toutefois d’examiner chacun d’eux selon un niveau de con­si­dé­ra­tion différent. OpenShift est utilisé pour le dé­ve­lop­pe­ment et l’ex­ploi­ta­tion d’ap­pli­ca­tions con­te­neu­ri­sées. Les uti­li­sa­teurs peuvent exercer le pro­vi­sion­ne­ment, l’ex­ploi­ta­tion et la sur­veil­lance des ap­pli­ca­tions et des services de manière autonome. L’accent est mis ici sur des flux de travail optimisés de dé­ve­lop­pe­ment et DevOps.

OpenStack se greffe sur un niveau d’abs­trac­tion plus profond. La pla­te­forme permet de mettre en place une in­fras­truc­ture de Cloud vir­tua­li­sée sur la base d’un matériel distribué. Les machines vir­tuelles sont pro­vi­sion­nées par des cœurs de CPU et de la mémoire vive, ainsi que des réseaux virtuels et du stockage de masse distribué. Con­for­mé­ment au modèle de libre-service, les uti­li­sa­teurs sol­li­ci­tent eux-mêmes les res­sources. Voyons comment le com­pa­ra­tif OpenShift vs OpenStack permet de mettre en évidence leurs dif­fé­rences :

Ca­rac­té­ris­tique OpenShift OpenStack
Éditeur Red Hat OpenInfra Foun­da­tion
Type de vir­tua­li­sa­tion Vir­tua­li­sa­tion des con­te­neurs Machines vir­tuelles ou matériel vir­tua­lisé
Tech­no­lo­gie de vir­tua­li­sa­tion K8s Hy­per­vi­seur tel que KVM, XEN, ESXi
Niveau de contrôle Distribué Cen­tra­lisé
Modèle de service Platform-as-a-Service (PaaS) In­fras­truc­ture-as-a-Service (IaaS)
Uti­li­sa­tion des res­sources du Cloud Utilise les res­sources du Cloud pour mettre en place la couche d’ap­pli­ca­tions Fournit des res­sources sur le Cloud sur la base du matériel vir­tua­lisé

Comment les fonctions OpenShift et OpenStack sont-elles utilisées ?

Avec OpenStack, une or­ga­ni­sa­tion peut mettre en place son propre en­vi­ron­ne­ment de Cloud suivant le modèle In­fras­truc­ture-as-a-Service (IaaS). Ceci crée un Cloud interne, tel qu’AWS et ses al­ter­na­tives. Le matériel distribué sur le plan géo­gra­phique est pro­vi­sionné en tant que res­sources du Cloud et mis à dis­po­si­tion via dif­fé­rentes in­ter­faces dans le système.

En revanche, OpenShift assure l’ad­mi­nis­tra­tion cen­tra­li­sée du dé­ve­lop­pe­ment et de l’ex­ploi­ta­tion des ap­pli­ca­tions. Le logiciel est basé sur Ku­ber­netes (K8s) et pilote les clusters K8s au-delà des fron­tières du Cloud. Con­for­mé­ment au modèle Platform-as-a-Service (PaaS), les fonctions du système sont gérées via une interface uti­li­sa­teur Web.

Malgré leur ap­pel­la­tion similaire, OpenShift et OpenStack ne sont pas des systèmes ap­pa­ren­tés. Ils peuvent être utilisés in­dé­pen­dam­ment l’un de l’autre. Il est toutefois possible d’utiliser les deux en com­bi­nai­son. OpenStack permet de mettre en place un Cloud privé dans le cadre d’une stratégie de Cloud hybride. OpenShift utilise les res­sources qu’il contient pour fournir et gérer des ap­pli­ca­tions et des services. Il est également possible de déployer des com­po­sants OpenStack sur des clusters K8s ou OpenShift.

Examinons ci-dessous les avantages et les in­con­vé­nients des deux tech­no­lo­gies en détail. Ce faisant, nous nous penchons également sur des scénarios d’uti­li­sa­tion par­ti­cu­liè­re­ment in­té­res­sants et concluons notre examen par une analyse com­pa­ra­tive.

OpenStack : la pla­te­forme de Cloud ouverte

OpenStack permet de disposer d’une pla­te­forme ouverte pour mettre en place des en­vi­ron­ne­ments de Cloud évolutifs. Le logiciel est un niveau d’abs­trac­tion qui repose sur une in­fras­truc­ture ma­té­rielle dé­cen­tra­li­sée. La fonc­tion­na­lité de base consiste à pro­vi­sion­ner et allouer les capacités de calcul, de réseau et de stockage de masse. Con­for­mé­ment au modèle In­fras­truc­ture-as-a-Service (IaaS), les uti­li­sa­teurs sol­li­ci­tent les res­sources dont ils ont besoin de manière autonome. Une interface Web est dis­po­nible en plus des API in­dis­pen­sables pour la gestion du système.

Au-delà du pro­vi­sion­ne­ment des res­sources, OpenStack inclut un certain nombre de fonc­tion­na­li­tés com­plé­men­taires. Il s’agit notamment de la gestion des identités des uti­li­sa­teurs, gestion des en­re­gis­tre­ments DNS, ainsi qu’un service d’image pour la gestion des images VM. En pratique, les dif­fé­rentes fonctions sont en­cap­su­lées comme des com­po­sants in­di­vi­duels. Il existe plus de trois douzaines de com­po­sants dans la version actuelle d’OpenStack ; ils ne sont gé­né­ra­le­ment pas tous mis en œuvre dans un projet. Nous vous proposons un bref aperçu des prin­ci­paux com­po­sants :

Com­po­sants OpenStack Fonc­tion­na­lité Des­crip­tion
Nova Service Compute Pro­vi­sion­ne­ment des cœurs de CPU et de la mémoire vir­tua­li­sés.
Swift Stockage d’objets Stockage d’objets de type S3 sur la base d’un stockage de masse vir­tua­lisé et redondant.
Glance Service d’image Gestion des images VM pour le fonc­tion­ne­ment de la pla­te­forme.
Horizon Tableau de bord Web Les uti­li­sa­teurs se con­nec­tent dans le tableau de bord et y gèrent les dif­fé­rents com­po­sants du système.
Keystone Service d’identité Mise à dis­po­si­tion de l’au­then­ti­fi­ca­tion multi-systèmes et basée sur API et de l’au­to­ri­sa­tion des uti­li­sa­teurs.
Cinder Stockage en bloc Mémoire de masse hautement dis­po­nible et tolérante aux pannes, qui fonc­tionne comme un disque dur Cloud évolutif.
Neutron Gestion du réseau Gestion de l’in­fras­truc­ture de réseau virtuel (VNI) du système.
Ironic Pro­vi­sion­ne­ment du « bare metal » Ad­mi­nis­tra­tion de l’in­fras­truc­ture bare metal ; englobe le cycle de vie complet des machines nues, y compris la capture, le pro­vi­sion­ne­ment, la gestion et le dé­clas­se­ment.
Trove Service de base de données Pro­vi­sion­ne­ment et gestion de bases de données sur le Cloud évo­lu­tives et fiables.
Magnum Or­ches­tra­tion de con­te­neurs Déployer des moteurs de con­te­neurs tels que K8s et al­ter­na­tives sur la base de machines vir­tuelles ou sur une in­fras­truc­ture en bare metal.

Quels sont les avantages d’OpenStack ?

En premier lieu, OpenStack ouvre aux or­ga­ni­sa­tions la pos­si­bi­lité de mettre en place leur propre in­fras­truc­ture de Cloud sur la base de leur tech­no­lo­gie opé­ra­tion­nelle. Ceci se traduit par des économies con­si­dé­rables, car il n’est pas né­ces­saire de partir de zéro. OpenStack est une suite de com­po­sants in­di­vi­duels qui sont con­fi­gu­rés selon les exigences. Il s’agit d’un logiciel open source libre d’uti­li­sa­tion par tous. La com­mu­nauté OpenStack encourage le dé­ve­lop­pe­ment continu et la do­cu­men­ta­tion de la pla­te­forme.

Quels sont les in­con­vé­nients d’OpenStack ?

L’ins­tal­la­tion d’OpenStack est vue comme un véritable défi à relever en raison de la com­plexité du logiciel. L’ensemble comprend une variété de com­po­sants in­di­vi­duels qui doivent être con­fi­gu­rés au cas par cas. La do­cu­men­ta­tion à laquelle contribue la com­mu­nauté est elle aussi parfois à la traîne par rapport aux dé­ve­lop­pe­ments réels. Ces deux in­con­vé­nients peuvent être con­tre­ba­lan­cés en faisant appel à des experts ou à travers une col­la­bo­ra­tion avec des par­te­naires tech­no­lo­giques, mais cela entraîne des coûts sup­plé­men­taires. Étant donné que OpenStack est utilisé presque ex­clu­si­ve­ment pour des projets de grande envergure, un budget approprié devrait être dis­po­nible dans la plupart des cas.

À quels types d’uti­li­sa­tion OpenStack est-il voué ?

OpenStack convient le mieux pour mettre en place sa propre in­fras­truc­ture de Cloud sur du matériel in­for­ma­tique dé­cen­tra­lisé. Le logiciel est par­ti­cu­liè­re­ment puissant dans le domaine des machines vir­tuelles (VM). On peut exploiter côte à côte des ap­pli­ca­tions basées sur des machines vir­tuelles et sur des con­te­neurs en com­bi­nai­son avec OpenShift ou des solutions de gestion K8s com­pa­rables. La vir­tua­li­sa­tion des con­te­neurs est désormais intégrée aux fonc­tion­na­li­tés de manière native avec le composant « Magnum ».

OpenShift : la puissante pla­te­forme d’ap­pli­ca­tions et de dé­ve­lop­pe­ment

OpenShift est utilisé pour mettre en place des en­vi­ron­ne­ments d’ap­pli­ca­tions et de dé­ve­lop­pe­ment dis­tri­bués et évolutifs selon le modèle Platform-as-a-Service (PaaS). Le logiciel met à dis­po­si­tion un en­vi­ron­ne­ment d’exécution complet dans lequel les con­te­neurs sont déployés, exécutés, gérés et or­ches­trés. Les outils intégrés sim­pli­fient les flux de travail modernes de dé­ve­lop­pe­ment et de dé­ploie­ment.

OpenShift utilise comme noyau sous-jacent une dis­tri­bu­tion Ku­ber­netes dédiée (K8s). Cette solution peut être déployée au-delà des fron­tières du Cloud et de l’in­fras­truc­ture, pour favoriser une ex­pé­rience uti­li­sa­teur cohérente. La fonc­tion­na­lité centrale de K8s est complétée par des fonc­tion­na­li­tés de sécurité et de sur­veil­lance et repose sur une gestion cen­tra­li­sée des po­li­tiques. Ceci apporte la garantie d’un haut niveau de qualité sur l’ensemble de l’or­ga­ni­sa­tion à travers son éco­sys­tème logiciel. Les opé­ra­teurs OpenShift sont ma­jo­ri­tai­re­ment utilisés pour la mise en œuvre :

Com­po­sants OpenShift Ex­pli­ca­tion
Serveur d’API OpenShift Le serveur d’API OpenShift vérifie et configure les res­sources OpenShift, telles que les projets, les routes et les modèles.
Ges­tion­naire de con­trô­leurs OpenShift Le ges­tion­naire de con­trô­leurs OpenShift surveille dans etcd les mo­di­fi­ca­tions apportées aux objets OpenShift, tels que les projets, les routes et les objets de con­trô­leur de modèle, et utilise l’API pour obtenir l’état souhaité.
Serveur d’API OpenShift OAuth Le serveur d’API OpenShift OAuth vérifie et configure les données pour l’au­then­ti­fi­ca­tion sur la pla­te­forme de con­te­neurs OpenShift. Cela inclut les uti­li­sa­teurs, les groupes et les jetons OAuth.
Serveur OpenShift OAuth Les uti­li­sa­teurs in­ter­ro­gent un jeton du serveur OpenShift OAuth pour s’au­then­ti­fier auprès de l’API.

Quels sont les avantages d’OpenShift ?

OpenShift bride la com­plexité opé­ra­tion­nelle associée à l’ad­mi­nis­tra­tion de clusters K8s autogérés. Ainsi, plusieurs clusters K8s peuvent être gérés de manière cen­tra­li­sée au-delà des fron­tières des in­fras­truc­tures de Cloud publiques et privées. Con­for­mé­ment à l’approche PAAS, les dé­ve­lop­peurs peuvent demander des res­sources de manière autonome pour leurs projets via une interface Web. Des outils et des flux de travail intégrés pour les notions de Con­ti­nuous In­te­gra­tion et de Con­ti­nuous Delivery (CI/CD) com­plè­tent la palette de fonctions, ce qui réduit con­si­dé­ra­ble­ment les délais de livraison.

D’une manière générale, OpenShift séduit par les dis­po­si­tifs de sécurité intégrés. Un registre de con­te­neurs spé­cia­le­ment sécurisé est proposé avec « Quay ». L’au­to­ri­sa­tion et l’au­then­ti­fi­ca­tion de bout en bout limitent l’accès des uti­li­sa­teurs aux dif­fé­rents secteurs du système. La pos­si­bi­lité d’héberger des clusters in­di­vi­duels dans dif­fé­rentes régions géo­gra­phiques permet d’assurer une meilleure con­for­mité en termes de pro­tec­tion et de sou­ve­rai­neté des données.

Quels sont les in­con­vé­nients d’OpenShift ?

OpenShift fonc­tionne uni­que­ment sur des systèmes d’ex­ploi­ta­tion spé­ci­fiques de Red Hat, tels que « Red Hat En­ter­prise Linux CoreOS » (RHCOS) et « Red Hat En­ter­prise Linux » (RHEL). L’ins­tal­la­tion est con­si­dé­rée comme ex­trê­me­ment fas­ti­dieuse. Une ins­tal­la­tion pour des projets d’envergure peut ainsi s’étaler sur plusieurs semaines. En raison des dis­po­si­tifs de sécurité plus sévères, des images de con­te­neurs spé­cia­le­ment sé­cu­ri­sées provenant du registre de con­te­neurs de Red Hat « Quay » sont utilisées.

À quels types d’uti­li­sa­tion OpenShift est-il voué ?

Des solutions internes à l’en­tre­prise de Platform-as-a-Service (PaaS), Software-as-a-Service- (SaaS) et Con­tai­ners-as-a-Service- (CaaS) sont mises en œuvre sur la base d’OpenShift. On s’adresse ici clai­re­ment aux grandes or­ga­ni­sa­tions. Pour les dé­ve­lop­peurs in­di­vi­duels, OpenShift est cer­tai­ne­ment trop grand et trop difficile à manipuler.

OpenShift vs OpenStack : le com­pa­ra­tif direct

Ca­rac­té­ris­tique OpenShift OpenStack
Où se procurer le logiciel Outre les versions En­ter­prise proposées par Red Hat, OKD propose une édition com­mu­nau­taire libre d’uti­li­sa­tion. Le dé­ve­lop­pe­ment d’OpenStack est régi par la com­mu­nauté, dirigée par la fondation OpenInfra. Outre la version of­fi­cielle libre d’uti­li­sa­tion, de grands éditeurs in­for­ma­tiques proposent des dis­tri­bu­tions payantes.
Modèle de dé­ploie­ment Les dé­ploie­ments mul­ti­cloud et de Cloud hybride sont possibles, mais complexes le cas échéant. Il est utile de recourir à des mé­ca­nismes de dé­ploie­ment stan­dar­di­sés. OpenStack fonc­tionne souvent sur sa propre in­fras­truc­ture in­for­ma­tique « on-premises ». Comme les dé­ploie­ments sont complexes, des dis­tri­bu­tions per­son­na­li­sées de grands éditeurs sont dis­po­nibles, ainsi qu’une as­sis­tance technique dédiée. Il existe également dif­fé­rentes approches basées sur le Cloud et des solutions gérées.
Pla­te­formes de Cloud prises en charge En tant que solution autogérée, OpenShift peut fonc­tion­ner sur pra­ti­que­ment toutes les in­fras­truc­tures. En tant que solution managée, le logiciel fonc­tionne sur les pla­te­formes de Cloud AWS, Azure, Google Cloud et IBM Cloud. OpenStack fonc­tionne sur la quasi-totalité des pla­te­formes de Cloud dans des machines vir­tuelles, ainsi que sur les machines nues « bare metal » via un hy­per­vi­seur. En outre, les com­po­sants peuvent être installés dans des en­vi­ron­ne­ments de con­te­neurs de tous les grands four­nis­seurs.
Ins­tal­la­tion Nécessite un cluster ou un en­vi­ron­ne­ment de Cloud pour l’ins­tal­la­tion. L’ins­tal­la­tion du con­trô­leur OpenStack est effectuée soit sur site, soit sur une in­fras­truc­ture mise à dis­po­si­tion par un four­nis­seur.
Versions Jusqu’à trois versions sont publiées chaque année. Deux versions sont nor­ma­le­ment proposées chaque année.
Gestion des mises à jour Les mises à jour sont sim­pli­fiées par le « Cluster Version Operator ». Les mises à jour sont complexes et dis­si­mu­lent le risque d’en­dom­ma­ger le système. Les mises à jour des dif­fé­rents com­po­sants doivent être ef­fec­tuées dans un ordre spé­ci­fique.
Gestion des images Le registre de con­te­neurs de Red Hat « Quay » contient des images de con­te­neurs con­trô­lées pour détecter les points faibles. Le composant « Glance » gère les images de machines vir­tuelles utilisées pour le pro­vi­sion­ne­ment du système.
Uti­li­sa­tion des modèles Outre les modèles propres à OpenShift, de puissants « opé­ra­teurs » sont utilisés pour stan­dar­di­ser le dé­ploie­ment et l’ex­ploi­ta­tion des ap­pli­ca­tions. Des outils métiers tels que Chef, Puppet et Ansible fa­ci­li­tent et per­met­tent de re­pro­duire le dé­ploie­ment d’OpenStack. Il existe également un outil basé sur Helm ou Charms pour le dé­ploie­ment dans des con­te­neurs.
Gestion du réseau OpenShift prend en charge les réseaux définis par logiciel (SDN), y compris les réseaux su­per­po­sés via Open vSwitch (OVS). Le composant « Neutron » d’OpenStack fournit SDN selon le modèle « Net­wor­king-as-a-service » (NaaS).
Interface Web L’interface Web so­phis­ti­quée et er­go­no­mique d’OpenShift est con­si­dé­rée comme l’une des meil­leures de l’industrie. Avec le tableau de bord « Horizon », c’est une interface graphique Web « départ usine » qui a fait ses preuves et qui est mise à dis­po­si­tion pour gérer OpenStack.
Pipeline CI/CD intégré Si les versions plus anciennes utilisent encore le standard in­dus­triel « Jenkins », c’est désormais le plus récent « Tekton » qui est utilisé par défaut. OpenStack étant centré sur le pro­vi­sion­ne­ment des res­sources vir­tua­li­sées, aucune solution CI/CD dédiée n’est intégrée en natif.
Courbe d’ap­pren­tis­sage OpenShift est considéré comme étant de ma­ni­pu­la­tion plus aisée que K8s « nu ». Le logiciel fait preuve d’une uti­li­sa­tion re­la­ti­ve­ment fluide quand une solution managée est mise en œuvre. La courbe d’ap­pren­tis­sage est con­si­dé­rée comme assez raide du fait de la com­plexité d’OpenStack. La multitude de com­po­sants in­di­vi­duels peut né­ces­si­ter une nouvelle formation lors de la mise à dis­po­si­tion de fonc­tion­na­li­tés sup­plé­men­taires.
Fonc­tion­na­li­tés de sécurité Les fonc­tion­na­li­tés de sécurité étendues comptent parmi les ex­cel­lents avantages associés à la mise en œuvre d’OpenShift. Le composant « Keystone » fournit des fonctions de base pour l’au­then­ti­fi­ca­tion et l’au­to­ri­sa­tion des uti­li­sa­teurs.
Usage en en­tre­prise Le logiciel est mis en œuvre par plus de deux mille or­ga­ni­sa­tions dans le monde entier. De nom­breuses grandes en­tre­prises de services du numérique proposent des solutions OpenShift. Les grandes en­tre­prises in­for­ma­tiques proposent des dis­tri­bu­tions spé­ci­fiques et une as­sis­tance technique spé­ci­fique pour OpenStack. Cela englobe, entre autres, Red Hat, VMware, IBM, SUSE, Canonical, OVH, Rackspace, Mirantis et Dell.
Aller au menu principal