Observabilitas: Ketertelusuran untuk Sistem Terdistribusi

Observabilitas: Ketertelusuran untuk Sistem Terdistribusi

Node Sumber: 1990640

Pernahkah Anda menunggu satu parsel mahal yang bertuliskan "dikirim", tetapi Anda tidak tahu di mana itu? Riwayat pelacakan berhenti memperbarui lima hari yang lalu, dan Anda hampir kehilangan harapan. Tapi tunggu, 11 hari kemudian, Anda memilikinya di depan pintu Anda. Anda berharap ketertelusuran bisa lebih baik untuk membebaskan Anda dari semua penantian yang cemas. Di sinilah "observabilitas" berperan.

Dalam lanskap teknis, Anda ingin menghindari hal ini terjadi pada perangkat lunak atau sistem data Anda. Dan dengan demikian, Anda mengadopsi alat pemantauan, yang mengumpulkan log dan metrik sistem Anda dan memberi tahu Anda tentang keadaan internalnya. Pemantauan berfungsi paling baik saat Anda ingin sistem memberi tahu Anda apa kesalahannya, di mana dan kapan itu terjadi, tetapi tidak memberi tahu Anda cara mengatasi kesalahan tersebut.

Lebih dari satu dekade yang lalu, alat pemantauan tidak memiliki konteks dan pandangan jauh ke depan tentang masalah sistem yang mendasarinya dan tim akan dibatasi untuk men-debug kesalahan operasional sehari-hari. Hari ini, kami bekerja dan hidup di dunia layanan mikro terdistribusi dan saluran data; bahkan menggunakan beberapa alat pemantauan tidak akan membantu Anda menjawab pertanyaan bisnis seperti "Mengapa aplikasi saya selalu lambat?" atau "Pada tahap apa masalah terjadi, dan seberapa dalam tumpukannya?" atau “Bagaimana saya dapat meningkatkan kinerja lingkungan secara keseluruhan?” Menjadi perlu untuk proaktif dalam membuat keputusan ini dan memiliki visibilitas keseluruhan dari sistem, aplikasi, dan data Anda.

Kredensial mikro  posting blog oleh Etsy diterbitkan satu dekade lalu, dan itu menyatakan fakta di paragraf kedua:

“Metrik aplikasi biasanya yang paling sulit, namun paling penting, dari ketiganya. Mereka sangat spesifik untuk bisnis Anda, dan mereka berubah saat aplikasi Anda berubah (dan Etsy banyak berubah).

Jadi, bagaimana kita mengukur segala sesuatu dan apa saja? Kita mulai dengan observasi.

Apa itu Observabilitas?

Istilah "observabilitas" adalah diciptakan oleh Rudolf Emil Kálmán pada tahun 1960 dalam makalah tekniknya untuk menjelaskan sistem kontrol matematis. Dia mendefinisikannya sebagai ukuran seberapa baik keadaan internal suatu sistem dapat disimpulkan dari pengetahuan tentang keluaran eksternalnya. Tapi bukankah itu terdengar seperti pemantauan? Pada dasarnya, ya, itu pemantauan.

Hari-hari ini, observasi telah menjadi topik yang cukup hangat. Menurut beberapa survei pasar, ini adalah platform bernilai miliaran dolar. Banyak organisasi telah mengadopsi konsep tersebut dan menggunakannya sebagai kerangka kerja untuk visibilitas end-to-end dari sistem dan jalur pipa terdistribusi mereka. Namun, observasi dikacaukan dengan pemantauan. Untuk saat ini, saya dapat mengatakan bahwa pemantauan adalah bagian dari keteramatan, di mana keteramatan adalah satu istilah payung besar. 

Observabilitas memungkinkan penelusuran terdistribusi melalui pengumpulan dan penggabungan jejak, log, dan metrik. Mari kita lihat apa yang disimpulkan ini:

  • Jejak: Saat sistem menerima permintaan, pelacakan memberi tahu Anda bagaimana permintaan itu mengalir, sepanjang siklus hidupnya, dari sumber ke tujuan. Jejak diwakili oleh "rentang". Trace adalah pohon span, dan span adalah operasi tunggal dalam trace. Mereka membantu Anda menemukan kesalahan, latensi, atau hambatan dalam sistem.
  • Log: Ini adalah peristiwa dengan stempel waktu yang dihasilkan mesin yang memberi tahu Anda tentang operasi atau perubahan yang terjadi dalam sistem. Log sering digunakan untuk menanyakan kesalahan atau perubahan ini dalam sistem.
  • Metrik: Ini memberikan wawasan kuantitatif tentang CPU, memori, penggunaan disk, dan bagaimana kinerja sistem selama periode waktu tertentu.

Atribut ini meningkatkan kerangka pemantauan dengan ketertelusuran. Ketertelusuran memberi Anda lensa untuk melacak permintaan yang melakukan panggilan ke sistem Anda, berapa lama waktu yang diperlukan untuk berpindah dari satu komponen ke komponen lainnya, layanan lain apa yang diminta, apakah menimbulkan kesalahan, log apa yang dihasilkannya, apa statusnya masuk, kapan mulai dan berakhir, berapa garis waktu yang ada di sistem Anda, dll. Saat Anda mengumpulkan, menggabungkan, dan menganalisis jejak ini, Anda dapat membuat keputusan berdasarkan informasi yang berharga seperti garis waktu pelanggan di situs web e-niaga , berapa lama mereka mencari produk, berapa lama mereka melihat produk, apakah laman HTML memuat detail lengkap seperti gambar atau video tersemat, berapa lama waktu yang dibutuhkan sistem untuk mengautentikasi dan memproses pembayaran, dll.

Apa yang Kami Capai dengan Observabilitas di Lingkungan Terdistribusi?

Evolusi sistem terdistribusi dimulai ketika organisasi mulai beralih dari arsitektur monolit terpusat ke arsitektur layanan mikro terdistribusi dan terdesentralisasi. Dan ini masih dalam proses di mana banyak organisasi merangkul sifat layanan mikro dari sistem dan aplikasi. Dan semua ini dapat dikaitkan dengan data besar dan penskalaan. Mengelola lingkungan terdistribusi membutuhkan pembelajaran berkelanjutan, tenaga kerja tambahan, perubahan kerangka kerja dan kebijakan, manajemen TI, dan sebagainya. Ini memang perubahan besar.

Sebelumnya, di lingkungan monolitik yang terbatas, perangkat keras, perangkat lunak, data, dan basis data semuanya hidup di bawah satu atap. Dengan munculnya data besar di tahun 2000-an, sistem pemantauan dan penskalaan mulai menjadi perhatian besar. Seringkali, organisasi menggunakan alat pemantauan yang berbeda untuk memenuhi kebutuhan berbagai aplikasi mereka. Akibatnya, itu segera menjadi overhead operasional dengan ketahanan, visibilitas, dan keandalan yang buruk.

Semua masalah ini memunculkan adopsi observabilitas. Saat ini, beberapa alat observasi tersedia untuk keamanan, jaringan, aplikasi, dan saluran data untuk pelacakan terdistribusi di lingkungan yang kompleks. Mereka hidup berdampingan dengan sepupu mereka, alat pemantauan, dan memanfaatkan pengumpulan informasi dari sepupu mereka dan menggabungkannya dengan informasi tambahan dari data jejaknya sendiri.

Ada banyak komponen bergerak di semua sistem ini, yang jejaknya ketika ditangkap dapat menggambarkan kisah 5 W: kapan, di mana, mengapa, apa, dan bagaimana. Misalnya, Anda membuka situs web DATAVERSITY pada pukul 1 untuk membaca beberapa entri blog. Saat Anda menekan dataversity.net, permintaan HTTP masuk ke sistem. Anda mulai mencari posting blog dan pergi ke posting Tata Kelola Data, di mana Anda menghabiskan 43 menit membaca posting itu dan kemudian Anda menutup tab pada pukul 17:2

Juga akan ada panggilan lain yang dilakukan ke sistem jaringan untuk menangkap paket jaringan juga. Alat observabilitas mengumpulkan semua bentang dan menyatukannya dalam satu atau beberapa jejak, memungkinkan Anda melihat jalur yang terbentuk selama siklus hidupnya. Jika Anda memiliki masalah seperti latensi jaringan atau cacat sistem, sekarang lebih mudah untuk membedah (mengupas bawang) dan men-debug masalahnya (kesalahan di lapisan mana).

Sekarang di lingkungan terdistribusi yang besar, ketika aplikasi Anda menerima jutaan permintaan, data jejak tumbuh dalam volume yang sangat besar. Mengumpulkan dan menganalisis jejak ini mahal untuk konsumsi penyimpanan dan transfer data. Jadi, untuk menghemat biaya, data jejak diambil sampelnya, karena dalam banyak kasus, tim teknik hanya memerlukan beberapa bagian untuk menyelidiki apa yang salah atau apa pola kesalahannya.

Dengan contoh kecil itu, kami memahami bahwa kami mendapatkan wawasan yang jauh lebih dalam tentang sistem kami. Jadi, dengan mempertimbangkan skala sistem yang lebih besar, tim teknik dapat menangkap dan mengerjakan data sampel untuk meningkatkan struktur sistem saat ini, menerapkan atau menghentikan komponen baru, menambahkan lapisan keamanan lain, menghilangkan kemacetan, dan sebagainya. 

Haruskah Organisasi Memilih Observabilitas?

Kita semua harus memahami bahwa tujuan akhir adalah pengalaman pengguna yang lebih baik dan kepuasan pengguna yang lebih besar. Dan jalan untuk mencapai tujuan ini dapat dipermudah dengan kerangka kerja observasi yang otomatis dan proaktif. Membangun budaya peningkatan dan pengoptimalan berkelanjutan dianggap sebagai pendekatan bisnis dan kepemimpinan yang optimal. 

Di era transformasi digital ini, observability telah menjadi hal yang harus dimiliki oleh sebuah bisnis agar berhasil dalam perjalanan digitalnya. Memberi Anda jejak yang berwawasan luas, kemampuan observasi juga mengarahkan Anda untuk mendapatkan informasi data, bukan hanya berdasarkan data.

Kesimpulan

Meskipun kami telah menggunakan istilah pemantauan dan keteramatan secara bergantian, kami telah melihat bahwa sementara pemantauan membantu Anda dengan informasi tentang kesehatan sistem dan peristiwa yang terjadi di dalamnya, keteramatan memfasilitasi Anda untuk membuat kesimpulan berdasarkan bukti yang dikumpulkan dari lapisan akhir yang lebih dalam. lingkungan sampai akhir.

Observabilitas adalah dan juga dapat dianggap sebagai komponen kerangka kerja Tata Kelola Data. Pada generasi ini, di mana volume data yang terus meningkat berada di jaringan perangkat keras komoditas, sangat penting untuk menjaga arsitektur sesederhana mungkin. Dan ternyata, menjadi tugas yang mustahil untuk mengelola lingkungan di kemudian hari. Oleh karena itu, menerapkan kebijakan dan aturan tata kelola yang tepat dan otomatis untuk menjaga jaringan besar sistem, saluran pipa, dan data Anda agar tetap rapi memerlukan tindakan lebih cepat daripada nanti.

Stempel Waktu:

Lebih dari DATAVERSITAS