Sous le nom d’Ussuri, OpenStack arrive dans sa 21ème édition, 7 mois après sa précédente mouture, Train. Livrée dans les temps, cette évolution de la plateforme d’orchestration des ressources cloud a reçu plus de 24 000 changements de code effectués par plus d’un millier de développeurs appartenant à 188 organisations répartis dans 50 pays. Le volume de code ainsi généré continue à placer le socle IaaS dans le Top 3 des projets open source bénéficiant d’un tel niveau de contributions dans le monde, aux côtés du noyau Linux et de Chromium, a souligné Mark Collier, directeur exécutif de la fondation OpenStack, lors d’une visioconférence, en amont du lancement d’Ussuri. 

Cette 21ème version poursuit les améliorations sur sa couche d’infrastructure principale, étend ses capacités de chiffrement et sa polyvalence pour prendre en charge des cas d’usage qui se développent. Les demandes autour de l’IA, de l’apprentissage machine, de l’informatique edge et de l’Internet des objets nécessitent que la plateforme IaaS supporte d’autres architectures processeurs, des capacités d’automatisation à l’échelle capables de descendre au niveau des serveurs bare-metal et l’intégration avec divers composants open source. OpenStack est actuellement exploité par 75 datacenters de clouds publics pour orchestrer leurs ressources et par des milliers de clouds privés qui utilisent plus de 10 millions de coeurs de compute. En valeur, le marché autour d’OpenStack devrait atteindre 7,7 milliards de dollars en 2023, selon les prévisions faites en septembre par 451 Research. « Nous sommes sur la bonne voie pour y parvenir », estime Mark Collier. « La croissance et l’adoption sont continues, ce qui est un très bon signe pour un projet qui atteint ses dix ans ».

1003 développeurs (dont les noms sont mentionnés par la fondation OpenStack) ont contribué à l'ajout de code apporté par Ussuri. (agrandir l'image)

Migration entre cellules Nova pour les serveurs

Une dizaine de nouveautés phare d’Ussuri - parmi les milliers de fonctionnalités ajoutées - ont été détaillées par Jonathan Bryce, COO de la fondation OpenStack, en commençant par un composant important ajouté à Nova. Le service de compute au coeur d’OpenStack est l’un des projets les plus actifs de la plateforme IaaS. Il supporte maintenant la migration et le redimensionnement des serveurs entre les cellules Nova. « Les cellules sont une fonctionnalité qui permet à un cloud OpenStack d’être divisé en différentes unités logiques pour une mise à l’échelle horizontale », a rappelé Jonathan Bryce. « C’est très important pour les clouds qui continuent à se développer et à ajouter davantage de serveurs physiques et de workloads au-dessus ». Dans ces environnements destinés à exister dans la durée et au sein desquels il faudra décommissioner certaines parties physiques, il faut pouvoir transférer des cellules Nova entre les unités logiques du cloud. « Ce composant montre l’importance que le core project accorde aux opérations et à la gestion du cycle de vie des services cloud », a pointé le COO.

Sur le projet Kuryr, qui relie le service de réseau Neutron d’OpenStack et les services de réseau de containers, le support d’IPv6 a été ajouté. Kuryr permet de superposer Kubernetes, Docker ou un autre runtime de containers au-dessus de l’environnement IaaS et de s’appuyer sur la couche réseau Neutron sous-jacente et, selon le cas, avec le contrôleur réseau d’entreprise. Désormais, la pile container supporte donc IPv6. Le projet Ironic, qui permet de gérer les serveurs bare-metal, a évolué plusieurs fois sur les dernières versions d’OpenStack. L’une des tendances observées, c’est qu’il est intégré à d’autres systèmes, indique Jonathan Bryce en citant par exemple Kubernetes, qui a une intégration directe dans Ironic à travers le projet Cluster API permettant de gérer le matériel. Les nouveautés apportées par Ussuri sont intéressantes pour les cas de figures où Ironic sera utilisé de façon indépendante, sans passer par Nova ou par un autre composant d’OpenStack, a exposé le COO. Le multitenant se faisait avant par un provisioning via Nova. Désormais, dans un environnement de serveurs physiques, il pourra se faire de façon autonome. Un autre ajout concerne l’authentification des interactions entre Ironic et ses agents distants. Cela permettra de contrôler les noeuds qui pourraient se trouver dans un environnement non fiabilisé. « Cela concerne les cas d’usage de type edge ou toute situation où vous pourriez avoir du matériel situé en dehors du datacenter principal », a expliqué Jonathan Bryce.

Neutron supporte les groupes de sécurité stateless

La sécurité est l’un des domaines où la tâche n’est jamais terminée et la communauté OpenStack est très active dans ce domaine, a souligné Mark Collier, qu’il s’agisse de mettre en oeuvre les derniers standards de chiffrement ou autre. Avec Ussuri, le service d’équilibrage de charge Octavia apporte davantage de contrôle sur le chiffrement TLS pour renforcer la conformité et répondre aux exigences de sécurité. Plus de sécurité aussi sur Kolla, le composant de déploiement de services conteneurisés, avec un support initial du chiffrement TLS des services API backend dans les environnements OpenStack. Pour l’instant, Keystone est supporté. Toujours dans le domaine de la sécurité, le service de réseau Neutron peut maintenant créer des groupes de sécurité stateless (vs stateful) où les règles de sécurité seront appliquées sans tracer les connexions.

La gestion des groupes de sécurité stateless dans Neutron permettra aussi d’augmenter les performances et la fiabilité. (agrandir l'image)

Cet ajout permet de définir des limites pour l’accès à certaines parties du réseau plutôt que de suivre de façon intensive le trafic individuel des connexions arrivant dans le cloud, ce qui peut conduire à surcharger le service qui le fait. « En autorisant les groupes de sécurité stateless, le nombre de connexions peut être beaucoup plus élevé, ce qui augmente les capacités et performances du système tout en maintenant les règles de sécurité en place », explique Jonathan Bryce.

Du load balancing pour l'edge 

Les autres évolutions d’Ussuri viennent améliorer la polyvalence d’OpenStack pour les nouveaux cas d’usage. Sur le framework d’accélération des ressources Cyborg (ancien Nomad), l’intégration avec le service de compute Nova a été complété. On peut maintenant utiliser Nova pour lancer des instances de serveurs avec les accélérateurs gérés par Cyborg. Sur Octavia, il est désormais possible de déployer du load balancing dans des zones de disponibilité spécifique, ce qui permettra de le faire en bout de réseau, sur des environnements edge. Avec Ussuri, le gestionnaire de containers Magnum prend en charge la mise à niveau du système d’exploitation du cluster Kubernetes, y compris les noeuds maîtres et esclaves. Enfin, Zun supporte maintenant le runtime CRI, ce qui permettra à Kubernetes d’utiliser l’API Zun pour créer des pods, y compris dans Kata Containers.

D’autres ajouts et améliorations ont été apportés aux services de stockage bloc Cinder et objet Swift, dans le service Image Glance, dans le tableau de bord Horizon, dans Keystone, dans le système de fichiers partagés Manila, dans Placement, dans les modules Puppet pour le déploiement, ainsi que dans Vitrage, Watcher et Zaqar. L'ensemble est détaillé sur le site d'OpenStackLa version Ussuri d’OpenStack est téléchargeable depuis hier soir.