Un cluster dans la poche

Il ne se passe pas un mois sans qu’une entreprise ou un consortium ne nous vante son nouveau serveur, son nouveau datacenter, sa nouvelle machine à milliards d’opérations par seconde ou sa dernière technologie de cloud nécessitant une tranche de réacteur nucléaire, juste pour faire tourner le système de climatisation.

Et s’il était possible d’avoir son propre cluster chez soi, ce ne serait pas plus fun ?

Tarte à la framboise

Pour se mettre en appétit, remontons au début des années 2000 à l’Université de Cambridge. Eben Upton et ses collègues Rob Mullins, Jack Lang et Alan Mycroft se demandaient comment redonner le goût des études informatiques aux étudiants mais aussi comment relever le niveau moyen des compétences.

En effet, les jeunes n’abordaient plus l’informatique de la même manière, en devenant plus consommateurs qu’acteurs. Par ailleurs, les ordinateurs étaient plus chers et moins susceptibles d’être utilisés pour la découverte des fondamentaux de l’informatique ou à des fins d’expérimentations.

Heureusement, à partir de 2008, les composants électroniques sont devenus de plus en plus abordables et l’idée du Raspberry Pi (Framboise en anglais et Pi pour Python, le langage de programmation) fit son chemin, celle de proposer une plateforme bon marché, permettant de programmer et d’expérimenter. Après plusieurs prototypes et nouvelles collaborations pour la conception, la première version officielle vit le jour le 29 février 2012.

Source : Raspberry Foundation

Petit mais costaud

Bien qu’il s’agisse d’un nano-ordinateur de la taille d’une carte bancaire, équipé d’un processeur de type ARM et de 1 à 8 Go de RAM, il embarque tous les connecteurs standards : des ports USB (version 2.0 ou 3.0 selon les modèles, prise standard ou de type C), des sorties HDMI (2 sur le modèle 4) et une prise Ethernet.

Selon les versions, il est possible d’utiliser le Wifi et le Bluetooth. L’alimentation se fait via un chargeur de téléphone et il dispose d’un lecteur de carte micro SD pour le stockage (système d’exploitation et données). Et le tout pour environ 35 dollars (pour un modèle 4B avec 1 Go de RAM) !

Le Raspberry Pi peut finalement se transformer en véritable PC avec l’ajout des périphériques habituels (écran, clavier et souris), le processeur étant capable de traiter les images et vidéos en Haute Définition. L’utilisateur a même le choix de la distribution (plusieurs versions de Linux et même une version allégée de Windows).

Mais ce qui fait réellement l’originalité de cet ordinateur est la présence d’un connecteur 40 broches « GPIO » (Broches/picots d’Entrée-Sortie générale). Il autorise ainsi toutes les expérimentations avec des composants électroniques, en ouvrant les portes de la robotique par exemple.

En quelques années, le Raspberry Pi a largement dépassé ses objectifs initiaux (pédagogiques et financiers) avec plus de 36 millions d’unités vendues toutes déclinaisons confondues (à fin novembre 2020). Tout un écosystème s’est développé et les usages vont désormais beaucoup plus loin qu’un simple outil d’apprentissage.

L’essor de l’IoT (Internet of Things) et les possibilités d’utilisations industrielles rendent ce nano-ordinateur plus populaire que jamais. Toutes les expérimentations paraissent possibles et il existe d’importantes communautés d’utilisateurs et de contributeurs.

Source : Raspberry Foundation

Plus d’information sur les différentes versions et les détails techniques sur la page Wikipedia du Raspberry Pi.

Pi à la puissance x

Forcément, bon nombre d’amateurs passionnés et de professionnels se sont amusés à développer les prototypes les plus dingues avec le Raspberry Pi. Celui qui va nous intéresser aujourd’hui est ce qu’on appelle un bramble ou un cluster de Raspberry Pi.

L’idée est finalement toute simple : mettre plusieurs nano-ordinateurs en réseau pour en faire une grappe facilement adressable et exploitable.

