Inicio>Relacionado con la programación>Otro código fuente
Una alternativa a: Vercel, Netlify, Cloudflare, Amazon Lambda con CloudFront, S3, Elasticache & SQS, etc.

Explore los documentos »
Guía de inicio rápido · Prueba nuestra nube de sandbox · Únete a nuestra discordia



¡Tau es un marco para construir plataformas de computación en la nube de bajo mantenimiento y altamente escalable que los desarrolladores de software les encantará!

tau es un solo binario sin dependencias externas, excepto las bibliotecas de sistemas estándar. Además de eso, requiere una configuración mínima. Estos son los pasos principales:

  1. Instalar tau

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

    tau config generate -n yourdomain.com -s compute --services all --ip your_public_ip --dv --swarm
  3. Lanzamiento

    tau start -s compute

Para obtener una guía paso a paso completa, consulte Implement TAU.

Building tau Youff es una go build Dado que ha instalado.

Fondo

El costo y el tiempo requeridos para construir software, llevarlo del entorno de desarrollo a la producción y luego escalarlo efectivamente para satisfacer la demanda del usuario final son extremadamente altos.

Las plataformas amigables para los desarrolladores, como los principales proveedores de computación en la nube, son caras, bloquean a los usuarios y pasan por alto el desarrollo local y las pruebas E2E.

Este es realmente un problema de dos lados. ¿Ahorra en el costo de infraestructura o reduce el tiempo de desarrollo?

Si invierte en su propia plataforma, es un camino rocoso que impide la velocidad del desarrollo y generalmente termina costando más. ¡Todos sabemos que el cuento de hadas de Kubernetes no termina bien!

Si invierte en velocidad de desarrollo, está limitado por las características y el costo de su proveedor.

Para nosotros, resolver este problema significa:

tau se resuelve para construir y mantener una plataforma de computación en la nube, y también proporciona las bases para una increíble experiencia de desarrollador.

Configuración mínima

Una de las razones por las que tau requiere una configuración mínima es porque tiene un descubrimiento automático incorporado. Al igual que una información de recopilación de autos autónomos a través de sensores, tau recopilará información e intentará encontrar las mejores formas de ser accesibles, disponibles, etc.

Dicho esto, es necesaria alguna configuración como los compañeros de arranque. A menos que esté ejecutando una nube de nodo único, cada nodo necesitará conocer al menos otro par.

Una nube construida con tau es muy dinámica; En un nivel bajo, los nodos comunican activos, rutas y servicios, y también intercambian información sobre otros pares. Enriquecido por servicios distribuidos como seer y gateway , la nube puede equilibrar las solicitudes entrantes para garantizar un rendimiento y una confiabilidad óptimos.

Este comportamiento también está integrado en los recursos de la nube. Por ejemplo, un protocolo que llamamos hoarder garantiza que se replicen almacenes de objetos y bases de datos; Todo lo que necesita hacer es habilitarlo en algunos nodos.

La codificación local es igual a la producción global

En su configuración tradicional, la plataforma es un conjunto complejo de plantillas, tuberías e integraciones que, en última instancia, ayudan a convertir la configuración en llamadas de API y código en activos. Debido a esa complejidad, y también al hecho de que muchos componentes deben funcionar dentro de un entorno muy complejo, es imposible satisfacer la ecuación de 'producción local =='.

De acuerdo, hay algunas soluciones que se burlan o redirigen a los recursos de desarrollo/product, lo que permite a los desarrolladores construir o depurar localmente. Sin embargo, sigue siendo un servicio de terceros que necesita integrar y administrar.

Para satisfacer la ecuación, decidimos construir tau para que simplifique, los puertos y/o las cajas de arena en todos los aspectos de la nube.

Nativo

Tradicionalmente, interactúa con la infraestructura a través de llamadas API. Este es el caso de cada proveedor de computación en la nube junto con soluciones de orquestación como Kubernetes.

Hace unos años, el concepto de Gitops comenzó a hacer olas, y eso fue alrededor del momento en que comenzamos a construir, por lo que decidimos cortar la basura innecesaria entre la definición de un recurso en la nube, que debería almacenarse en GIT y su instanciación .

