Stockage Kubernetes : MinIO ne jure que par le mode objet
Pour l’éditeur, SAN, NAS, stockage bloc et fichier n’ont rien à faire dans des applications conçues pour le cloud.
Jonathan Symonds, directeur marketing de MinIO, n’a aucun doute sur ce point : « le stockage objet sera le standard sur Internet. Les SAN et NAS ne sont pas faits pour le cloud. Même le NFS parallélisé (pNFS) et autres NFS v4 ne sont pas assez extensibles ». Et ça tombe plutôt bien pour lui puisque MinIO fournit une solution de stockage native pour Kubernetes.
Les fonctions de stockage sont elles-mêmes dans un container Kubernetes et MinIO espère que les entreprises passant sur le cloud utiliseront Kubernetes pour leurs applications (et non des machines virtuelles), nous a précisé Jonathan Symonds lors du dernier événement IT Press Tour qui s’est déroulé cet été aux États-Unis.
Trois principes ont guidé la mise au point du stockage Kubernetes chez MinIO. Les performances. La facilité d’emploi : un container de 100 Mo peut être en production en quelques minutes, sa mise à jour ne prenant, elle, que quelques secondes. Et surtout un stockage Kubernetes qui soit nativement conçu pour ce système, condition sine qua none pour que toutes les fonctionnalités de Kubernetes soient supportées.
Ainsi, les instances MinIO sont administrées par Kubernetes. MinIO a été bâti sur des API RESTful et ne requiert aucun pilote, aucun connecteur. Contrairement aux stockages bloc et fichier qui ont besoin de pilotes CSI (Container Storage Interface).
Au final, le stockage MinIO est extensible à volonté (« scale-out »), c’est-à-dire qu’il est trivial de passer de quelques Go de capacité à plusieurs Po. Et que cela se fait sans engendrer de perte de performances. Ce point est important pour le Machine learning et l’IA en général.
MinIO se targue d’avoir été l’un des premiers à prendre en charge l’Erasure coding (sorte de RAID à l’échelle d’un cluster de stockage) et à supporter S3 Select.
Des fonctions supplémentaires pour kubectl
Pour administrer l’architecture de stockage objet, MinIO Kubernetes ajoute des sous-commandes à kubectl, l’outil en ligne de commande qui sert à déployer un cluster Kubernetes et à contrôler ses ressources. Ces sous-commandes correspondent à des outils installables depuis le store de MinIO.
Parmi les outils disponibles, on trouve un SDK, meilleur que ceux d’AWS selon Jonathan Symonds. Également un IAM (Identy Access Management) qui repose sur un annuaire LDAP ou OpenID et qui supporte les clés de chiffrement Vault et Gemalto. Notons que MinIO a développé son propre système de clés.
Figurent également des outils de débogage, des outils qui représentent l’usage du stockage sous forme graphique, d’autres de détection d’anomalie et, bien entendu, d’autres encore pour la configuration des paramètres.
Si MinIO se veut compatible avec tous les Kubernetes, il supporte officiellement AWS EKS, Azure AKS, OpenShift, VMware Tanzu.
MinIO est sous licence Open source. Mais il a changé de version pour passer d’une licence Apache 2.0 à une licence AGPL v3. Cela signifie que les entreprises qui modifient le code ou en ajoutent pour leurs besoins devront à présent le redistribuer à tout le monde. Cette considération contractuelle a un contexte : Nutanix, qui était soupçonné de commercialiser avec son système de virtualisation un stockage objet basé sur MinIO, a entretemps changé de technologie.