Cassandra, Mengelola Database Menjadi Lebih Mudah
Ada banyak cara untuk menguji perangkat lunak, tetapi sistem terdistribusi menawarkan tantangan yang berbeda hanya dalam sifat cara kerjanya. Sulit untuk memprediksi bagaimana kegagalan kecil dalam satu sistem dapat menyebabkan kesalahan patologis di seluruh cluster besar. Pengujian memerlukan banyak otomatisasi dan skala sebagai developer mencari feedback untuk menjalankan code baru. Basis data terdistribusi seperti Cassandra memerlukan pengujian fungsional dengan beban kerja produksi dalam berbagai kondisi. Membuatnya berfungsi dengan cara yang handal dan mudah sangat penting untuk menyeimbangkan pengembangan kode yang gesit dan keyakinan pada apa yang sedang dibuat.
Insinyur DataStax suka memecahkan masalah sistem pendistribusian yang besar dalam kasus khusus ini, memecahkan masalah pengujian pendistribusian dalam skala besar. Ini adalah sesuatu yang telah dikerjakan cukup lama dan kode itu sekarang tersedia sebagai Fallout untuk diunduh dan digunakan di bawah Lisensi Apache.(Link Fallout: https://github.com/datastax/fallout)
Kami menyadari bahwa ini bukan masalah umum untuk setiap pengguna Apache Cassandra ™, namun memiliki kode kualitas dalam lingkungan produksi adalah sesuatu yang kita semua bisa sepakati cukup penting. Ini adalah salah satu tema dominan untuk merilis Cassandra 4.0 sebagai bagian dari komitmen berkelanjutan kami untuk proyek Apache Cassandra, kami membuka Fallout untuk mempercepat pengujian pada build. Ini digunakan bersama dengan alat pengujian fuzz Harry dan dtest menawarkan kemudahan karena pengembang terus menambahkan fitur ke Apache Cassandra. Yang terpenting adalah kemudahan bagi pengguna saat menerapkan Cassandra di aplikasi anda. Ini sangat sesuai dengan filosofi "Database harus menjadi hal yang paling membosankan di pusat data anda."
Fallout seperti yang dijelaskan di atas adalah alat pengujian pendistribusian berskala besar. Ini memungkinkan para engineers untuk menentukan dan menjalankan eksperimen pada cluster yang sedang berjalan secara otomatis dan berulang. Ini dapat dijalankan secara seri atau paralel tergantung pada jenis pengujian, tetapi yang terpenting, saat engineer menambahkan eksperimen baru, pustaka pengujian yang tersedia dapat bertambah seiring waktu. Selain itu, Fallout terintegrasi dengan NoSQLBench, yang dapat mensimulasikan beban kerja produksi saat cluster digunakan untuk pengujian dengan rancangan yang kacau. Karena dibangun dari awal dengan ide membuatnya bekerja dengan alat dan infrastruktur pengujian yang ada, Fallout dapat digunakan untuk memecahkan masalah pengujian terdistribusi semacam ini untuk database atau infrastruktur apa pun.
Saya yakin Anda bertanya-tanya tentang bagian skala Fallout dan itu bagian yang membuat saya sangat bersemangat. Bagian penting dari operator dalam skenario skala adalah orkestrasi yang tepat. Fallout menggunakan Kubernetes untuk mengelola siklus hidup cluster Cassandra dengan menggunakan operator Kubernetes open sourced kami yang baru-baru ini. Hal ini memungkinkan penerapan hands-off dan penghancuran cluster yang sedang diuji sehingga pengembang dapat berkonsentrasi pada penulisan kode dan eksperimen Cassandra. Jika Anda ingin menggunakan Kubernetes sepenuhnya, kami bahkan memiliki link untuk Anda menjalankan layanan Fallout.
Semua bit dan dokumen dapat ditemukan di sini:
GitHub Repo: https://github.com/datastax/fallout
Docker Image: https://hub.docker.com/r/datastax/fallout
Online Docs: https://github.com/datastax/fallout/tree/master/docs
Sumber: Datastax