Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Turing Pi er en løsning til selv-hostede applikationer bygget på princippet om rack-racks i et datacenter, kun på et kompakt bundkort. Løsningen er fokuseret på at opbygge en lokal infrastruktur til lokal udvikling og hosting af applikationer og tjenester. Generelt er det ligesom AWS EC2 kun for edge.

Vi, et lille team af udviklere, besluttede at skabe en løsning til at bygge bare-metal-klynger i kant og kaldte projektet Turing Pi. Produktet startede som et scratch-projekt, men nu, for at teste deres koncepter, er det blevet bestilt af udviklingsafdelinger hos Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, og et publikum af udviklere under 10K er bliver rekrutteret.

Men det hele startede med opdagelsen.

Produktopdagelse

Engang gjorde jeg den opdagelse, at vi ikke opfinder noget. Vi opdager alle ting, der findes i denne verden. Vi opdager, at nogle dele kan kombineres og opnå nye egenskaber ved produkter, eller vi opdager love og derefter kombinerer dem igen. Man kan ikke finde på noget, men man kan opdage det under research. Efter min mening er en opfindelse resultatet af konstant observation, eksperimentering og søgning + en kombination af viden.

I løbet af det sidste årti har jeg set amatør-homelab-bevægelsen tage fart (ressource subreddit), selvvært (ressourcer subreddit и fantastisk-selvhostet), singleboard-computere, efterhånden som interessen for at køre containere på single-board-computere som Raspberry Pi vokser, er der en voksende bevægelse for at samle klynger af single-board-computere. Ideen om Kubernetes flytter gradvist dertil. Dens letvægtsversion, k3s, fokuseret på Edge/IoT, er allerede dukket op. Den store fastfoodkæde Chick-fil-A er en af ​​de første i verden til at implementere Kubernetes-klynger i sine køkkener kubectl laver mig en sandwich.

Jeg ser det som en snebold, da en teknologi omslutter en anden og skaber et mere komplekst system. Samtidig er der intet kaos, mere som en fraktal fra teknologi. På et af de ret svære øjeblikke i mit liv for mig, så jeg værdien i klynger, der er samlet fra enkeltkortscomputere af amatørudviklere, og begyndte at arbejde på at skabe et klyngekort.

I dag er vores klyngeboard meget simpelt og er primært rettet mod dem, der elsker cloud-native teknologier, lærer nye ting og eksperimenterer.

Byggesten

Så hvad er løsningen, hvad er essensen. Pointen er at skaffe en konstruktør, byggeklodser (Building Blocks), hvorfra du kan sammensætte kantinfrastruktur billigere end på klassiske servere, mobil uden voluminøse metalkasser, ikke krævende for specielle driftsforhold såsom serverrum, energieffektiv, standardiseret mht. af moduler og med evnen til hurtigt at skalere til tiere og hundreder af computerknudepunkter (processorer).

Clusterboard

Mini ITX-kort forbinder flere computermoduler ved hjælp af et indbygget netværk, giver perifere grænseflader og kontrol over modulerne

Beregningsmodul

Et kort i SO-DIMM-formfaktoren indeholdende en processor og RAM, eventuelt flashhukommelse til lagring af operativsystemet

Turing Pi - klyngekort til selv-hostede applikationer og tjenester
En af de forventede konfigurationer til Turing V2

Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Ved at kombinere et klyngekort og computermoduler er det nemt at skabe en infrastruktur til for eksempel 20+ processorer (eksempler nedenfor), lydløs og med lavt strømforbrug. Selve klyngepladen øger effektiviteten af ​​det brugte volumen. Eksempler på klynger til sammenligning

SBC baseret*
Turing Pi - klyngekort til selv-hostede applikationer og tjenester
24 CPU'er
Indsendt af Afkham Azeez

Turing Pi baseret
Turing Pi - klyngekort til selv-hostede applikationer og tjenester
21 CPU'er
Forfatter th3st0rmtr00p3r

* SBC - Single Board Computer

Medstifteren af ​​Rancher Labs og forfatteren af ​​k3s var ikke ligeglad med denne tilgang.

Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Læs mere om byggeklodser nedenfor.

Beregningsmodul

Som proof of concept valgte vi Raspberry Pi Compute Module - dette er den ideelle konfiguration til at starte med. RPi-fællesskabet er aktivt, der er ingen problemer med softwaren, selve modulet er i SO-DIMM-format (6 x 3 cm), er overkommeligt, indeholder en 4-core CPU, 1 GB RAM og valgfri flashhukommelse på 8, 16 eller 32 GB til OS og andre systembehov. Denne formfaktor bruges ofte i industrielle IoT-løsninger.

Raspberry Pi 1/3/3+ beregningsmodul

Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Men CM3-modellen har også alvorlige begrænsninger - max. 1 GB RAM og Ethernet via USB HUB med en maksimal hastighed på op til 100 Mbps. Derfor vil den anden version af Turing understøtte Raspberry Pi 4 og op til 8 GB RAM pr. modul. Nedenfor er et eksempel på Nvidia Jetson-moduler til Accelerated Computing-opgaver. Måske vil de blive understøttet i den anden version, hvis vi løser nogle tekniske problemer, så kan vi blande moduler.

Nvidia Jetson Compute-moduler

Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Modulerne indeholder den vigtigste funktion, som ikke er tydelig ved første øjekast. Muligheden for at skabe andre moduler i en lignende formfaktor med et andet sæt CPU, RAM og eMMC til forskellige typer opgaver fra generel databehandling til maskinlæringsintensiv databehandling. Dette minder meget om AWS EC2-instanser, men kun for edge. I dette tilfælde forbliver klyngebrættet uændret eller med mindre ændringer.

Clusterboard

Det kan også kaldes et bundkort eller bundkort, en ret ny retning, og i dag er der ikke mange producenter af sådanne løsninger og er stadig helt på startniveau, blandt dem Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC-klynger) ). Klyngekortet forbinder modulerne med et netværk, giver strøm og giver en klyngestyringsbus (Cluster Management Bus), i det mindste besluttede vi at tilføje denne bus, og den ser ud til at have slået rod.

Front
Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Tilbage
Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Backplane båndbredde 12 Gbps
SD-slots til moduler uden eMMC, for eksempel kan du beholde et par moduler med SD for hurtig adgang til nodedata

Klyngekortet er baseret på en switch-chip for at sikre netværkstilslutning af moduler og adgang til et eksternt netværk. I den nuværende version bruger vi ikke-administreret switch, fordi Der var ikke tid til at udføre fuldgyldig R&D, men til den anden version valgte vi en god styret switch. Det er muligt at konfigurere det i 'master node som router'-tilstand for at distribuere netværket til kortet; dette er, hvis et højere niveau af sikkerhed og isolering af arbejdere fra ekstern adgang er påkrævet, i hvilket tilfælde det også er nødvendigt at holde en DHCP-server på masternoden.

Ansøgning

Den nuværende version er eksperimentel, og vi placerer den som en entry-level-løsning for at lære, hvad klynger er, arbejde med softwaren eller som test af hypoteser i organisationer, søgning efter nye ideer, generelt er dette en Lite-version.

For at komme i gang anbefaler vi en serie fra den vidunderlige Jeff Girling, som læste om os på Y Combinator og er forfatter til den bedst sælgende bog Ansible for DevOps. Han var så inspireret, at han lavede en 6-delt gennemgang, der startede fra ideen om klyngedannelse generelt til praktiske eksempler på at arbejde med bestyrelsen, studere Kubernetes og hvilken software der kan installeres

Serie om installation af k3s på en klynge

Generelt anbefaler jeg at se fra den første, der generelt om clustering og Kubernetes på et tilgængeligt sprog. Og nogle billeder fra fællesskabet

Turing Pi - klyngekort til selv-hostede applikationer og tjenester

Hvad er det næste?

Først og fremmest håber jeg virkelig, at det var interessant. Dette er absolut originalt indhold, et forsøg på at se ud over horisonten. For det andet planlægger jeg at skrive en anden del om designet af Turing V2. Hvordan søgningen efter produktet foregik, logiske vurderinger, søgningen efter de vigtigste egenskaber, der er vigtige. Artiklen vil indeholde produktskitser fra de tidligste til de endelige. Den anden artikel vil være af særlig interesse for produktforskere, som er ansvarlige for produkter og deres udvikling i virksomheder.

Og højst sandsynligt bliver der rigtig lang læsning.

Kilde: www.habr.com

Tilføj en kommentar