Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Turing Pi est une solution pour les applications auto-hébergées basée sur le principe des racks dans un centre de données, mais sur une carte mÚre compacte. Cette solution est axée sur la création d'une infrastructure locale pour le développement local et l'hébergement d'applications et de services. En gros, c'est comme AWS EC2 mais pour l'edge.

Nous sommes une petite équipe de développeurs qui a décidé de créer une solution pour construire des clusters bare-metal à l'edge et nous avons nommé le projet Turing Pi. Le produit a commencé de maniÚre artisanale, mais maintenant, pour tester nos concepts, il a été commandé par des départements de développement chez Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, et nous avons prÚs de 10 000 développeurs intéressés.

Mais tout a commencé par une découverte.

Découverte du produit

Un jour, j'ai fait l'idĂ©e que nous ne crĂ©ons rien. Toutes les choses qui existent dans ce monde, nous les dĂ©couvrons. Nous dĂ©couvrons que certaines parties peuvent ĂȘtre combinĂ©es, crĂ©ant ainsi de nouvelles propriĂ©tĂ©s pour les produits, ou dĂ©couvrons des lois et les combinons Ă  nouveau. On ne peut rien inventer, mais on peut dĂ©couvrir en enquĂȘtant. À mon avis, une invention est le rĂ©sultat d'observations constantes, d'expĂ©rimentations et de la recherche + combinaison de connaissances.

Au cours de la derniĂšre dĂ©cennie, j'ai observĂ© comment le mouvement des amateurs de homelab (ressource subreddit), mineurs auto-hĂ©bergĂ©s (ressources subreddit et awesome-selfhosted), et les ordinateurs monocarte ont pris de l'ampleur, avec un intĂ©rĂȘt croissant pour le lancement de conteneurs sur des ordinateurs monocarte comme le Raspberry Pi, et le mouvement des clusters d'ordinateurs monocarte. Petit Ă  petit, l'idĂ©e de Kubernetes s'y intĂšgre aussi. Une version lĂ©gĂšre de Kubernetes, k3s, orientĂ©e vers l'Edge/IOT, est dĂ©jĂ  apparue. Une grande chaĂźne de restauration rapide, Chick-fil-A, est l'une des premiĂšres au monde Ă  avoir installĂ© des clusters Kubernetes dans ses cuisines. kubectl make me a sandwich.

Je le vois comme une boule de neige, une technologie se superposant Ă  une autre, crĂ©ant un systĂšme plus complexe. Il n'y a pas de chaos, mais plutĂŽt un fraktal technologique. À un moment de ma vie oĂč les choses Ă©taient assez compliquĂ©es, j'ai vu la valeur des clusters assemblĂ©s par des dĂ©veloppeurs amateurs et j'ai commencĂ© Ă  travailler sur la crĂ©ation d'une carte de cluster.

Aujourd'hui, notre carte de cluster est trÚs simple et est principalement destinée à ceux qui aiment les technologies cloud native, à apprendre de nouvelles choses et à expérimenter.

Blocs de construction (Building Blocks)

Alors, que représente cette solution, quelle est son essence. L'essence est de fournir un constructeur, des blocs de construction (Building Blocks) à partir desquels il est possible de constituer une infrastructure edge moins coûteuse que sur des serveurs classiques, mobile sans de volumineux boßtiers métalliques, peu exigeante en conditions d'exploitation spéciales comme celles des serveurs, écoénergétique, standardisée en termes de modules et avec la possibilité d'une montée en charge rapide sur des dizaines et des centaines d'unités de calcul (processeurs).

Carte de cluster (Clusterboard)

La carte Mini ITX relie plusieurs modules de calcul via un réseau intégré, offrant des interfaces périphériques et un contrÎle sur les modules

Module de calcul (Compute Module)

Carte au format SO-DIMM contenant un processeur et de la mémoire vive, avec éventuellement de la mémoire flash pour le stockage du systÚme d'exploitation

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s
Une des configurations prévues pour la version Turing V2

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

En combinant la carte de cluster et les modules de calcul, il est facile de créer une infrastructure par exemple avec 20+ processeurs (exemples ci-dessous), silencieuse et à faible consommation d'énergie. La carte de cluster augmente l'efficacité de l'espace utilisé. Exemples de clusters pour comparaison

Basé sur SBC*
Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s
24 CPU’s
Auteur Afkham Azeez

Basé sur Turing Pi
Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s
21 CPU’s
Auteur th3st0rmtr00p3r

* SBC — Single Board Computer

Le co-fondateur de Rancher Labs et auteur de k3s n'a pas été indifférent à cette approche

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Passons maintenant aux blocs de construction.

Module de Calcul (Compute Module)

Pour vĂ©rifier le concept, nous avons choisi le Raspberry Pi Compute Module qui est la configuration idĂ©ale pour commencer. La communautĂ© RPi est active, il n'y a pas de problĂšmes de logiciels, le module lui-mĂȘme est au format SO-DIMM (6 x 3 cm), Ă  un prix abordable, et possĂšde Ă  bord un processeur 4 cƓurs, 1 Go de RAM et Ă©ventuellement une mĂ©moire flash de 8, 16 ou 32 Go pour le systĂšme d'exploitation et d'autres besoins systĂšme. Un tel format est souvent utilisĂ© dans les solutions IoT industrielles.

