Turing Pi — matična plošča za self-hosted aplikacije in storitve

Turing Pi — matična plošča za self-hosted aplikacije in storitve

Turing Pi is a solution for self-hosted applications built on the principle of racks in data centers, but on a compact motherboard. The solution is aimed at building local infrastructure for local development and hosting of applications and services. In general, it's like AWS EC2, but for edge environments.

We are a small team of developers who decided to create a solution for building bare-metal clusters at the edge and named the project Turing Pi. The product started as a grassroots initiative, but now it has been ordered by development departments at Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, and is attracting a developer audience nearing 10K.

But it all started with a discovery.

The Product Discovery

I once made a discovery for myself that we do not invent anything. All the things that exist in this world, we discover. We discover that some parts can be combined together, gaining new properties of products, or we uncover laws and then combine them again. Nothing can be invented, but discoveries can be made during research. In my opinion, invention is the result of constant observations, experiments, and seeking + the combination of knowledge.

Over the last decade, I have observed how the homelab movement has been gaining momentum (resource subreddit), self-hosted (resources subreddit in awesome-selfhosted), single-board computers, and how interest in running containers on single-board computers like Raspberry Pi is growing, as well as the movement of building clusters from single-board computers. Gradually, the idea of Kubernetes is also drawing attention. A lightweight version, k3s, focused on Edge/IoT, has already emerged. One of the world's largest fast food chains, Chick-fil-A, was among the first to deploy Kubernetes clusters in their kitchens. kubectl make me a sandwich.

I see this as a snowball effect, how one technology wraps around another, creating a more complex system. There is no chaos; it resembles a fractal of technologies. At one of the more complicated moments in my life, I saw value in clusters built from single-board computers by hobbyist developers and started working on creating a cluster board.

Today, our cluster board is very simple and primarily aimed at those who love cloud-native technologies, eager to learn new things and experiment.

Building Blocks

Torej, kaj točno je rešitev in kakšna je njena bistvo. Bistvo je v tem, da ponudi konstruktor, gradbene bloke (Building Blocks), s katerimi lahko zgradite robno infrastrukturo ceneje kot na klasičnih strežnikih, prenosno in brez obsežnih kovinskih omar, ki ne zahtevajo posebnih pogojev okolja, energijsko učinkovito, standardizirano v smislu modulov in z možnostjo hitrega širjenja na desetine in stotine računalniških enot (procesorjev).

Clusterboard

Mini ITX plošča povezuje več računalniških modulov prek omrežja na plošči, nudi periferni vmesnik in nadzor nad moduli

Računalniški modul

Plošča v formatu SO-DIMM, ki vsebuje procesor in pomnilnik, opcijsko bliskovna pomnilnika za shranjevanje operacijskega sistema

Turing Pi — matična plošča za self-hosted aplikacije in storitve
Ena izmed načrtovanih konfiguracij različice Turing V2

Turing Pi — matična plošča za self-hosted aplikacije in storitve

S kombiniranjem clusterboard in računalniških modulov je enostavno ustvariti infrastrukturo na 20+ procesorjih (primeri spodaj), brezšumno in z nizko porabo energije. Sama clusterboard povečuje učinkovitost uporabljenega prostora. Primeri grozdov za primerjavo

Na osnovi SBC*
Turing Pi — matična plošča za self-hosted aplikacije in storitve
24 CPU-jev
Avtor Afkham Azeez

Na osnovi Turing Pi
Turing Pi — matična plošča za self-hosted aplikacije in storitve
21 CPU-jev
Avtor th3st0rmtr00p3r

* SBC — Samostojna računalniška plošča

Sodelavca Rancher Labs in avtor k3s, ta pristop ni ostal nepazljen

Turing Pi — matična plošča za self-hosted aplikacije in storitve

O nadaljnjih gradbenih blokih podrobneje.

Računalniški Modul

Za preverjanje koncepta smo izbrali Raspberry Pi Compute Module, kar je idealna konfiguracija za začetek. Skupnost RPi je aktivna, ni težav s programsko opremo, sam modul je v formatu SO-DIMM (6 x 3 cm), cenovno dostopen, vsebuje 4-jedrni procesor, 1 GB RAM in opcijsko bliskovno pomnilnik 8, 16 ali 32 GB za OS in druge sistemske potrebe. Podoben format pogosto uporabljajo v industrijskih IoT rešitvah.

