#tauとは何か?オープンソースGit-NativeCDN PaaS Vercel,Netlify,Cloudflare,CloudFrontの代替手段 #七13

 #tauとは何か?オープンソースGit-NativeCDN PaaS Vercel,Netlify,Cloudflare,CloudFrontの代替手段 #七13

https://github.com/taubyte/tau

 Tau は、ソフトウェア開発者が気に入る、低メンテナンスで拡張性の高いクラウド コンピューティング プラットフォームを構築するためのフレームワークです!

Install Tau

tau 標準システム ライブラリを除いて外部依存関係のない単一のバイナリです。その上で、最小限の構成で済みます。これらは主な手順です:

  1. Install Tau

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

    tau config generate -n yourdomain.com -s compute --services all --ip your_public_ip
  3. Launch

    tau start -s compute


完全なステップバイステップガイドについては、Deploy tauを参照してください タウを展開します.


建物 tau あなた自身は率直です go build go がインストールされている場合に限ります。


背景

ソフトウェアを構築し、開発環境から本番環境に移行し、エンドユーザーの需要に合わせて効果的に拡張するために必要なコストと時間は非常に高額です。

大手クラウド コンピューティング プロバイダーのような開発者に優しいプラットフォームは高価で、ユーザーをロックインし、ローカル開発や E2E テストを無視します。

これは本当に両面的な問題です。インフラのコストを節約しますか、それとも開発時間を短縮しますか?

独自のプラットフォームに投資すると、開発のスピードが妨げられ、最終的にはより多くの費用がかかる岩だらけの道になります。Kubernetesのおとぎ話がうまく終わらないことは誰もが知っています!

開発速度に投資する場合、プロバイダーの機能とコストによって制限されます。

私たちにとって、この問題を解決するということは、次のことを意味します:

  • あなたまたはあなたの非常に小規模なチームに、何千人ものエンジニアが支援するクラウド コンピューティング プラットフォームと直接対決するクラウド コンピューティング プラットフォームを構築および維持する機能を提供します。
  • ソフトウェア開発者をインフラストラクチャや運用上の制約から解放します。これを「ローカル コーディングはグローバル生産に等しい」と呼びます。

tau クラウド コンピューティング プラットフォームの構築と維持を解決し、素晴らしい開発者エクスペリエンスの基盤も提供します。

最小限の構成

その理由の一つ tau 最小限の構成が必要なのは、自動検出機能が組み込まれているためです。センサーを通じて情報を収集する自動運転車のように、 tau 情報を収集し、到達可能、利用可能などの最良の方法を見つけようとします。

とはいえ、ブートストラップピアのような何らかの構成が必要です。単一ノードのクラウドを実行している場合を除き、各ノードは少なくとも 1 つの他のピアを知る必要があります。

で構築されたクラウド tau 非常にダイナミックです。低レベルでは、ノードはアセット、ルート、サービスを通信し、他のピアに関する情報も交換します。などの分散サービスによって充実しています seer そして gateway, 、クラウドは、最適なパフォーマンスと信頼性を確保するために、受信要求をロードバランスすることができます。

この動作はクラウド リソースにも組み込まれています。例えば、私たちが呼び出すプロトコルです hoarder オブジェクトのストレージとデータベースが複製されていることを確認します。必要なのは、いくつかのノードで有効にすることだけです。

ローカル コーディングはグローバル生産に等しい

従来のセットアップでは、プラットフォームはテンプレート、パイプライン、統合の複雑なセットであり、最終的には構成を API 呼び出しに、コードをアセットに変換するのに役立ちます。その複雑さと、多くのコンポーネントが独自の非常に複雑な環境内で実行する必要があるという事実のため、「ローカル == 生成」方程式を満たすことは不可能です。

確かに、開発者がローカルでビルドまたはデバッグできるように、モックまたは開発/生産リソースにルートを変更するソリューションがいくつかあります。ただし、統合して管理する必要があるサードパーティのサービスであることに変わりはありません。

方程式を満たすために、構築することにしました tau そのため、クラウドのあらゆる側面を簡素化し、移植し、および/またはサンドボックス化します。

Gitネイティブ

従来、API 呼び出しを通じてインフラストラクチャとインターフェイスしていました。これは、Kubernetes などのオーケストレーション ソリューションと並ぶすべてのクラウド コンピューティング プロバイダーに当てはまります。

数年前、GitOps の概念が波紋を呼び始めました。それは私たちが構築を始めた頃だったので、Git に保存する必要があるクラウド リソースの定義とそのインスタンス化の間で不必要なゴミを削減することにしました。

その結果、 tau たとえば、サーバーレス関数を作成するための API 呼び出しはありません。代わりに、インフラストラクチャを変更する唯一の方法として Git を採用しています。

また、gitはコアです tau これは、クラウド内のノードがデフォルトでメインまたはマスターの特定のブランチに同調することを意味します。これにより可能になるのは、たとえば、開発環境を簡単にセットアップする方法です。

特定のユースケースはローカル開発です。この場合 dream-cli ノードは現在のブランチに合わせて調整することもできます。

