Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Turing Pi è una soluzione per applicazioni self-hosted costruita secondo il principio delle rack nei data center, ma su una scheda madre compatta. La soluzione è orientata alla creazione di infrastrutture locali per lo sviluppo locale e l'hosting di applicazioni e servizi. In sostanza, è come AWS EC2, ma per edge.

Siamo un piccolo team di sviluppatori che ha deciso di creare una soluzione per costruire cluster bare-metal in edge e abbiamo chiamato il progetto Turing Pi. Il prodotto è iniziato come un'idea improvvisata, ma ora è stato richiesto da vari dipartimenti di sviluppo in Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, e stiamo raccogliendo un pubblico di sviluppatori vicino ai 10K.

Ma tutto è iniziato con una scoperta.

La scoperta del prodotto

Un tempo ho fatto una scoperta per me stesso: non inventiamo nulla. Tutte le cose esistenti in questo mondo, le scopriamo. Scopriamo che alcune parti possono essere combinate insieme, ottenendo nuove proprietà dei prodotti, oppure scopriamo leggi e poi le combiniamo di nuovo. Non si può inventare nulla, ma si può scoprire durante la ricerca. A mio avviso, l'invenzione è il risultato di osservazioni costanti, esperimenti e ricerca + combinazione di conoscenze.

Negli ultimi dieci anni ho osservato come si stia espandendo il movimento hobbistico del homelab (risorsa subreddit), self-hosted (risorse subreddit e awesome-selfhosted), computer a scheda singola, come cresca l'interesse per l'esecuzione di contenitori su computer a scheda singola come il Raspberry Pi, cresce il movimento di assemblaggio di cluster di computer a scheda singola. Gradualmente, si avvicina anche l'idea di Kubernetes. È già stata creata una versione leggera, k3s, orientata a Edge/Iot. Una grande catena di fast food, Chick-fil-A, è tra le prime al mondo a installare cluster di Kubernetes nelle proprie cucine. kubectl make me a sandwich.

Lo vedo come una palla di neve, una tecnologia che ruota attorno a un'altra, creando un sistema più complesso. Tuttavia, non c'è caos, ma più un frattale di tecnologie. In uno dei momenti abbastanza difficili della mia vita, ho visto il valore nei cluster assemblati da computer a scheda singola realizzati da sviluppatori hobbisti e ho iniziato a lavorare alla creazione di una scheda per cluster.

Oggi il nostro cluster board è molto semplice e si rivolge principalmente a coloro che amano le tecnologie cloud-native, studiare cose nuove e sperimentare.

Blocchi Costruttivi (Building Blocks)

Quindi, cos'è realmente la soluzione, qual è l'essenza. L'essenza è quella di fornire un costruttore, blocchi costruttivi (Building Blocks) dai quali è possibile assemblare un'infrastruttura edge a un costo inferiore rispetto ai server classici, mobile senza ingombranti scatole di metallo, non esigente in termini di condizioni di utilizzo tipo server, energeticamente efficiente, standardizzata in termini di moduli e con la possibilità di una rapida scalabilità a decine o centinaia di nodi di elaborazione (processori).

Cluster Board (Clusterboard)

La scheda Mini ITX integra diversi moduli di calcolo attraverso una rete sulla scheda, offre interfacce periferiche e controllo sui moduli

Modulo di Calcolo (Compute Module)

Scheda in fattore di forma SO-DIMM contenente un processore e memoria RAM, opzionalmente memoria flash per il sistema operativo

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted
Una delle configurazioni progettate della versione Turing V2

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Combinando il cluster board e i moduli di calcolo, è facile creare un'infrastruttura ad esempio con 20+ processori (esempi sotto), silenziosa e a basso consumo energetico. Il cluster board stesso aumenta l'efficienza dello spazio utilizzato. Esempi di cluster per confronto

Basato su SBC*
Turing Pi — scheda del cluster per applicazioni e servizi self-hosted
24 CPU
Autore Afkham Azeez

Basato su Turing Pi
Turing Pi — scheda del cluster per applicazioni e servizi self-hosted
21 CPU
Autore th3st0rmtr00p3r

* SBC — Single Board Computer

Il co-fondatore di Rancher Labs e autore di k3s non è rimasto indifferente a questo approccio

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Di seguito approfondiamo i blocchi costruttivi.

Modulo di Calcolo (Compute Module)

