Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Turing Pi ist eine Lösung fĂŒr self-hosted Anwendungen, die nach dem Rack-Standardsatz in Rechenzentren aufgebaut ist, jedoch auf einer kompakten Hauptplatine. Die Lösung richtet sich an den Aufbau einer lokalen Infrastruktur fĂŒr die lokale Entwicklung und das Hosting von Anwendungen und Diensten. Es ist im Grunde wie AWS EC2, nur fĂŒr Edge.

Wir, ein kleines Team von Entwicklern, haben uns entschieden, eine Lösung fĂŒr den Aufbau von Bare-Metal-Clustern im Edge-Bereich zu schaffen und das Projekt Turing Pi genannt. Das Produkt begann als Prototyp, jedoch haben nun Entwicklungsabteilungen von Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook und eine wachsende Entwicklergemeinde von rund 10K es bestellt.

Aber alles begann mit einer Entdeckung.

Produkteröffnung

FrĂŒher habe ich fĂŒr mich entdeckt, dass wir nichts erfinden. Alle Dinge, die in dieser Welt existieren, werden von uns entdeckt. Wir entdecken, dass einige Teile kombiniert werden können, um neue Eigenschaften von Produkten zu erhalten, oder wir entdecken Gesetze und kombinieren dann erneut. Es kann nichts erfunden werden, aber es kann wĂ€hrend der Erforschung entdeckt werden. Meiner Meinung nach ist eine Erfindung das Ergebnis stĂ€ndiger Beobachtungen, Experimente und SuchvorgĂ€nge plus das Kombinieren von Wissen.

Im letzten Jahrzehnt habe ich beobachtet, wie die Amateurbewegung Homelab (Ressource subreddit), self-hosted (Ressourcen subreddit und awesome-selfhosted), Einplatinencomputer, das Interesse am Starten von Containern auf Einplatinencomputern wie Raspberry Pi und das wachsende Interesse an der Bildung von Clustern aus Einplatinencomputern an Fahrt gewinnt. AllmĂ€hlich kommt auch die Idee von Kubernetes dazu. Eine leichte Version, k3s, die auf Edge/IoT ausgerichtet ist, ist bereits erschienen. Eine große Fast-Food-Kette, Chick-fil-A, hat als eine der ersten der Welt Kubernetes-Cluster in ihren KĂŒchen eingerichtet. kubectl mach mir ein Sandwich.

Ich sehe das als einen Schneeball, wie eine Technologie die andere umwickelt und ein komplexeres System erschafft. Dabei gibt es kein Chaos, es Ă€hnelt mehr einem Fraktal aus Technologien. In einem der fĂŒr mich ziemlich komplexen Momente in meinem Leben erkannte ich den Wert von Clustern, die von Amateurentwicklern aus Einplatinencomputern zusammengestellt werden, und begann an der Entwicklung einer Clusterplatine zu arbeiten.

Heute ist unsere Clusterplatine sehr einfach und vorrangig auf diejenigen ausgerichtet, die cloud-native Technologien lieben, Neues lernen und experimentieren möchten.

Bausteine (Building Blocks)

Was ist also die Lösung und worin besteht das Wesentliche? Es geht darum, einen Baukasten, die Bausteine (Building Blocks) bereitzustellen, aus denen eine Edge-Infrastruktur aufgebaut werden kann, die gĂŒnstiger ist als klassische Server, mobil und ohne sperrige MetallgehĂ€use, nicht anspruchsvoll hinsichtlich spezieller Betriebsbedingungen wie ServerrĂ€ume, energieeffizient, standardisiert in Bezug auf Module und mit der Möglichkeit einer schnellen Skalierung auf Dutzende oder Hunderte von Recheneinheiten (Prozessoren).

Clusterboard

Die Mini ITX-Platine verbindet mehrere Recheneinheiten ĂŒber ein Netzwerk auf der Platine, bietet Peripherieschnittstellen und Kontrolle ĂŒber die Module.

Rechenmodul

Eine Platine im SO-DIMM-Formfaktor, die einen Prozessor und RAM enthÀlt, optional Flash-Speicher zum Speichern des Betriebssystems.

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste
Eine der entworfenen Konfigurationen der Version Turing V2.

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Durch die Kombination von Clusterplatine und Rechenmodulen lĂ€sst sich leicht eine Infrastruktur mit beispielsweise ĂŒber 20 Prozessoren (siehe Beispiele unten) schaffen, die gerĂ€uschlos und energieeffizient ist. Die Clusterplatine selbst erhöht die Effizienz des genutzten Volumens. Beispiele fĂŒr Cluster zum Vergleich.

SBC-basiert*
Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste
24 CPUs
Autor Afkham Azeez

Turing Pi-basiert
Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste
21 CPUs
Autor th3st0rmtr00p3r

* SBC — Single Board Computer

Der MitbegrĂŒnder von Rancher Labs und Autor von k3s hat ein solches Konzept als bemerkenswert empfunden.

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Im Folgenden mehr ĂŒber die Bausteine.

Rechenmodul

