Platform Orkestrasi Deklaratif Berbasis Peristiwa
Klik pada gambar untuk mempelajari cara memulai Kestra dalam 4 menit.
? Apa itu Kestra?
Kestra adalah platform orkestrasi berbasis peristiwa sumber terbuka yang memudahkan alur kerja terjadwal dan berbasis peristiwa . Dengan menghadirkan praktik terbaik Infrastruktur sebagai Kode ke orkestrasi data, proses, dan layanan mikro, Anda dapat membangun alur kerja yang andal langsung dari UI hanya dalam beberapa baris YAML.
Fitur Utama:
- Semuanya sebagai Kode dan dari UI: pertahankan alur kerja sebagai kode dengan integrasi Kontrol Versi Git , bahkan saat membuatnya dari UI.
- Alur Kerja Berdasarkan Peristiwa & Terjadwal: mengotomatiskan alur kerja berdasarkan peristiwa terjadwal dan real-time melalui definisi
trigger
sederhana. - Antarmuka YAML Deklaratif: tentukan alur kerja menggunakan konfigurasi sederhana di editor kode bawaan .
- Ekosistem Plugin yang Kaya: ratusan plugin bawaan untuk mengekstrak data dari database, penyimpanan cloud, atau API apa pun, dan menjalankan skrip dalam bahasa apa pun .
- UI Intuitif & Editor Kode: membangun dan memvisualisasikan alur kerja langsung dari UI dengan penyorotan sintaksis, pelengkapan otomatis, dan validasi sintaksis waktu nyata.
- Scalable: dirancang untuk menangani jutaan alur kerja, dengan ketersediaan tinggi dan toleransi kesalahan.
- Ramah Kontrol Versi: tulis alur kerja Anda dari Editor kode bawaan dan dorong alur tersebut ke cabang Git pilihan Anda langsung dari Kestra, memungkinkan praktik terbaik dengan pipeline CI/CD dan sistem kontrol versi.
- Struktur & Ketahanan : menjinakkan kekacauan dan menghadirkan ketahanan pada alur kerja Anda dengan namespace , label , subalur , percobaan ulang , batas waktu , penanganan kesalahan , masukan , keluaran yang menghasilkan artefak di UI, variabel , percabangan bersyarat , penjadwalan lanjutan , pemicu peristiwa , pengisian ulang , dinamis tugas , tugas berurutan dan paralel , dan lewati tugas atau pemicu bila diperlukan dengan menyetel tanda
disabled
ke true
.
? Definisi YAML disesuaikan secara otomatis setiap kali Anda membuat perubahan pada alur kerja dari UI atau melalui panggilan API. Oleh karena itu, logika orkestrasi selalu dikelola secara deklaratif dalam kode , meskipun Anda mengubah alur kerja dengan cara lain (UI, CI/CD, Terraform, panggilan API).
Mulai Cepat
Coba Demo Langsung
Coba Kestra dengan Demo Langsung kami. Tidak diperlukan instalasi!
Memulai Secara Lokal dalam 5 Menit
Luncurkan Kestra di Docker
Pastikan Docker sedang berjalan. Kemudian, mulai Kestra dengan satu perintah:
docker run --pull=always --rm -it -p 8080:8080 --user=root
-v /var/run/docker.sock:/var/run/docker.sock
-v /tmp:/tmp kestra/kestra:latest server local
Periksa Panduan Instalasi kami untuk opsi penerapan lainnya (Docker Compose, Podman, Kubernetes, AWS, GCP, Azure, dan lainnya).
Akses UI Kestra di http://localhost:8080 dan mulailah membangun aliran pertama Anda!
Aliran Hello World Pertama Anda
Buat alur baru dengan konten berikut:
id : hello_world
namespace : dev
tasks :
- id : say_hello
type : io.kestra.plugin.core.log.Log
message : " Hello, World! "
Jalankan alurnya dan lihat hasilnya di UI!
? Ekosistem Plugin
Fungsionalitas Kestra diperluas melalui ekosistem plugin yang kaya yang memberdayakan Anda untuk menjalankan tugas di mana saja dan membuat kode dalam bahasa apa pun, termasuk Python, Node.js, R, Go, Shell, dan banyak lagi. Inilah cara plugin Kestra meningkatkan alur kerja Anda:
Jalankan Di Mana Saja:
- Eksekusi Lokal atau Jarak Jauh: Jalankan tugas di mesin lokal Anda, server jarak jauh melalui SSH, atau perluasan ke kontainer tanpa server menggunakan Task Runners.
- Dukungan Docker dan Kubernetes: Jalankan container Docker dengan lancar dalam alur kerja Anda atau luncurkan tugas Kubernetes untuk menangani beban kerja intensif komputasi.
Kode dalam Bahasa Apa Pun:
- Dukungan Skrip: Tulis skrip dalam bahasa pemrograman pilihan Anda. Kestra mendukung Python, Node.js, R, Go, Shell, dan lainnya, memungkinkan Anda mengintegrasikan basis kode dan pola penerapan yang ada.
- Otomatisasi Fleksibel: Jalankan perintah shell, jalankan kueri SQL terhadap berbagai database, dan buat permintaan HTTP untuk berinteraksi dengan API.
Pemrosesan Berbasis Peristiwa dan Waktu Nyata:
- Pemicu Real-Time: Bereaksi terhadap peristiwa dari sistem eksternal secara real-time, seperti kedatangan file, pesan baru di bus pesan (Kafka, Redis, Pulsar, AMQP, MQTT, NATS, AWS SQS, Google Pub/Sub, Azure Event Hubs ), dan banyak lagi.
- Peristiwa Khusus: Tentukan peristiwa khusus untuk memicu alur berdasarkan kondisi tertentu atau sinyal eksternal, sehingga memungkinkan alur kerja yang sangat responsif.
Integrasi Awan:
- AWS, Google Cloud, Azure: Integrasikan dengan berbagai layanan cloud untuk berinteraksi dengan solusi penyimpanan, sistem pesan, sumber daya komputasi, dan banyak lagi.
- Pemrosesan Big Data: Jalankan tugas pemrosesan big data menggunakan alat seperti Apache Spark atau berinteraksi dengan platform analitik seperti Google BigQuery.
Pemantauan dan Pemberitahuan:
- Tetap Terinformasi: Kirim pesan ke saluran Slack, pemberitahuan email, atau peringatan pemicu di PagerDuty agar tim Anda selalu mendapat informasi terbaru tentang status alur kerja.
Ekosistem plugin Kestra terus berkembang, memungkinkan Anda menyesuaikan platform dengan kebutuhan spesifik Anda. Baik Anda mengatur pipeline data yang kompleks, mengotomatiskan skrip di berbagai lingkungan, atau berintegrasi dengan layanan cloud, kemungkinan besar ada plugin yang dapat membantu. Dan jika tidak, Anda selalu dapat membuat plugin sendiri untuk memperluas kemampuan Kestra.
? Catatan: Ini hanya sekilas tentang apa yang bisa dilakukan plugin Kestra. Jelajahi daftar lengkapnya di Halaman Plugin kami.
Konsep Utama
- Arus: unit inti di Kestra, mewakili alur kerja yang terdiri dari tugas.
- Tugas: unit kerja individual, seperti menjalankan skrip, memindahkan data, atau memanggil API.
- Namespace: pengelompokan aliran logis untuk organisasi dan isolasi.
- Pemicu: jadwal atau peristiwa yang mengawali eksekusi aliran.
- Input & Variabel: parameter dan data dinamis diteruskan ke aliran dan tugas.
? Bangun Alur Kerja Secara Visual
Kestra menyediakan UI intuitif yang memungkinkan Anda membangun dan memvisualisasikan alur kerja Anda secara interaktif:
- Antarmuka Seret dan Lepas: menambah dan mengatur ulang tugas dari Editor Topologi.
- Validasi Real-Time: umpan balik instan pada sintaks dan struktur alur kerja Anda untuk mendeteksi kesalahan lebih awal.
- Penyelesaian Otomatis: saran cerdas saat Anda mengetik untuk menulis kode alur dengan cepat dan tanpa kesalahan sintaksis.
- Tampilan Topologi Langsung: lihat alur kerja Anda sebagai Directed Acyclic Graph (DAG) yang diperbarui secara real-time.
? Dapat Diperluas dan Ramah Pengembang
Pengembangan Plugin
Buat plugin khusus untuk memperluas kemampuan Kestra. Lihat Panduan Pengembang Plugin kami untuk memulai.
Infrastruktur sebagai Kode
- Kontrol Versi: simpan aliran Anda di repositori Git.
- Integrasi CI/CD: mengotomatiskan penerapan alur menggunakan saluran CI/CD.
- Penyedia Terraform: kelola sumber daya Kestra dengan penyedia resmi Terraform.
Bergabunglah dengan Komunitas
Tetap terhubung dan dapatkan dukungan:
- Slack: Bergabunglah dengan komunitas Slack kami untuk mengajukan pertanyaan dan berbagi ide.
- LinkedIn: Ikuti kami di LinkedIn — di samping Slack dan GitHub, ini adalah saluran utama kami untuk berbagi pembaruan dan pengumuman produk.
- YouTube: Berlangganan saluran YouTube kami untuk konten video pendidikan. Kami menerbitkan video baru setiap minggu!
- X: Ikuti kami di X jika Anda masih aktif di sana.
? Berkontribusi
Kami menyambut segala jenis kontribusi!
- Laporkan Masalah: Menemukan bug atau memiliki permintaan fitur? Buka masalah di GitHub.
- Kode Kontribusi: Lihat Panduan Kontributor kami untuk panduan awal, dan jelajahi masalah pertama kami yang baik untuk tugas-tugas ramah pemula yang harus ditangani terlebih dahulu.
- Kembangkan Plugin: Bangun dan bagikan plugin menggunakan Panduan Pengembang Plugin kami.
- Berkontribusi pada Dokumen kami: Berkontribusi pada pengeditan atau pembaruan untuk menjaga dokumentasi kami tetap unggul.
? Lisensi
Kestra dilisensikan di bawah Lisensi Apache 2.0 © Kestra Technologies.
️ Tetap Diperbarui
Berikan bintang pada repositori kami untuk terus mendapat informasi tentang fitur dan pembaruan terkini!
Terima kasih telah mempertimbangkan Kestra untuk kebutuhan orkestrasi alur kerja Anda. Kami tidak sabar untuk melihat apa yang akan Anda buat!