Raspberry Pi 1/3/3+ Compute Module

Turing Pi — matična plošča za self-hosted aplikacije in storitve

Vendar pa ima model CM3 tudi resne omejitve — max. 1 GB RAM in Ethernet preko USB HUB-a z maksimalno hitrostjo do 100 Mbps. Zato bo druga različica Turing podpirala Raspberry Pi 4 in do 8 GB operativnega pomnilnika na modul. Spodaj je primer Nvidia Jetson modulov za pospešeno računalništvo. Morda bo njihova podpora v drugi različici, če rešimo nekatere tehnične izzive, takrat bomo lahko mešali module.

Nvidia Jetson Compute Modules

Turing Pi — matična plošča za self-hosted aplikacije in storitve

V modulih se skriva najboljša možnost, ki na prvi pogled ni očitna. Možnost ustvarjanja drugih modulov v podobnem formatu z različnimi nabori CPU, RAM in eMMC, za različne vrste nalog, od splošnega računalništva do intenzivnih izračunov za strojno učenje. To je zelo podobno AWS EC2 instancam, vendar le za edge. Pri tem pa klasterska plošča ostaja nespremenjena ali z manjšimi spremembami.

Clusterboard

Lahko jo imenujemo tudi matična plošča ali osnovna plošča, kar je dokaj nova smer, proizvajalcev takšnih rešitev pa danes ni veliko in so še vedno na začetni ravni, med njimi so Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC klasteri). Klusterska plošča povezuje module z omrežjem, zagotavlja napajanje in nudi vodilo za upravljanje klasterja (Cluster Management Bus), vsaj to vodilo smo se odločili dodati in se je očitno prijelo.

Spredaj
Turing Pi — matična plošča za self-hosted aplikacije in storitve

Zadaj
Turing Pi — matična plošča za self-hosted aplikacije in storitve

Bandwith zadnje plošče 12 Gbps
SD reže za module brez eMMC, na primer, lahko zadržimo nekaj modulov z SD za hiter dostop do podatkov vozlišča

V središču klasterske plošče je mikročip stikala za zagotavljanje omrežne povezave modulov in izhoda v zunanje omrežje. V trenutni različici uporabljamo unmanaged switch, ker nismo imeli časa za temeljito R&D, toda za drugo različico smo izbrali dokaj dobro managed switch. Možna je konfiguracija v načinu 'master vozlišče kot usmerjevalnik' za delitev omrežja na ploščo, če je potrebna višja stopnja varnosti in izolacije delavcev od zunanjega dostopa, v tem primeru je tudi na master vozlišču potrebno imeti DHCP strežnik.

Uporaba

Trenutna različica je eksperimentalna in jo pozicioniramo kot začetno rešitev za raziskovanje, kaj so klasterji, delo s programsko opremo ali kot preverjanje hipotez v organizacijah, iskanje novih idej, preprosto v takšni Lite različici.

Za začetek priporočamo serijo odličnega Jeffa Geerlinga, ki je o nas slišal na Y Combinator, je avtor bestselerja Ansible for DevOps. Tako se je navdušil, da je naredil 6-delni pregled, ki se začne z idejo klasterizacije na splošno do praktičnih primerov dela s ploščo, učenja Kubernetes in katere programske opreme lahko namestimo.

Serija o namestitvi k3s na klaster

Predvajaj video

Priporočam, da začnete s prvo, tam je splošno o klasterizaciji in Kubernetes z dostopnim jezikom. In nekaj slik iz skupnosti.

Turing Pi — matična plošča za self-hosted aplikacije in storitve

Kaj zdaj?

Prvič, res upam, da je bilo zanimivo. To je popolnoma avtorske vsebine, poskus vpogleda v prihodnost. Drugič, načrtujem napisati drugi del o zasnovi Turing V2. Kako je potekalo iskanje proizvoda, logične dedukcije, iskanje osnovnih lastnosti, ki so pomembne. Članek bo vseboval skice proizvoda od najzgodnejših do končnih. Drugi članek bo še posebej zanimiv za produktne menedžerje, ki so odgovorni za proizvode in njihov razvoj v podjetjih.

In verjetno bo to res dolg članek.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster