S3 sur votre ordinateur ? Ça change tout ! (MinIO)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Les factures S3 peuvent devenir beaucoup trop chères, les applications génèrent tellement de données que chaque chargement et téléchargement
00:00:05peut s'avérer lourd. Et la plupart des développeurs pensent que le stockage objet signifie une chose : le cloud.
00:00:09Mais ce n'est pas toujours vrai. Et si vous pouviez exécuter un stockage objet compatible S3 directement sur votre ordinateur ?
00:00:15C'est là qu'intervient Mini I/O. C'est rapide, compatible S3, et ça s'exécute à peu près n'importe où,
00:00:20même localement sur votre Mac. Dans les prochaines minutes, je vais vous montrer trois choses.
00:00:25Comment l'installer et le lancer, pourquoi les développeurs l'utilisent, et la réalité d'outils comme celui-ci.
00:00:30[MUSIQUE]
00:00:35Si vous essayez de réduire les coûts du cloud ou de faciliter le développement, cela pourrait vous épargner beaucoup
00:00:39de soucis. Voici ce que cela résout vraiment. La plupart des développeurs et des équipes font face à ces trois mêmes
00:00:45problèmes. Les factures du cloud sont difficiles à prévoir. Des données trop éloignées de l'application qui les utilise,
00:00:51et des charges de travail IA qui nécessitent un stockage local rapide. Mini I/O nous offre une autre option. Nous obtenons la
00:00:57compatibilité S3, de fortes performances, et un contrôle total sans dépendre du cloud.
00:01:01C'est génial pour le développement local, les prototypes, les pipelines RAG, les médias, les sauvegardes, tout ça. Et oui,
00:01:07vous pouvez tout faire tourner localement, sans VPS, sans compte cloud. Maintenant, petit avertissement,
00:01:12le dépôt GitHub est désormais archivé et il est en mode maintenance. Nous ne pouvons donc pas l'utiliser
00:01:17éternellement. Ils se sont concentrés sur Mini I/O AI Store, mais le I/O est toujours là aussi.
00:01:24Nous pouvons l'utiliser pendant un bon moment avec de réels avantages. Si vous aimez les outils qui accélèrent
00:01:29votre flux de travail, n'oubliez pas de vous abonner. Nous publions des vidéos tout le temps.
00:01:32Très bien, laissez-moi vous montrer à quel point c'est simple. J'ai Mini I/O qui tourne dans un conteneur Docker
00:01:37ici sur mon M4 Pro. D'abord, je le connecte et je vais lancer "MC alias set local". Je vais ajouter
00:01:44mon hôte local et utiliser simplement leurs identifiants de connexion par défaut pour l'instant. Ensuite, je peux créer un bucket,
00:01:50on peut l'appeler "MC, MB local demo bucket". Et ensuite, je vais juste commencer à uploader quelques fichiers,
00:01:55image, texte, JSON. Donc d'abord mon image, puis je pourrais faire un fichier texte léger.
00:02:02Et enfin, ajoutons simplement quelques données JSON ici. Maintenant, si je liste tout, voilà. Une structure propre,
00:02:08exactement comme S3. Maintenant, voici la partie qui intéresse vraiment la plupart d'entre nous. Je lance ce petit script
00:02:14Python juste ici. Et il utilise toujours Boto3, le même style de code qu'AWS. Il n'y a aucun changement ici.
00:02:22Et dans le navigateur, c'est juste sur localhost. J'ouvre le bucket. Je peux explorer les dossiers. Je peux
00:02:27cliquer sur l'image et voici votre aperçu. On dirait S3, sauf que ça tourne sur votre ordinateur.
00:02:33Alors, qu'est-ce que Mini I/O réellement ? En gros, c'est un serveur de stockage objet qui parle l'API
00:02:39Amazon S3. Vous gardez donc tout ce que vous connaissez déjà. On garde les mêmes SDK, les mêmes commandes,
00:02:46le même modèle mental, mais au lieu d'être lié à AWS, il s'exécute où vous voulez. Docker,
00:02:53Kubernetes, bare metal, edge, ou simplement sur votre ordinateur comme je le fais ici. Et c'est plus important aujourd'hui
00:02:59qu'avant parce que nos applications sont de plus en plus gourmandes en données au fil des années. Car quand
00:03:05votre ordinateur est ici et vos données sont ailleurs, on finit par payer très cher pour cela,
00:03:10en latence et en coûts de cloud. Mini I/O change tout cela. Il rapproche le stockage de l'endroit où le travail
00:03:17se fait. Et c'est pourquoi cette configuration est si utile pour le développement et les tests. Pas pour la production,
00:03:22mais pour ces deux cas, c'est vraiment bien. Dans mon cas, je l'exécute localement, ce qui est idéal pour
00:03:27construire et déboguer des applications lourdes en données avant même de toucher à la production. Bien sûr, nous avons beaucoup d'autres
00:03:33options disponibles. Avec AWS S3, vous avez un stockage entièrement géré et une échelle massive. Mais encore une fois,
00:03:40le compromis est le coût, les frais, et vous êtes lié à AWS. Avec Ceph, vous avez quelque chose de génial et
00:03:46également évolutif, mais c'est plus complexe à gérer. Plus de pièces mobiles, plus de frais généraux. Maintenant, un modèle courant
00:03:52pourrait ressembler à ceci. Je peux utiliser Mini I/O localement pour le développement, Mini I/O ou S3 pour
00:03:57le staging, et le cloud en production. Ça fonctionne car votre configuration locale correspond toujours au modèle S3 que
00:04:03votre application utilise ou utilisera. Donc si votre application gère beaucoup de données, Mini I/O a tout simplement du sens
00:04:10pendant le développement. Très bien, maintenant soyons honnêtes un instant. Devriez-vous l'utiliser ? Eh bien,
00:04:15c'est facile à déployer, c'est un binaire unique ou Docker, une forte compatibilité S3, et c'est très rapide.
00:04:21Et si vous déplacez beaucoup de données, éviter les frais de sortie (egress fees) est une grande victoire. Mais voilà le truc,
00:04:26le Mini I/O open source que vous voyez ici est toujours gratuit sous la licence AGPL version 3.
00:04:33Et ça fonctionne bien pour les démos, le dev local et les prototypes. Encore une fois, ils ont
00:04:38déplacé leur focus vers Mini I/O AI Store. Cela inclut une version gratuite pour une utilisation sur un seul nœud, mais
00:04:43ils ajoutent maintenant des niveaux payants pour le clustering, la haute disponibilité et toutes ces autres fonctionnalités.
00:04:48Donc pour l'apprentissage, le dev local et les petits projets, c'est vraiment cool. C'est bien. Mais pour des clusters
00:04:53de production, vous aurez probablement besoin d'AI Store ou d'alternatives comme Ceph ou Garage. Ça en vaut donc
00:04:59la peine si on est en développement local ou juste pour des expériences, mais peut-être pas si vous avez besoin d'infra gérée ou
00:05:04d'une haute disponibilité intégrée dès le départ. On peut s'en tenir aux autres solutions pour ça. Mini I/O ou la version gratuite d'AI Store
00:05:11vous offre un stockage de style S3, de fortes performances, et un contrôle total sur vos données sans payer
00:05:16automatiquement le prix fort du cloud pour l'instant. Et vous pouvez l'essayer dès maintenant sur votre ordinateur comme je l'ai fait ici.
00:05:21Si vous aimez les outils open source et les astuces de code comme celle-ci pour accélérer votre travail,
00:05:25n'oubliez pas de vous abonner à la chaîne Better Stack. On se voit dans une prochaine vidéo.

Key Takeaway

MinIO permet de réduire les coûts et la latence du cloud en simulant un environnement S3 complet sur un Mac ou un PC local pour le développement et le débogage d'applications de données.

Highlights

MinIO exécute un stockage objet compatible avec l'API Amazon S3 directement sur un ordinateur local via Docker ou un binaire unique.

L'utilisation de MinIO localement élimine les frais de sortie de données (egress fees) et réduit la latence lors du développement d'applications gourmandes en données.

Le script Python utilisant la bibliothèque Boto3 fonctionne sans modification de code en remplaçant simplement l'URL du point de terminaison par localhost.

Le projet MinIO open source original est distribué sous licence AGPL version 3, bien que le développement se concentre désormais sur MinIO AI Store.

MinIO permet de tester des pipelines RAG, des sauvegardes et des prototypes IA sans posséder de compte cloud ou de serveur privé virtuel (VPS).

Timeline

Problématiques du stockage objet dans le cloud

  • Les factures S3 deviennent imprévisibles en raison du volume croissant de données générées par les applications modernes.
  • L'éloignement physique entre les données stockées dans le cloud et l'application entraîne une latence significative.
  • Le stockage objet ne dépend pas exclusivement d'une infrastructure cloud distante.

Le transfert constant de données entre les applications et le cloud alourdit les processus de développement. Les charges de travail liées à l'intelligence artificielle nécessitent particulièrement un stockage local rapide pour maintenir les performances. MinIO offre une alternative en fournissant un contrôle total sur les données tout en conservant la compatibilité avec les standards S3.

Installation et démonstration technique sur Mac M4 Pro

  • L'outil MC alias configure l'accès local en utilisant les identifiants de connexion par défaut du conteneur Docker.
  • La commande MC MB crée des buckets locaux capables d'héberger des fichiers images, du texte ou du format JSON.
  • L'interface utilisateur accessible via localhost permet de prévisualiser les fichiers et d'explorer les dossiers comme sur la console AWS.

L'exécution dans un conteneur Docker sur une puce M4 Pro démontre la simplicité du déploiement local. Une fois le bucket créé avec la commande 'mc mb local/demo-bucket', l'upload de fichiers divers confirme la structure identique à celle d'Amazon S3. Un script Python exploitant Boto3 prouve qu'aucune modification logique n'est requise dans le code pour passer du local au cloud.

Architecture et intégration dans le flux de travail

  • MinIO agit comme un serveur de stockage objet traduisant les appels de l'API Amazon S3.
  • Le serveur s'installe indifféremment sur Docker, Kubernetes, bare metal ou en périphérie de réseau (edge).
  • Le modèle de développement hybride utilise MinIO en local et S3 uniquement pour la production.

Le maintien des mêmes SDK et modèles mentaux facilite la transition entre les environnements. Rapprocher le stockage du lieu de traitement des données est crucial pour les applications actuelles très gourmandes en ressources. Cette configuration est optimale pour la construction et le débogage avant le déploiement final, garantissant que l'application se comportera de la même manière dans tous les environnements.

Comparaison des solutions et limites de la version open source

  • La version open source de MinIO reste gratuite sous licence AGPLv3 pour le développement local et les petits projets.
  • AWS S3 offre une échelle massive et une gestion complète mais impose des frais de sortie et un verrouillage propriétaire.
  • Les fonctionnalités de clustering et de haute disponibilité nécessitent désormais la version payante de MinIO AI Store.

Bien que MinIO soit rapide et facile à déployer via un binaire unique, des alternatives comme Ceph ou Garage existent pour les besoins de haute disponibilité. MinIO AI Store devient la priorité de l'éditeur, avec une version gratuite limitée à un seul nœud. Le choix de l'outil dépend de la nécessité d'une infrastructure gérée ou de la volonté de conserver une autonomie totale sur les données sans les coûts du cloud.

Community Posts

View all posts