Explore os documentos »
Guia de início rápido · Experimente nossa nuvem de sandbox · Junte -se à nossa discórdia
O Tau é uma estrutura para a construção de plataformas de computação em nuvem de baixa manutenção e altamente escaláveis que os desenvolvedores de software vão adorar!
tau
é um binário único, sem dependências externas, exceto bibliotecas de sistemas padrão. Além disso, requer configuração mínima. Estas são as principais etapas:
Instale tau
curl https://get.tau.link/tau | sh
Configure
tau config generate -n yourdomain.com -s compute --services all --ip your_public_ip --dv --swarm
Lançar
tau start -s compute
Para um guia completo passo a passo, consulte a TAU implantada.
Construir tau
Youlhelf é uma go build
direta, já que você foi instalado.
O custo e o tempo necessários para criar software, levá-lo do ambiente de desenvolvimento para a produção e, em seguida, escalá-lo efetivamente para atender à demanda do usuário final são extremamente altos.
Plataformas amigáveis para desenvolvedores, como os principais provedores de computação em nuvem, são caros, bloqueiam os usuários e ignoram o desenvolvimento local e o teste E2E.
Este é realmente um problema bilateral. Você economiza no custo da infraestrutura ou reduz o tempo de desenvolvimento?
Se você investe em sua própria plataforma, é uma estrada rochosa que impede a velocidade do desenvolvimento e geralmente acaba custando mais. Todos sabemos que o conto de fadas de Kubernetes não termina bem!
Se você investe na velocidade de desenvolvimento, está limitado pelos recursos e custos do seu provedor.
Para nós, resolver esse problema significa:
tau
resolve para construir e manter uma plataforma de computação em nuvem e também fornece as fundações para uma incrível experiência de desenvolvedor.
Uma das razões pelas quais tau
requer configuração mínima é porque possui descoberta automática interna. Assim como um carro autônomo que coleta informações através de sensores, tau
coletará informações e tentará encontrar as melhores maneiras de ser acessível, disponível, etc.
Dito isto, é necessária alguma configuração como os pares de bootstrap. A menos que você esteja executando uma nuvem de um único nó, cada nó precisará conhecer pelo menos um outro par.
Uma nuvem construída com tau
é muito dinâmica; Em um nível baixo, os nós comunicam ativos, rotas e serviços e também trocam informações sobre outros pares. Enriquecido por serviços distribuídos como seer
e gateway
, a nuvem pode carregar solicitações recebidas para garantir o desempenho e a confiabilidade ideais.
Esse comportamento também é incorporado aos recursos da nuvem. Por exemplo, um protocolo que chamamos hoarder
garante que os armazenamentos e bancos de dados de objetos sejam replicados; Tudo o que você precisa fazer é ativá -lo em alguns nós.
Na sua configuração tradicional, a plataforma é um conjunto complexo de modelos, dutos e integrações que ajudam a transformar a configuração em chamadas de API e codificar em ativos. Devido a essa complexidade, e também pelo fato de muitos componentes precisarem correr dentro de um ambiente muito complexo, é impossível satisfazer a equação 'local == Produção'.
É verdade que existem algumas soluções que zombam ou redirecionam para desenvolver recursos, permitindo que os desenvolvedores construam ou depurem localmente. No entanto, ainda é um serviço de terceiros que você precisa para integrar e gerenciar.
Para satisfazer a equação, decidimos construir tau
para que ela simplifique, portas e/ou caixas de areia todos os aspectos da nuvem.
Tradicionalmente, você faz interface com a infraestrutura por meio de chamadas de API. É o caso de todos os provedores de computação em nuvem, juntamente com soluções de orquestração como o Kubernetes.
Alguns anos atrás, o conceito de gitops começou a fazer ondas, e foi nesse momento que começamos a construir, então decidimos cortar o lixo desnecessário entre a definição de um recurso em nuvem, que deve ser armazenado no Git e sua instanciação .
Como resultado, tau
não possui chamadas de API para criar uma função sem servidor, por exemplo. Em vez disso, adota o Git como a única maneira de alterar a infraestrutura.
Além disso, o git é essencial para tau
significa que os nós na nuvem sintonizam uma ramificação específica, por padrão principal ou mestre. Entre o que permite, é uma maneira fácil de configurar ambientes de desenvolvimento, por exemplo.
Um caso de uso específico é o desenvolvimento local.
Além dos nós que estão em uma filial, o Registro de Aplicativos, gerenciado pelo Protocolo 'TNS', usa IDs de confirmação para entradas de versão, permitindo que nós, que servem os ativos para detectar novas versões ou uma reversão para esse assunto.
Internamente, tau
, usando o libp2p, cria uma rede de sobreposição de ponto a ponto entre os nós, permitindo alguns recursos bem legais como:
A menos que seja absolutamente necessário, o que é extremamente raro, nenhum software bem projetado deve confiar em endereços e portas IP. É por isso que toda nuvem tau
é identificada com um FQDN (ou seja, Enterprise.Starships.WS), portanto, nenhuma referência de rede absoluta é usada em um aplicativo. Sob o capô, a nuvem cuidará transparentemente da resolução do DNS e do balanceamento de carga HTTP, eliminando a necessidade de configurá -los.
Em todas as outras implementações da computação em nuvem, o armazenamento significa um local e geralmente um caminho. Por exemplo, https://tau.how/assets/logo-w.svg
possui dois componentes principais tau.how
, que se traduz em um endereço IP e um local, e /assets/logo-w.svg
, que é um caminho em relação à localização. Essa maneira de abordar, chamada "endereço baseado em localização", simplesmente não é portátil. Por que? você pode perguntar. Bem, para iniciantes, nada garante que os dados retornados sejam um logotipo SVG neste caso. A outra questão é o tau.how
o host que conectamos pode não tê -lo.
Para resolver esse problema, tau
usa o endereço de conteúdo, um conceito introduzido por redes de torrent e popularizado pelo IPFS.
Então, quando você solicita https://tau.how/assets/logo-w.svg
, que é realmente hospedado por uma nuvem tau
, o host que lida com a solicitação será resolvido ( host=tau.how, path=/assets/logo-w.svg
) Para um endereço de conteúdo, ou CID, recupere o leitor de conteúdo e encaminhe -o através de um escritor HTTP para você.
Alguns fatos legais sobre esta abordagem:
A partir de hoje, tau
suporta WebAssembly para computação. A razão pela qual começamos é que é altamente portátil e sandbox. Apoiamos contêineres para CI/CD, mas ainda não para computação. Estamos trabalhando em uma maneira de implementar contêineres e máquinas virtuais enquanto cumprem nossos princípios de portabilidade e sandboxing.
O código, binário, imagens, juntamente com qualquer ativo anexado, é armazenado e recuperado usando os mesmos princípios descritos no armazenamento, o que reduz consideravelmente o tempo de provisionamento e aproxima a computação dos dados (gravidade dos dados) e/ou usuário (computação de borda).
Se você deseja criar testes E2E para projetos hospedados no tau
, pode usar dream
, um sub-pacote dentro tau
. Ainda não temos documentação para isso, mas você pode aprender rapidamente com testes como serviços/SEER/tests/dns_test.go.
Embora você não possa praticamente executar tau
em sua máquina local, você pode fazê-lo usando o Dream-Cli, que é um invólucro da CLI em torno dream
. Ele cria ambientes de nuvem local espelhando as configurações de produção. Ao contrário tau
, oferece uma API para configuração e teste em tempo real.
tau
pode ser estendido usando um sistema de plug -in que chamamos de órbita. Um exemplo de código aberto é o ollama-cloud, que demonstra como adicionar recursos LLM à sua nuvem.
Para saber mais, verifique:
Para uma documentação abrangente, visite nossa documentação.
Perguntas ou precisa de assistência? Ping nos ping na discórdia!