ノードがブランチ上にあることに加えて、「tns」プロトコルによって管理されるアプリケーション レジストリはバージョン エントリにコミット id を使用し、アセットにサービスを提供するノードが新しいバージョンを検出したり、さらに言えばロールバックしたりできるようにします。

ネットワーキング


内部的には、 tau, 、 を用いて、 libp 2p, 、ノード間のオーバーレイピアツーピアネットワークを構築し、次のようなかなりクールな機能を有効にします:
  • 自動ノードとプロトコルの検出とルーティング。たとえば、ノードがダウンしている場合、IP アドレス/ポート、またはサポートするサービスが変更されている場合、他のノードは情報を自動的に更新します。
  • 輸送 独立。ノードは、TCP/IP、WebSocket、QUIC などの任意の組み合わせを使用できます。
  • NAT Traversal & Circuit Relay。公開されていないノードをクラウドの一部にすることができます。
絶対に必要でない限り(これは非常にまれですが)、適切に設計されたソフトウェアは IP アドレスとポートに依存すべきではありません。これがevery tau クラウドは FQDN(つまり、enterprise。starships。ws)で識別されるため、アプリケーションでは絶対的なネットワーク参照は使用されません。クラウドは内部で DNS 解決と HTTP 負荷分散を透過的に処理するため、これらを設定する必要がなくなります。

ストレージ


他のすべてのクラウド コンピューティング実装では、ストレージとは場所を意味し、通常はパスを意味します。例えば、 https://tau.how/assets/logo-w.svg 2 つの主要なコンポーネントがあります tau.how, 、IPアドレスと場所に変換されます、そして /assets/logo-w.svg, 、位置に対する相対的なパスです。「位置ベースのアドレス指定」と呼ばれるこのアドレス指定方法は、単純に移植できません。なぜ?と聞くかもしれません。まず、この場合、返されるデータが SVG ロゴであることを保証するものは何もありません。もう 1 つの問題は、です tau.how 接続したホストにはそれがない可能性があります。

この問題を解決するには、 tau torrent networks によって導入され、によって普及された概念であるコンテンツ アドレッシングを使用します IPFS.

だから要求すると https://tau.how/assets/logo-w.svg, 、実際にaがホストしている tau クラウド、リクエストを処理するホストが解決します ()host=tau.how, path=/assets/logo-w.svg) をコンテンツ アドレス(CID)に送信し、コンテンツ リーダーを取得して、HTTP ライターを介して転送します。

このアプローチに関するいくつかのクールな事実:
  • コンテンツはチャンク化され、DAG に保存されます。これは、コンテンツが重複排除されることを意味します。
  • コンテンツは複数のピアから並行してダウンロードできます。
  • CID はそのハッシュであるため、コンテンツを確認できます。
  • コンテンツの需要が高まると、クラウドは自動的により多くのピアをその配信に充てます。

コンピューティング


本日現在、 tau サポート Webアセンブリ コンピューティング用。私たちがそれを始めた理由は、移植性が高く、サンドボックス化されているからです。私たちは CI/CD 用のコンテナをサポートしていますが、コンピューティング用はまだサポートしていません。私たちは、ポータビリティとサンドボックスの原則を遵守しながら、コンテナと仮想マシンを実装する方法に取り組んでいます。

コード、バイナリ、イメージは、添付されたアセットとともに、で説明されているのと同じ原則を使用して保存および取得されます ストレージストレージ, これにより、プロビジョニング時間が大幅に短縮され、コンピューティングがデータ(データ重力)および/またはユーザー(エッジ コンピューティング)に近づきます。

E2E テスト


ホストされているプロジェクトの E2E テストを作成しようとしている場合 tau, 、 使える dream, 、 内 の サブパッケージ tau. 。それに関するドキュメントはまだありませんが、次のようなテストからすぐに学ぶことができます サービス/seer/tests/dns_test。go.

ローカル クラウドの実行


実質的に走れない間に tau ローカル マシンでは、を使用してこれを行うことができます dream-cli, 、 CLI ラッパー アラウンド である dream. 。生産設定を反映したローカル クラウド環境を作成します。異なり tau, 、リアルタイムの構成とテストのための API を提供します。

延長 タウ


tau 呼び出すプラグインシステムを使用して拡張できます 軌道. 。オープンソースの例は次のとおりです ollama-cloud, これは、クラウドに LLM 機能を追加する方法を示しています。

ドキュメンテーション


詳細を確認するには、以下を確認してください:
  1. トーバイトの紹介
  2. 数分で競争力を発揮: 導入ガイド

包括的なドキュメントについては、こちらをご覧ください 文書化.

サポート


ご質問がある場合、またはサポートが必要ですか?ピン留めしてください 不和!

コメント

このブログの人気の投稿

nitter.netが2021年1月31日から沈黙。代替インスタンスは?

#INVIDIOUSを用いて広告なしにyoutubeをみる方法 #士17

Libredditとは何か?広告、トラッカー、肥大化なしで、Redditを閲覧するためのより簡単な方法