Como resultado, tau no tiene llamadas API para crear una función sin servidor, por ejemplo. En cambio, adopta GIT como la única forma de alterar la infraestructura.

Además, GIT es núcleo de tau significa que los nodos en la nube sintonizan una rama específica, por principal o maestro predeterminado. Entre lo que permite es una manera fácil de configurar entornos de desarrollo, por ejemplo.

Un caso de uso específico es el desarrollo local en cuyo caso los nodos Dream-Cli también se pueden sintonizar en la rama actual.

Además de que los nodos están en una sucursal, el registro de aplicaciones, administrado por el protocolo 'TNS', utiliza ID de confirmación para entradas de versión, lo que permite que los nodos que sirvan a los activos detecten nuevas versiones, o un retroceso para el caso.

Networking

Internamente, tau , usando libp2p, construye una red de igual a igual entre los nodos, lo que permite algunas características geniales como:

A menos que sea absolutamente necesario, lo cual es extremadamente raro, ningún software bien diseñado debe depender de direcciones IP y puertos. Esta es la razón por la cual cada nube tau se identifica con un FQDN (es decir, Enterprise.starships.ws), por lo que no se utiliza ninguna referencia de red absoluta en una aplicación. Debajo del capó, la nube se encargará de la resolución DNS y el equilibrio de carga HTTP, eliminando la necesidad de configurarlos.

Almacenamiento

En cualquier otra implementación de computación en la nube, el almacenamiento significa una ubicación y generalmente una ruta. Por ejemplo, https://tau.how/assets/logo-w.svg tiene dos componentes principales tau.how , que se traduce en una dirección IP y una ubicación, y /assets/logo-w.svg , que es una ruta en relación con la ubicación. Esta forma de dirigirse, llamada "direccionamiento basado en la ubicación", simplemente no es portátil. ¿Por qué? podrías preguntar. Bueno, para empezar, nada garantiza que los datos devueltos son un logotipo de SVG en este caso. El otro problema es el tau.how Al que nos conectamos el anfitrión que pudimos no tenerlo.

Para resolver este problema, tau utiliza la dirección de contenido, un concepto introducido por Torrent Networks y popularizado por IPFS.

Entonces, cuando solicita https://tau.how/assets/logo-w.svg , que en realidad está alojado por una nube tau , el host que maneja la solicitud se resolverá ( host=tau.how, path=/assets/logo-w.svg ) a una dirección de contenido, o CID, luego recupere el lector de contenido y luego reenvíelo a través de un escritor HTTP para usted.

Algunos hechos interesantes sobre este enfoque:

Computación

A partir de hoy, tau admite WebAssembly para la informática. La razón por la que comenzamos con él es que es altamente portátil y de arena. Admitimos contenedores para CI/CD, pero aún no para la computación. Estamos trabajando en una forma de implementar contenedores y máquinas virtuales mientras respetamos nuestros principios de portabilidad y sandboxing.

El código, las imágenes binarias, junto con cualquier activo adjunto, se almacenan y se recuperan utilizando los mismos principios descritos en el almacenamiento, lo que reduce considerablemente el tiempo de aprovisionamiento y acerca a la computación a los datos (gravedad de datos) y/o usuario (informática de borde).

Prueba de E2E

Si está buscando crear pruebas E2E para proyectos alojados en tau , puede usar dream , un subpackaje dentro de tau . Todavía no tenemos documentación para ello, pero puede aprender rápidamente de pruebas como Servicios/SEER/Tests/DNS_Test.GO.

Ejecutando una nube local

Si bien no puedes ejecutar prácticamente tau en tu máquina local, puedes hacerlo usando Dream-CLI, que es un envoltorio CLI alrededor de dream . Crea entornos locales en la nube que reflejan la configuración de producción. A diferencia de tau , ofrece una API para la configuración y las pruebas en tiempo real.

Extensor de tau

tau se puede extender utilizando un sistema de complementos que llamamos órbita. Un ejemplo de código abierto es Ollama-Cloud, que demuestra cómo agregar capacidades LLM a su nube.

Documentación

Para obtener más información, verifique:

Para una documentación integral, visite nuestra documentación.

Apoyo

Preguntas o necesidad de asistencia? ¡Pingnos en Discord!

Expandir
Información adicional