Per testare il concetto abbiamo scelto il Raspberry Pi Compute Module, che è una configurazione ideale per iniziare. La community RPi è attiva, non ci sono problemi con il software, e il modulo è nel formato SO-DIMM (6 x 3 cm), accessibile in termini di prezzo, contiene una CPU quad-core, 1 GB di RAM e opzionalmente memoria flash da 8, 16 o 32 GB per il sistema operativo e altre necessità di sistema. Questo tipo di fattore di forma è spesso utilizzato nelle soluzioni IoT industriali.

Raspberry Pi 1/3/3+ Compute Module

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Ma il modello CM3 ha anche seri limiti: max. 1 GB di RAM e Ethernet tramite USB HUB con una velocità massima fino a 100 Mbps. Pertanto, la seconda versione di Turing supporterà il Raspberry Pi 4 e fino a 8 GB di memoria operativa per modulo. Di seguito un esempio dei moduli Nvidia Jetson per compiti di Accelerated Computing. È possibile che ci sia supporto per questi nella seconda versione, se risolveremo alcune questioni tecniche, allora sarà possibile mescolare i moduli.

Moduli di calcolo Nvidia Jetson

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Nei moduli si nasconde la possibilità principale, che a prima vista non è ovvia. La possibilità di creare altri moduli in un form factor simile con diverse combinazioni di CPU, RAM ed eMMC, per tipi di compiti che spaziano dal general computing a calcoli intensivi di machine learning. È molto simile alle istanze AWS EC2, ma solo per l'edge. In questo caso, la scheda del cluster rimane invariata o subisce minime modifiche.

Cluster Board (Clusterboard)

Può anche essere chiamata scheda madre o scheda di base, un'area piuttosto nuova e ci sono pochi produttori di tali soluzioni al giorno d'oggi, e sono ancora a un livello abbastanza iniziale, tra cui Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (cluster SBC). La scheda del cluster unisce i moduli in rete, fornisce alimentazione e offre un bus di gestione del cluster (Cluster Management Bus); almeno abbiamo deciso di aggiungere questo bus e sembra che stia prendendo piede.

Fronte
Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Retro
Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Larghezza di banda del retro di 12 Gbps
Slot SD per moduli senza eMMC; ad esempio, è possibile mantenere un paio di moduli con SD per un accesso rapido ai dati del nodo.

Alla base della scheda del cluster c'è un chip switch per garantire la connessione di rete dei moduli e l'accesso alla rete esterna. Nella versione attuale utilizziamo uno switch unmanaged poiché non c'era tempo per una ricerca e sviluppo completa, ma per la seconda versione abbiamo scelto uno switch managed di buona qualità. È possibile configurare in modalità 'master node come router' per distribuire la rete alla scheda, se si richiede un livello di sicurezza e isolamento dei lavoratori dall'accesso esterno; in tal caso, è necessario mantenere anche un server DHCP sul master node.

Applicazione

La versione attuale è sperimentale e la posizioniamo come una soluzione entry-level per esplorare cos'è un cluster, lavorare con il software o come verifica delle ipotesi nelle organizzazioni, alla ricerca di nuove idee; in generale, si tratta di una versione Lite.

Per iniziare, ti consigliamo la serie del meraviglioso Jeff Geerling, che ha parlato di noi su Y Combinator; è l'autore del bestseller Ansible for DevOps. È rimasto così ispirato che ha realizzato una panoramica in sei episodi, che va dall'idea della clusterizzazione in generale fino a esempi pratici di lavoro con la scheda, l'esplorazione di Kubernetes e quale software è possibile installare.

Serie sull'installazione di k3s su un cluster.

Guarda il video

In generale, consiglio di partire dalla prima, lì si parla in dettaglio della clusterizzazione e di Kubernetes in un linguaggio accessibile. E ci sono anche alcune immagini della community.

Turing Pi — scheda del cluster per applicazioni e servizi self-hosted

Cosa succede dopo?

Innanzitutto, spero davvero che sia stato interessante. Questo è un contenuto completamente originale, un tentativo di guardare oltre l'orizzonte. In secondo luogo, ho in programma di scrivere una seconda parte sul design di Turing V2. Come è avvenuta la ricerca del prodotto, deduzioni logiche, ricerca delle principali caratteristiche che sono importanti. L'articolo conterrà schizzi del prodotto, dai primi bozzetti fino a quelli finali. Il secondo articolo sarà particolarmente interessante per i product manager, coloro che si occupano dei prodotti e del loro sviluppo all'interno delle aziende.

E probabilmente sarà davvero una lettura lunga.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster