Изучите документы »
Руководство по быстрому старту · Попробуйте нашу песочницу Cloud · Присоединяйтесь к нашему Discord
Tau - это структура для создания низкого обслуживания и высоко масштабируемых платформ облачных вычислений, которые будут любить разработчикам программного обеспечения!
tau
- это единственный двоичный, без внешних зависимостей, кроме стандартных системных библиотек. Кроме того, это требует минимальной конфигурации. Это основные шаги:
Установить тау
curl https://get.tau.link/tau | sh
Настройка
tau config generate -n yourdomain.com -s compute --services all --ip your_public_ip --dv --swarm
Запуск
tau start -s compute
Для полного пошагового руководства см. В Deploy Tau.
Строительство tau
Self - это простая go build
учитывая, что вы установили.
Стоимость и время, необходимые для создания программного обеспечения, перенести его из среды разработки до производства, а затем эффективно масштабировать его для удовлетворения спроса конечных пользователей, чрезвычайно высоки.
Платформы для разработчиков, такие как основные поставщики облачных вычислений, являются дорогими, блокируют пользователей и упускают из виду локальную разработку и тестирование E2E.
Это действительно двухсторонняя проблема. Вы экономите на стоимости инфраструктуры или снижаете время разработки?
Если вы инвестируете в свою собственную платформу, это скалистая дорога, которая препятствует скорости развития и, как правило, в конечном итоге стоит дороже. Мы все знаем, что сказка Kubernetes не заканчивается хорошо!
Если вы инвестируете в скорость разработки, вы ограничены функциями и стоимостью вашего поставщика.
Для нас решение этой проблемы означает:
tau
решает для создания и поддержания платформы облачных вычислений, а также предоставляет основы для удивительного опыта разработчика.
Одна из причин, по которой tau
требует минимальной конфигурации, заключается в том, что он имеет встроенное автоматическое открытие. Так же, как автомобиль с самостоятельным вождением, собирая информацию через датчики, tau
собирает информацию и попытается найти лучшие способы достижения, доступных, и т. Д.
Тем не менее, необходима некоторая конфигурация, такая как однозначные коллег. Если вы не запускаете единое облако, каждый узел должен будет знать хотя бы еще одного сверстника.
Облако, построенное с tau
, очень динамично; На низком уровне узлы передают активы, маршруты и услуги, а также обмениваются информацией о других сверстниках. Обогащенный распределенными службами, такими как seer
и gateway
, облако может загружать входящие запросы с балансом, чтобы обеспечить оптимальную производительность и надежность.
Такое поведение также встроено в облачные ресурсы. Например, протокол, который мы hoarder
обеспечивает воспроизведение фрагментов объектов и баз данных; Все, что вам нужно сделать, это включить его на несколько узлов.
В вашей традиционной настройке платформа представляет собой сложный набор шаблонов, трубопроводов и интеграций, которые в конечном итоге помогают превратить конфигурацию в вызовы API и код в активы. Из -за этой сложности, а также того факта, что многим компонентам необходимо работать в собственной очень сложной среде, невозможно удовлетворить уравнение «местное == Производство».
Конечно, есть некоторые решения, которые либо издеваются над ресурсами Dev/Prod, позволяющие разработчикам строить или отлаживать локально. Тем не менее, это все еще сторонняя служба, которую вам необходимо интегрировать и управлять.
Чтобы удовлетворить уравнение, мы решили построить tau
, чтобы оно упростило, порты и/или песочницы каждого аспекта облака.
Традиционно вы взаимодействуете с инфраструктурой с помощью вызовов API. Это относится к каждому поставщику облачных вычислений наряду с решениями оркестровки, такими как Kubernetes.
Несколько лет назад концепция гитопов начала ловить волны, и это было примерно в то время, когда мы начали строить, поэтому мы решили сократить ненужный мусор между определением облачного ресурса, который должен храниться в GIT, и его экземпляры Полем
В результате у tau
нет вызовов API, например, для создания функции без сервера. Вместо этого он принимает GIT как единственный способ изменить инфраструктуру.
Кроме того, GIT является основным для tau
, означает, что узлы в облаке настраиваются на определенную ветвь по умолчанию Main или Master. Среди того, что он позволяет, например, простой способ создать среды разработки.
Конкретным вариантом использования является локальная разработка, и в этом случае узлы Dream-Cli также могут быть настроены на текущую ветвь.
В дополнение к узлам, находящимся в филиале, реестр приложений, управляемый протоколом «TNS», использует идентификаторы коммита для записей версий, позволяя узлам, обслуживающим активы для обнаружения новых версий, или в этом отношении.
Внутренне, tau
, используя Libp2p, создает наложную одноранговую сеть между узлами, позволяя некоторым довольно крутым функциям, таким как:
Если это абсолютно необходимо, что чрезвычайно редко, никакое хорошо разработанное программное обеспечение не должно полагаться на IP-адреса и порты. Вот почему каждое облако tau
идентифицируется с FQDN (т. Е. Enterprise.starships.ws), поэтому в приложении не используется абсолютная ссылка на сеть. Под капотом облако прозрачно позаботится о разрешении DNS и балансировании нагрузки HTTP, что устраняет необходимость их настроить.
В любой другой реализации облачных вычислений хранилище означает местоположение и, как правило, путь. Например, https://tau.how/assets/logo-w.svg
имеет два основных компонента tau.how
, что переводится на IP-адрес и местоположение, и /assets/logo-w.svg
, который является пути относительно места. Этот способ решения, называемый «адресация на основе местоположения», просто не портативный. Почему? Вы можете спросить. Что ж, для начала, ничто не гарантирует, что данные, возвращаемые данные, являются логотипом SVG в этом случае. Другая проблема - это tau.how
Как мы подключимся к ходу, возможно, его не иметь.
Чтобы решить эту проблему, tau
использует Addressing контента, концепцию, представленную Torrent Networks и популяризированную IPFS.
Поэтому, когда вы запросите https://tau.how/assets/logo-w.svg
, который фактически размещается в облаке tau
, хост, который обрабатывает запрос ( host=tau.how, path=/assets/logo-w.svg
) по адресу контента, или CID, затем возьмите считывателя контента, а затем отправьте его через писателя HTTP.
Несколько классных фактов об этом подходе:
На сегодняшний день tau
поддерживает Webassembly для вычислений. Причина, по которой мы начали с этого, заключается в том, что он очень портативный и песочный. Мы поддерживаем контейнеры для CI/CD, но еще не для вычислений. Мы работаем над способом реализации контейнеров и виртуальных машин, сохраняя наши принципы переносимости и песочницы.
Код, двоичные, изображения, наряду с любыми прикрепленными активами, хранятся и извлекаются с использованием тех же принципов, описанных в хранилище, которые значительно сокращают время обеспечения и приближают вычисления, близкие к данным (гравитацию данных) и/или пользователь (Edge Computing).
Если вы хотите создать тесты E2E для проектов, размещенных на tau
, вы можете использовать dream
, подпадку в tau
. У нас еще нет документации для этого, но вы можете быстро учиться на таких тестах, как Services/Seer/Tests/dns_test.go.
Хотя вы не можете практически управлять tau
на своей местной машине, вы можете сделать это с помощью Dream-Cli, которая является оберткой CLI вокруг dream
. Он создает локальные облачные среды, отражающие настройки производства. В отличие от tau
, он предлагает API для конфигурации и тестирования в реальном времени.
tau
может быть расширен с помощью системы плагинов, которую мы называем орбитой. Примером с открытым исходным кодом является Ollama-Cloud, который демонстрирует, как добавить возможности LLM в ваше облако.
Чтобы узнать больше, проверить:
Для получения комплексной документации посетите нашу документацию.
Вопросы или нужны помощь? Пинг нас на разногласий!