Jelajahi dokumen »
Panduan Mulai Cepat · Coba Sandbox Cloud kami · Bergabunglah dengan Perselisihan Kami
Tau adalah kerangka kerja untuk membangun pemeliharaan rendah & platform komputasi awan yang sangat terukur yang akan disukai pengembang perangkat lunak!
tau
adalah biner tunggal tanpa dependensi eksternal kecuali pustaka sistem standar. Selain itu, itu membutuhkan konfigurasi minimal. Ini adalah langkah utama:
Instal Tau
curl https://get.tau.link/tau | sh
Konfigurasikan
tau config generate -n yourdomain.com -s compute --services all --ip your_public_ip --dv --swarm
Meluncurkan
tau start -s compute
Untuk panduan langkah demi langkah yang lengkap, lihat Deploy Tau.
Membangun tau
YouSelf adalah go build
langsung mengingat Anda telah terpasang.
Biaya dan waktu yang diperlukan untuk membangun perangkat lunak, membawanya dari lingkungan pengembangan ke produksi, dan kemudian menskalakannya secara efektif untuk memenuhi permintaan pengguna akhir sangat tinggi.
Platform yang ramah pengembang, seperti penyedia komputasi awan utama, mahal, mengunci pengguna, dan mengabaikan pengembangan lokal dan pengujian E2E.
Ini benar-benar masalah dua sisi. Apakah Anda menghemat biaya infrastruktur, atau apakah Anda menurunkan waktu pengembangan?
Jika Anda berinvestasi di platform Anda sendiri, ini adalah jalan berbatu yang menghambat kecepatan pengembangan dan umumnya lebih mahal. Kita semua tahu dongeng Kubernetes tidak berakhir dengan baik!
Jika Anda berinvestasi dalam kecepatan pengembangan, Anda dibatasi oleh fitur dan biaya penyedia Anda.
Bagi kami, menyelesaikan masalah ini berarti:
tau
memecahkan untuk membangun dan memelihara platform komputasi awan, dan juga menyediakan fondasi untuk pengalaman pengembang yang luar biasa.
Salah satu alasan tau
membutuhkan konfigurasi minimal adalah karena memiliki penemuan otomatis bawaan. Sama seperti informasi pengumpulan mobil self-driving melalui sensor, tau
akan mengumpulkan informasi dan mencoba menemukan cara terbaik untuk dijangkau, tersedia, dll.
Yang mengatakan, beberapa konfigurasi seperti rekan bootstrap diperlukan. Kecuali jika Anda menjalankan awan satu simpul, setiap node perlu mengetahui setidaknya satu rekan lainnya.
Awan yang dibangun dengan tau
sangat dinamis; Pada tingkat rendah, node mengomunikasikan aset, rute, dan layanan, dan mereka juga bertukar informasi tentang rekan lain. Diperkaya oleh layanan terdistribusi seperti seer
dan gateway
, cloud dapat memuat permintaan yang masuk keseimbangan untuk memastikan kinerja dan keandalan yang optimal.
Perilaku ini juga dibangun ke dalam sumber daya cloud. Misalnya, protokol yang kami sebut hoarder
memastikan penyimpanan objek dan database direplikasi; Yang perlu Anda lakukan adalah mengaktifkannya pada beberapa node.
Dalam pengaturan tradisional Anda, platform ini adalah serangkaian templat, pipa, dan integrasi yang kompleks yang pada akhirnya membantu mengubah konfigurasi menjadi panggilan API dan kode menjadi aset. Karena kompleksitas itu, dan juga fakta bahwa banyak komponen perlu berjalan di dalam lingkungan mereka sendiri yang sangat kompleks, tidak mungkin untuk memenuhi persamaan 'lokal == produksi'.
Memang, ada beberapa solusi yang mengejek atau mengalihkan rute ke sumber daya dev/prod, memungkinkan pengembang untuk membangun atau men -debug secara lokal. Namun, ini masih merupakan layanan pihak ke -3 yang perlu Anda integrasikan dan kelola.
Untuk memenuhi persamaan, kami memutuskan untuk membangun tau
sehingga menyederhanakan, port, dan/atau kotak pasir setiap aspek cloud.
Secara tradisional, Anda berinteraksi dengan infrastruktur melalui panggilan API. Ini adalah kasus untuk setiap penyedia komputasi awan di samping solusi orkestrasi seperti Kubernetes.
Beberapa tahun yang lalu, konsep gitop mulai membuat gelombang, dan itu sekitar waktu kami mulai membangun, jadi kami memutuskan untuk memotong sampah yang tidak perlu antara definisi sumber daya cloud, yang harus disimpan dalam git, dan instantiation -nya .
Akibatnya, tau
tidak memiliki panggilan API untuk membuat fungsi tanpa server, misalnya. Sebaliknya, ia mengadopsi GIT sebagai satu -satunya cara untuk mengubah infrastruktur.
Juga, git menjadi inti dari tau
berarti bahwa node di cloud memang menyetel ke cabang tertentu, secara default utama atau master. Di antara apa yang diaktifkan adalah cara mudah untuk mengatur lingkungan pengembangan, misalnya.
Kasus penggunaan khusus adalah pengembangan lokal di mana node mimpi-cli juga dapat disetel ke cabang saat ini.
Selain node yang berada di cabang, registri aplikasi, dikelola oleh protokol 'TNS', menggunakan ID komit untuk entri versi, memungkinkan node yang melayani aset untuk mendeteksi versi baru, atau roll-back dalam hal ini.
Secara internal, tau
, menggunakan libp2p, membangun jaringan overlay peer-to-peer antara node, memungkinkan beberapa fitur yang cukup keren seperti:
Kecuali jika benar-benar diperlukan, yang sangat jarang, tidak ada perangkat lunak yang dirancang dengan baik yang mengandalkan alamat dan port IP. Inilah sebabnya mengapa setiap cloud tau
diidentifikasi dengan fqdn (yaitu, enterprise.starships.ws) sehingga tidak ada referensi jaringan absolut yang digunakan dalam suatu aplikasi. Di bawah kap, cloud akan secara transparan mengurus resolusi DNS dan penyeimbangan beban http, menghilangkan kebutuhan untuk mengatur ini.
Dalam setiap implementasi komputasi awan lainnya, penyimpanan berarti lokasi dan umumnya jalur. Misalnya, https://tau.how/assets/logo-w.svg
/assets/logo-w.svg
dua komponen utama tau.how
. relatif terhadap lokasi. Cara mengatasi, yang disebut "pengalamatan berbasis lokasi," sama sekali tidak portabel. Mengapa? Anda mungkin bertanya. Sebagai permulaan, tidak ada yang menjamin data yang dikembalikan adalah logo SVG dalam kasus ini. Masalah lainnya adalah tau.how
Bagaimana host yang kami sambungkan mungkin tidak memilikinya.
Untuk menyelesaikan masalah ini, tau
menggunakan penempatan konten, sebuah konsep yang diperkenalkan oleh jaringan torrent dan dipopulerkan oleh IPFS.
Jadi saat Anda meminta https://tau.how/assets/logo-w.svg
, yang sebenarnya di-host oleh awan tau
, host yang menangani permintaan akan diselesaikan ( host=tau.how, path=/assets/logo-w.svg
) Ke alamat konten, atau CID, lalu ambil pembaca konten dan kemudian meneruskannya melalui penulis HTTP kepada Anda.
Beberapa fakta keren tentang pendekatan ini:
Sampai hari ini, tau
mendukung WebAssembly untuk komputasi. Alasan kami memulainya adalah karena sangat portabel dan kotak pasir. Kami mendukung wadah untuk CI/CD tetapi belum untuk komputasi. Kami sedang mengerjakan cara untuk mengimplementasikan kontainer dan mesin virtual sambil mematuhi prinsip -prinsip portabilitas dan kotak pasir kami.
Kode, biner, gambar, bersama dengan aset terlampir, disimpan dan diambil menggunakan prinsip yang sama yang dijelaskan dalam penyimpanan, yang sangat mengurangi waktu penyediaan dan membawa komputasi dekat dengan data (gravitasi data) dan/atau pengguna (komputasi tepi).
Jika Anda ingin membuat tes E2E untuk proyek yang dihosting di tau
, Anda dapat menggunakan dream
, sub-paket di dalam tau
. Kami belum memiliki dokumentasi untuk itu, tetapi Anda dapat dengan cepat belajar dari tes seperti Layanan/SIER/TEST/DNS_TEST.GO.
Meskipun Anda tidak dapat menjalankan tau
di mesin lokal Anda, Anda dapat melakukannya menggunakan Dream-Cli, yang merupakan pembungkus CLI di sekitar dream
. Ini menciptakan lingkungan cloud lokal yang mencerminkan pengaturan produksi. Tidak seperti tau
, ia menawarkan API untuk konfigurasi dan pengujian real-time.
tau
dapat diperpanjang menggunakan sistem plugin yang kami sebut orbit. Contoh open-source adalah ollama-cloud, yang menunjukkan cara menambahkan kemampuan LLM ke cloud Anda.
Untuk mempelajari lebih lanjut, periksa:
Untuk dokumentasi yang komprehensif, kunjungi dokumentasi kami.
Pertanyaan atau butuh bantuan? Ping kami di Perselisihan!