Dès 2012, certains se sont lancés cet objectif. Mais on commença à trouver des projets plus sérieux à partir de 2015 et l’arrivée du modèle 2B, par exemple le Dramble de Jeff Geerling.

Source : Jeff Geerling

Aujourd’hui, pour moins de 400 euros, il est possible par exemple d’avoir un petit cluster de 4 nano-ordinateurs modèle 4B. Il faut néanmoins prendre en considération tout le matériel annexe, le temps de montage, l’installation de l’OS, des logiciels et quelques compétences en informatique.

Et pour quels usages ? Avoir la possibilité d’expérimenter la gestion d’un cluster, d’utiliser Docker (lancement d’applications dans des conteneurs logiciels) et Kubernetes (orchestrateur de conteneurs permettant l’automatisation du déploiement et la gestion des exécutions), d’expérimenter la virtualisation (VMware), les technologies Serverless (le fournisseur gérant dynamiquement les ressources allouées au client) ou les Microservices (ensemble de services indépendants communicants à l’aide d’API), sans devoir louer des ressources Cloud (Google, AWS, Azure ou OVH par exemple).

Turing Pi

Pour faciliter la réalisation d’un cluster, l’entreprise Turing Pi a créé en 2020 une première version de sa carte mère pouvant accueillir 7 modules Raspberry Pi de type 1, 2, 3 ou 3+.

Source : Turing Pi

La carte dispose d’une prise réseau Ethernet 1 Gb/s, 7 emplacements pour Raspberry Pi, 7 connecteurs GPIO, 8 ports USB, sorties HDMI et Jack ainsi qu’un bus de management de cluster (CMB) I2C.

La société met l’accent sur les possibilités déjà évoquées précédemment :

  • Hébergement de serveurs domestiques (homelab) et d’applications Cloud
  • Apprentissage de Kubernetes, Docker, concepts Serverless ou Microservices
  • Environnement de test d’applications natives Cloud
  • Apprentissage des concepts d’applications distribuées de Machine Learning
  • Prototypage et apprentissage des applications de cluster, de calcul parallèle et distribué
  • K8S, K3S, Minecraft, Plex, Owncloud, Nextcloud, Seafile, Minio, Tensorflow, etc

Jeff Geerling (encore lui) a effectué des tests poussés et a comparé le Turing Pi équipé de 7 modèles 3+ avec un modèle 4B. Il apparait que ce matériel est finalement un peu décevant car limité aux modèles 3+ mais le Turing Pi permet une mise en œuvre plus rapide d’un cluster.

Next Generation

Turing Pi prépare déjà une version 2, compatible avec des modules Raspberry Pi 4, techniquement plus avancés et plus puissants. Gageons que cela ouvrira encore un peu plus les portes aux expérimentations les plus audacieuses et ce, pour un coût raisonnable.

Source : Turing Pi

Toujours plus fou

Pour finir, je ne pouvais pas m’empêcher d’évoquer le projet d’une équipe de développeurs d’Oracle : le Super Pi, présenté lors de la conférence Oracle Code One 2019.

Avec ses 1060 unités Raspberry Pi, ses 18 racks d’alimentation USB, ses 22 racks de commutateurs réseaux, le Super Pi est le roi des superlatifs !

Conclusion

Vous voyez qu’il est donc tout à fait possible d’avoir son propre cluster « fait maison ». Certes ce ne sera pas la machine la plus performante du monde mais elle permettra de se faire la main et d’expérimenter des concepts comme le Machine Learning distribué, l’utilisation des conteneurs et leur orchestration (Docker et Kubernetes) ainsi que la virtualisation.

Ce n’est pas forcément non plus une solution à portée de tout le monde car il est nécessaire d’avoir des connaissances techniques assez avancées. Et même si l’investissement de départ peut rebuter certaines bourses, il reste bien inférieur aux solutions professionnelles du marché.

Enfin le plaisir d’expérimenter et la satisfaction de comprendre les concepts techniques les plus compliqués, ça n’a pas de prix !