Zur ÜberprĂŒfung des Konzepts haben wir das Raspberry Pi Compute Module gewĂ€hlt, das eine ideale Ausgangskonfiguration darstellt. Die RPi-Community ist aktiv, es gibt keine Softwareprobleme, das Modul im SO-DIMM-Format (6 x 3 cm) ist kostengĂŒnstig und enthĂ€lt einen Quad-Core-CPU, 1 GB RAM und optional 8, 16 oder 32 GB Flash-Speicher fĂŒr das Betriebssystem und andere SystembedĂŒrfnisse. Solch ein Formfaktor wird hĂ€ufig in industriellen IoT-Lösungen verwendet.

Raspberry Pi 1/3/3+ Compute Module

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Das Modell CM3 hat jedoch auch ernsthafte EinschrĂ€nkungen — max. 1 GB RAM und Ethernet ĂŒber einen USB-HUB mit maximaler Geschwindigkeit von bis zu 100 Mbps. Daher wird die zweite Version von Turing Raspberry Pi 4 mit bis zu 8 GB RAM pro Modul unterstĂŒtzen. Unten ein Beispiel fĂŒr Nvidia Jetson Module fĂŒr beschleunigte Computing-Aufgaben. Vielleicht wird es UnterstĂŒtzung in der zweiten Version geben, wenn wir einige technische Herausforderungen lösen können, dann könnte man Module mischen.

Nvidia Jetson Compute Modules

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

In den Modulen verbirgt sich die wichtigste Möglichkeit, die auf den ersten Blick nicht offensichtlich ist. Die Möglichkeit, andere Module in einem Ă€hnlichen Formfaktor mit unterschiedlichen CPUs, RAM und eMMC fĂŒr verschiedene Arten von Aufgaben von allgemeiner Berechnung bis hin zu machine learning intensiven Berechnungen zu schaffen. Das Ă€hnelt sehr den AWS EC2 Instanzen, jedoch nur fĂŒr Edge. Dabei bleibt die Clusterplatine unverĂ€ndert oder mit minimalen VerĂ€nderungen.

Clusterboard

Man kann sie auch als Hauptplatine oder Systemboard bezeichnen, es ist ein relativ neues Bereich, und die Hersteller solcher Lösungen sind heute nicht viele und stehen noch ziemlich am Anfang, darunter Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC-Cluster). Die Clusterplatine verbindet die Module ĂŒber ein Netzwerk, versorgt sie mit Strom und bietet einen Management-Bus fĂŒr den Cluster (Cluster Management Bus), den wir jedenfalls hinzugefĂŒgt haben und der scheinbar gut funktioniert.

Front
Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Hinten
Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Backplane Bandwidth 12 Gbps
SD-Slots fĂŒr Module ohne eMMC, zum Beispiel kann man ein paar Module mit SD halten fĂŒr schnellen Zugriff auf die Daten des Nodes.

Im Kern der Clusterplatine liegt ein Switch-Chip, der die Netzwerkverbindung zwischen den Modulen und den Zugang zum externen Netzwerk gewĂ€hrleistet. In der aktuellen Version verwenden wir einen unmanaged Switch, da es keine Zeit fĂŒr umfassende R&D gab, doch fĂŒr die zweite Version haben wir einen guten managed Switch gewĂ€hlt. Es ist möglich, eine Konfiguration im Modus 'Master Node als Router' zu verwenden, um das Netzwerk auf die Platine zu verteilen, falls ein höheres Maß an Sicherheit gefordert ist und die Arbeiter von externem Zugriff isoliert werden sollen, in diesem Fall sollte auf dem Master Node auch ein DHCP-Server gehalten werden.

Anwendung

Die aktuelle Version ist experimentell und wir positionieren sie als Einstiegslösung, um zu lernen, was Cluster sind, mit Software zu arbeiten oder als HypothesenprĂŒfung in Organisationen, um neue Ideen zu finden; im Allgemeinen so eine Lite-Version.

Um zu beginnen, empfehlen wir die Serie des großartigen Jeff Geerling, der auf uns bei Y Combinator aufmerksam wurde. Er ist der Autor des Bestsellers Ansible for DevOps. Er war so inspiriert, dass er eine sechs-teilige Übersicht gemacht hat, die von der Idee der Clusterbildung im Allgemeinen bis hin zu praktischen Beispielen fĂŒr die Arbeit mit der Platine reicht, einschließlich des Lernens von Kubernetes und welcher Software installiert werden kann.

Serie ĂŒber die Installation von k3s auf dem Cluster

Video abspielen

Ich empfehle, mit der ersten zu beginnen, die insgesamt ĂŒber Clusterbildung und Kubernetes in leicht verstĂ€ndlicher Sprache spricht. Und ein bisschen Bilder aus der Community.

Turing Pi — Clusterplatine fĂŒr self-hosted Anwendungen und Dienste

Was folgt jetzt?

ZunĂ€chst einmal hoffe ich sehr, dass es interessant war. Dies ist absolut origineller Inhalt, ein Versuch, ĂŒber den Horizont hinauszuschauen. Zweitens plane ich, einen zweiten Teil ĂŒber das Projekt Turing V2 zu schreiben. Wie die Produktsuche stattfand, logische Überlegungen, das Finden der wesentlichen Eigenschaften, die wichtig sind. Der Artikel wird Skizzen des Produkts von den frĂŒhesten bis zu den finalen enthalten. Der zweite Artikel wird besonders interessant fĂŒr Produktverantwortliche sein, die fĂŒr Produkte und deren Entwicklung in Unternehmen zustĂ€ndig sind.

Und wahrscheinlich wird es tatsÀchlich ein Long Read sein.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster