Página Inicial>Relacionado com a programação>Outro código-fonte
Uma alternativa a: Vercel, Netlify, Cloudflare, Amazon Lambda com CloudFront, S3, Elasticache & Sqs, etc ...

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:

  1. Instale tau

    curl https://get.tau.link/tau | sh
  2. Configure

    tau config generate -n yourdomain.com -s compute --services all --ip your_public_ip --dv --swarm
  3. 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.

Fundo

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.

Configuração mínima

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.

A codificação local é igual a produção global

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.

Git-nativo

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.

Networking

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.

Armazenar

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:

Computação

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).

Teste E2E

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.

Executando uma nuvem local

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.

Estendendo a tau

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.

Documentação

Para saber mais, verifique:

Para uma documentação abrangente, visite nossa documentação.

Apoiar

Perguntas ou precisa de assistência? Ping nos ping na discórdia!

Expandir
Informações adicionais