Evaluasi Platform Berbasis Data Menghasilkan Pemahaman Baru Tentang Arsitektur Sistem Modern
Seorang arsitek sistem di sebuah perusahaan fintech Yogyakarta menghabiskan dua minggu menelusuri kode lama. Ia yakin penyebab lambatnya platform adalah algoritma di layanan inti. Namun, setelah memasang alat pelacak di setiap sudut sistem, ia menemukan fakta yang membalikkan seluruh asumsinya. Kode ternyata berjalan cepat. Yang lambat adalah perjalanan data dari satu modul ke modul lain.
Evaluasi berbasis data yang ia pimpin mengubah cara tim memahami arsitektur mereka. Mereka tidak lagi berdebat tentang bahasa pemrograman atau pilihan basis data. Mereka mulai berbicara tentang pola aliran data, frekuensi panggilan, dan ukuran muatan. Inilah awal dari pemahaman baru bahwa arsitektur modern bukanlah tentang komponen yang berdiri sendiri, melainkan tentang bagaimana komponen tersebut saling berbicara.
Mengukur Alur Data, Bukan Hanya Latensi
Tim mengumpulkan log dari 4,2 juta permintaan harian selama periode puncak dan sepi. Mereka mengukur bukan hanya latensi ujung-ke-ujung, tetapi juga waktu tunggu di setiap antrian dan waktu serialisasi pada setiap titik. Data menunjukkan bahwa rata-rata permintaan menghabiskan 320 milidetik di jaringan internal, sementara eksekusi kode aktual hanya 85 milidetik. Artinya hampir 80 persen waktu dihabiskan untuk perjalanan data.
Temuan ini memicu perubahan besar. Tim mulai merancang ulang format komunikasi antar-layanan dari JSON menjadi protokol biner. Hasilnya, ukuran payload rata-rata turun 47 persen, dari 2,3 kilobita menjadi 1,2 kilobita. Latensi jaringan internal menyusut menjadi 170 milidetik. Evaluasi berbasis data yang sederhana ini menghasilkan peningkatan kecepatan yang lebih besar daripada enam bulan optimasi kode sebelumnya.
Menemukan Ketergantungan Tak Terduga
Alat evaluasi berikutnya adalah pembuat graf ketergantungan statis. Tim memasukkan semua definisi antarmuka dan menemukan bahwa 14 persen dari layanan mikro saling bergantung secara melingkar. Sebuah layanan A memanggil B, B memanggil C, dan C memanggil A lagi. Siklus ini tidak pernah terdeteksi karena hanya terjadi pada kondisi tertentu, tetapi ketika terjadi, ia menciptakan lonjakan latensi hingga 1,5 detik.
Setelah memecah siklus dengan memperkenalkan antrian asinkron di antara dua layanan, tim mencatat penurunan varians latensi sebesar 62 persen. Evaluasi ini mengajari mereka bahwa arsitektur tidak hanya tentang diagram kotak-panah. Ia adalah sistem yang hidup, dan hubungan antar komponen bisa berubah sesuai dengan beban dan kondisi. Pemahaman ini mengubah cara mereka melakukan code review: kini mereka selalu menanyakan "di mana data itu berpindah".
Pola Kegagalan yang Berbicara
Selain metrik kinerja, tim juga menganalisis pola kegagalan dari 12.000 insiden selama tiga bulan terakhir. Mereka mengelompokkan kegagalan berdasarkan layanan asal dan dampaknya. Ternyata 68 persen kegagalan tidak disebabkan oleh bug di layanan tersebut, melainkan oleh timeout yang berasal dari layanan hilir. Artinya, sebuah kesalahan kecil di satu titik sering kali tampak sebagai kesalahan besar di tempat lain.
Dengan pemahaman ini, tim mengubah strategi penanganan error. Mereka menerapkan pola circuit breaker yang lebih agresif dan menambahkan mekanisme retry dengan exponential backoff. Dalam satu bulan setelah penerapan, jumlah insiden yang dilaporkan ke pengguna turun 41 persen. Evaluasi berbasis data mengajarkan bahwa kadang solusi terbaik bukan memperbaiki yang rusak, melainkan mengubah cara sistem merespons kerusakan tersebut.
Korelasi Antara Beban dan Perilaku Arsitektur
Salah satu temuan paling menarik datang dari analisis korelasi antara volume permintaan dan konsumsi memori. Pada beban rendah, konsumsi memori rata-rata 1,8 gigabyte. Namun, ketika permintaan naik tiga kali lipat, konsumsi memori melonjak hingga 6,2 gigabyte. Ini bukan karena kode menjadi boros, tetapi karena algoritma garbage collection menjadi lebih sering dan membutuhkan ruang cadangan yang lebih besar.
Tim menyesuaikan konfigurasi heap dan mengubah strategi alokasi objek. Mereka juga menambahkan indikator khusus yang memantau rasio alokasi terhadap pembebasan. Setelah penyesuaian, konsumsi memori pada beban puncak turun menjadi 3,8 gigabyte. Evaluasi ini mengungkapkan bahwa arsitektur modern tidak memiliki karakteristik absolut; perilakunya sangat bergantung pada beban dan pola penggunaan yang terus berubah.
Peran Basis Data sebagai Sumbu Tegangan
Evaluasi mendalam mengarahkan perhatian ke basis data, yang selama ini dianggap sebagai komponen paling stabil. Tim menganalisis 150 kueri yang paling sering dijalankan dan menemukan bahwa 25 persen dari kueri tersebut mengambil data yang tidak pernah digunakan. Kueri-kueri ini membebani I/O disk dan menghabiskan 42 persen dari total waktu pemrosesan basis data. Banyak dari kueri tersebut adalah peninggalan dari fitur lama yang jarang dipakai.
Tim melakukan pembersihan besar-besaran. Mereka menghapus indeks yang tidak digunakan, mengubah kueri menjadi lebih spesifik, dan menambahkan cache untuk hasil yang sering diulang. Waktu respons basis data rata-rata turun dari 120 milidetik menjadi 78 milidetik. Yang lebih penting, tim mulai menganggap basis data bukan sebagai penyimpanan pasif, tetapi sebagai agen aktif yang perilakunya harus dipahami secara terus-menerus melalui data.
Transformasi Budaya Evaluasi
Dampak paling besar dari evaluasi ini adalah perubahan budaya di dalam tim. Sebelumnya, keputusan arsitektur sering didasarkan pada perasaan atau tren industri. Sekarang, setiap usulan perubahan harus disertai dengan data pengukuran dari lingkungan produksi. Tim mengadakan sesi tinjauan arsitektur setiap dua pekan dengan membawa dashboard terbaru. Diskusi menjadi lebih faktual dan kurang dogmatis.
Namun, satu pertanyaan masih menggantung: seberapa sering evaluasi harus dilakukan? Arsitektur berevolusi seiring fitur baru dan perubahan perilaku pengguna. Tim menyadari bahwa evaluasi bukan proyek sekali selesai, melainkan aktivitas berkelanjutan. Mereka sedang merancang mekanisme evaluasi otomatis yang berjalan setiap hari dan menghasilkan laporan ringkasan setiap minggu. Apakah pendekatan ini akan menjadi standar industri di masa depan? Waktu yang akan menjawab.