Raspberry Pi 1/3/3+ Compute Module

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Mais le modĂšle CM3 a de sĂ©rieuses limitations — 1 Go de RAM max et l'Ethernet via un HUB USB avec une vitesse maximale de 100 Mbps. C'est pourquoi la deuxiĂšme version de Turing va supporter le Raspberry Pi 4 et jusqu'Ă  8 Go de mĂ©moire vive par module. Voici un exemple de modules Nvidia Jetson pour les tĂąches de calcul accĂ©lĂ©rĂ©. Il est possible qu'ils soient pris en charge dans la deuxiĂšme version, si nous rĂ©solvons certains dĂ©fis techniques, alors nous pourrons mĂ©langer les modules.

Modules de calcul Nvidia Jetson

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Les modules cachent la possibilité la plus importante, qui n'est pas évidente au premier abord. La possibilité de créer d'autres modules dans un format similaire avec différentes configurations de CPU, RAM et eMMC, pour différents types de tùches, allant du calcul général aux calculs intensifs en apprentissage automatique. C'est trÚs semblable aux instances AWS EC2, mais uniquement pour l'edge. De plus, la carte de cluster reste inchangée ou avec des modifications mineures.

Carte de cluster (Clusterboard)

On peut aussi l'appeler carte mĂšre ou carte de base, un domaine encore relativement nouveau et le nombre de fabricants de telles solutions est actuellement limitĂ© et au stade initial, parmi lesquels Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (clusters SBC). La carte de cluster relie les modules via un rĂ©seau, fournit l'alimentation et dĂ©gage un bus de gestion de cluster (Cluster Management Bus), en tout cas, nous avons dĂ©cidĂ© d’ajouter ce bus et il semble qu'il ait Ă©tĂ© adoptĂ©.

Front
Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Back
Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Bande passante du Backplane 12 Gbps
Slots SD pour modules sans eMMC, par exemple, il est possible de maintenir quelques modules avec SD pour un accĂšs rapide aux donnĂ©es du nƓud

Au cƓur de la carte de cluster se trouve une puce switch pour garantir la connexion rĂ©seau des modules et l'accĂšs Ă  l'extĂ©rieur. Dans la version actuelle, nous utilisons un switch non gĂ©rĂ© car nous n'avons pas eu le temps de rĂ©aliser un R&D complet, mais pour la deuxiĂšme version, nous avons choisi un bon switch gĂ©rĂ©. Une configuration en mode 'nƓud maĂźtre comme routeur' est possible pour partager le rĂ©seau avec la carte, ce qui est nĂ©cessaire si un niveau plus Ă©levĂ© de sĂ©curitĂ© et d'isolation des travailleurs par rapport Ă  l'accĂšs extĂ©rieur est requis ; dans ce cas, il faut Ă©galement garder un serveur DHCP sur le nƓud maĂźtre.

Application

La version actuelle est expérimentale et nous la positionnons comme une solution d'entrée de gamme pour découvrir ce que sont les clusters, travailler avec le logiciel ou tester des hypothÚses dans les organisations, chercher de nouvelles idées ; en gros, c'est une version Lite.

Pour commencer, nous recommandons la sĂ©rie de l'incroyable Jeff Geerling, qui a entendu parler de nous sur Y Combinator ; il est l'auteur du best-seller Ansible for DevOps. Il a Ă©tĂ© tellement inspirĂ© qu'il a rĂ©alisĂ© une sĂ©rie de 6 Ă©pisodes, allant de l'idĂ©e de la clustering en gĂ©nĂ©ral Ă  des exemples pratiques de travail avec la carte, de l'apprentissage de Kubernetes et des logiciels pouvant ĂȘtre installĂ©s.

Série sur l'installation de k3s sur le cluster

Lire la vidéo

Je recommande en fait de regarder Ă  partir du premier Ă©pisode, oĂč il parle en gĂ©nĂ©ral de la clustering et de Kubernetes dans un langage accessible. Et il y a aussi quelques images de la communautĂ©.

Turing Pi — carte de cluster pour applications et services auto-hĂ©bergĂ©s

Et aprĂšs ?

Tout d'abord, j'espÚre sincÚrement que cela a été intéressant. C'est un contenu entiÚrement original, une tentative de regarder au-delà de l'horizon. DeuxiÚmement, je prévois d'écrire une seconde partie sur la conception de Turing V2. Comment s'est déroulée la recherche du produit, les raisonnements logiques, la recherche des principales caractéristiques qui sont importantes. L'article contiendra des croquis du produit du plus ancien au plus final. Le deuxiÚme article sera particuliÚrement intéressant pour les chefs de produits, ceux qui sont responsables des produits et de leur développement dans les entreprises.

Et il y a de fortes chances que ce soit un véritable long article.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster