Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Turing Pi é uma solução para aplicações auto-hospedadas construídas com base no princípio de racks em um data center, apenas em uma placa-mãe compacta. A solução está focada na construção de uma infraestrutura local para desenvolvimento local e hospedagem de aplicações e serviços. Em geral, é como o AWS EC2 apenas para borda.

Nós, uma pequena equipe de desenvolvedores, decidimos criar uma solução para construir clusters bare-metal no edge e chamamos o projeto de Turing Pi. O produto começou como um projeto zero, mas agora, para testar seus conceitos, foi encomendado pelos departamentos de desenvolvimento da Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, e um público de desenvolvedores com menos de 10K é sendo recrutado.

Mas tudo começou com a descoberta.

Descoberta de produto

Era uma vez descobri que não inventamos nada. Descobrimos todas as coisas que existem neste mundo. Descobrimos que algumas partes podem ser combinadas, obtendo novas propriedades de produtos, ou descobrimos leis e depois as combinamos novamente. Você não pode descobrir nada, mas pode descobrir durante a pesquisa. Na minha opinião, uma invenção é o resultado de constante observação, experimentação e pesquisa + uma combinação de conhecimentos.

Na última década, observei o movimento amador de homelab ganhar impulso (recurso subreddit), auto-hospedado (recursos subreddit и incrível-auto-hospedado), computadores de placa única, à medida que cresce o interesse em executar contêineres em computadores de placa única, como o Raspberry Pi, há um movimento crescente para montar clusters de computadores de placa única. A ideia do Kubernetes está gradualmente se movendo para lá. Sua versão leve, k3s, focada em Edge/IoT, já apareceu. A grande rede de fast food Chick-fil-A é uma das primeiras no mundo a implantar clusters Kubernetes em suas cozinhas kubectl me faça um sanduíche.

Vejo isso como uma bola de neve, à medida que uma tecnologia envolve outra, criando um sistema mais complexo. Ao mesmo tempo, não há caos, é mais como um fractal da tecnologia. Em um dos momentos mais difíceis da minha vida, vi o valor dos clusters montados a partir de computadores de placa única por desenvolvedores amadores e comecei a trabalhar na criação de uma placa de cluster.

Hoje nosso cluster board é muito simples e é voltado principalmente para quem ama tecnologias nativas da nuvem, aprende coisas novas e experimenta.

Blocos de construção

Então, qual é a solução, qual é a essência. O objetivo é fornecer um construtor, blocos de construção (Building Blocks) a partir dos quais você possa montar infraestrutura de ponta mais barata do que em servidores clássicos, móveis sem caixas metálicas volumosas, não exigindo condições operacionais especiais, como salas de servidores, energeticamente eficientes, padronizados em termos de módulos e com a capacidade de escalar rapidamente em dezenas e centenas de nós de computação (processadores).

Painel de aglomerado

A placa Mini ITX conecta vários módulos de computação usando uma rede integrada, fornece interfaces periféricas e controle sobre os módulos

Módulo de computação

Uma placa no formato SO-DIMM contendo um processador e RAM, opcionalmente memória flash para armazenar o sistema operacional

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados
Uma das configurações projetadas para Turing V2

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Ao combinar uma placa cluster e módulos computacionais, é fácil criar uma infraestrutura para, por exemplo, mais de 20 processadores (exemplos abaixo), silenciosa e com baixo consumo de energia. A própria placa do cluster aumenta a eficiência do volume utilizado. Exemplos de clusters para comparação

Baseado em SBC*
Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados
24 CPUs
Escrito por Afkham Azeez

Baseado em Turing Pi
Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados
21 CPUs
autor th3st0rmtr00p3r

* SBC - Computador de Placa Única

O cofundador do Rancher Labs e autor do k3s não ficou indiferente a esta abordagem.

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Leia mais sobre blocos de construção abaixo.

Módulo de computação

Para a prova de conceito, escolhemos o Raspberry Pi Compute Module – esta é a configuração ideal para começar. A comunidade RPi está ativa, não há problemas com o software, o módulo em si está no formato SO-DIMM (6 x 3 cm), é acessível, contém uma CPU de 4 núcleos integrada, 1 GB de RAM e memória flash opcional de 8, 16 ou 32 GB para sistema operacional e outras necessidades do sistema. Esse formato é frequentemente usado em soluções industriais de IoT.

Módulo de computação Raspberry Pi 1/3/3+

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Mas o modelo CM3 também tem sérias limitações - máx. 1 GB de RAM e Ethernet via USB HUB com velocidade máxima de até 100 Mbps. Portanto, a segunda versão do Turing terá suporte para Raspberry Pi 4 e até 8 GB de RAM por módulo. Abaixo está um exemplo de módulos Nvidia Jetson para tarefas de computação acelerada. Talvez sejam suportados na segunda versão, se resolvermos alguns problemas técnicos podemos misturar módulos.

Módulos de computação Nvidia Jetson

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Os módulos contêm o recurso mais importante, que não é óbvio à primeira vista. A capacidade de criar outros módulos em um formato semelhante com um conjunto diferente de CPU, RAM e eMMC, para diferentes tipos de tarefas, desde computação geral até computação com uso intensivo de aprendizado de máquina. Isso é muito semelhante às instâncias AWS EC2, mas apenas para borda. Neste caso, a placa do cluster permanece inalterada ou com pequenas alterações.

Painel de aglomerado

Também pode ser chamada de placa-mãe ou placa base, uma direção relativamente nova e hoje não existem muitos fabricantes dessas soluções e ainda estão no nível básico, entre eles Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (clusters SBC ). A placa do cluster conecta os módulos a uma rede, fornece energia e fornece um barramento de gerenciamento de cluster (Cluster Management Bus), pelo menos decidimos adicionar esse barramento e parece que ele criou raízes.

Frente
Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Voltar
Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Largura de banda do backplane 12 Gbps
Slots SD para módulos sem eMMC, por exemplo, você pode manter alguns módulos com SD para acesso rápido aos dados do nó

A placa do cluster é baseada em um chip switch para garantir a conexão dos módulos em rede e o acesso a uma rede externa. Na versão atual usamos switch não gerenciado porque Não houve tempo para realizar P&D completo, mas para a segunda versão escolhemos um bom switch gerenciado. É possível configurá-lo no modo 'nó mestre como roteador' para distribuir a rede à placa; isto se for necessário um maior nível de segurança e isolamento dos trabalhadores do acesso externo, caso em que também é necessário manter um servidor DHCP no nó mestre.

Aplicação

A versão atual é experimental e estamos posicionando-a como uma solução de entrada para aprender o que são clusters, trabalhar com o software, ou como testar hipóteses nas organizações, em busca de novas ideias, em geral, esta é uma versão Lite.

Para começar, recomendamos uma série do maravilhoso Jeff Girling, que leu sobre nós no Y Combinator e é autor do livro best-seller Ansible for DevOps. Ele ficou tão inspirado que fez uma revisão em 6 partes, partindo da ideia de clustering em geral até exemplos práticos de como trabalhar com a placa, estudando Kubernetes e quais softwares podem ser instalados

Série sobre instalação de k3s em um cluster

reprodução de vídeo

Em geral, recomendo assistir desde o primeiro, lá em geral sobre clustering e Kubernetes em uma linguagem acessível. E algumas fotos da comunidade

Turing Pi - placa de cluster para aplicativos e serviços auto-hospedados

Qual é o próximo?

Em primeiro lugar, espero realmente que tenha sido interessante. Este é um conteúdo absolutamente original, uma tentativa de olhar além do horizonte. Em segundo lugar, pretendo escrever uma segunda parte sobre o design do Turing V2. Como ocorreu a busca pelo produto, julgamentos lógicos, busca pelas principais propriedades que são importantes. O artigo conterá esboços de produtos, desde os primeiros até os finais. O segundo artigo será de particular interesse para os cientistas de produto, responsáveis ​​pelos produtos e pelo seu desenvolvimento nas empresas.

E provavelmente haverá uma leitura muito longa.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster