Banyak struktur dan badan pemerintahan bergantung pada tiga pilar untuk membantu memastikan kesuksesan. Praktik tanggung jawab perusahaan berfokus pada keberlanjutan lingkungan, sosial, dan keuangan untuk memandu praktik bisnis.
Bisnis yang ingin melakukan transformasi digital biasanya menggunakan tiga pilar, yaitu orang, proses, dan teknologi, untuk memandu mereka melalui transisi. Kerangka kerja ini mendorong para pengambil keputusan untuk berfokus mempertahankan para pakar yang kreatif dan kolaboratif (orang); untuk menggunakan praktik manajemen data dan keamanan yang terstruktur dan cermat (proses); dan untuk mengandalkan alat dan platform canggih untuk mendorong kemajuan.
Dan tiga pilar yang mendasari Scrum, seperangkat kerangka kerja dan prinsip yang memungkinkan manajemen proyek tangkas, adalah transparansi, inspeksi, dan adaptasi. Dalam tiap contoh ini, pilar-pilarnya berbeda dan penting, tetapi tidak lengkap. Masing-masing memiliki ruang gerak dan prioritasnya sendiri, tetapi kekuatan mereka yang sebenarnya terletak pada bagaimana mereka berkolaborasi dan berinteraksi untuk mendukung tujuan yang lebih besar. Observabilitas tidak berbeda.
Dalam konteks IT, observabilitas menggunakan tiga pilar data telemetri-metrik, log, dan jejak, untuk membuat jaringan komputasi yang luas menjadi lebih mudah divisualisasikan dan dipahami. Ini memungkinkan pengembang untuk memahami status internal sistem berdasarkan output eksternalnya. Ketika jaringan dapat diamati, personel IT dapat mengidentifikasi akar masalah dari masalah kinerja dengan melihat data yang dihasilkannya dan tanpa pengujian tambahan atau pengodean.
Solusi pengamatan menggunakan data output sistem untuk menyelesaikan analisis data, memberikan tim visibilitas jaringan menyeluruh dan insight yang dapat ditindaklanjuti yang mereka butuhkan untuk pemecahan masalah dan debugging.
Arsitektur yang dapat diamati membantu tim teknisi dan administrator jaringan mengelola kompleksitas jaringan komputasi modern. Dan hari ini, itu berarti mempertahankan jaringan komputasi yang sangat dinamis yang sering kali mencakup konfigurasi hybrid cloud dan multicloud dan berbagai aplikasi cloud-native, layanan mikro, dan kontainer Kubernetes.
Alat observabilitas, seperti solusi sumber terbuka, OpenTelemetry, memberikan pandangan kesehatan sistem yang komprehensif dan kontekstual. Keseluruhan visibilitas lapisan membantu tim mengidentifikasi pola data anomali dan hambatan kinerja sebelum memengaruhi pengguna akhir. Dengan demikian, observabilitas dapat membantu bisnis meminimalkan waktu henti dan mempertahankan keandalan layanan di berbagai contoh penggunaan.
Namun, terlepas dari kompleksitas jaringan, pengamatan tergantung pada “peristiwa” sistem dan tiga pilar utamanya. Pilar memungkinkan platform pengamatan untuk mengumpulkan dan menganalisis data dari aplikasi front-end, layanan backend, pipeline CI/CD dan data streaming yang beroperasi di seluruh sistem terdistribusi.
Pengamatan membutuhkan pengumpulan data yang cermat dari setiap komponen jaringan untuk menentukan “apa,” “di mana”, dan “mengapa” dari peristiwa sistem dan untuk memperjelas bagaimana peristiwa dapat mempengaruhi kinerja seluruh arsitektur. Oleh karena itu, peristiwa adalah dasar pemantauan dan telemetri.
Peristiwa adalah kejadian yang berbeda pada jaringan yang terjadi pada waktu tertentu dan biasanya menghasilkan data yang berharga untuk log, metrik, dan jejak. Menjadikannya sebagai bagian integral dari kemampuan pengamatan seperti halnya ketiga pilar tersebut. Peristiwa ada dalam konteks yang lebih luas.
Misalnya, ketika klien meminta sumber daya dari server perusahaan, klien mengarahkan permintaan ke titik akhir API yang sesuai dengan menggunakan URL titik akhir. Server menerima permintaan, memeriksa kredensial autentikasi (seperti kunci API) dan izin klien, dan dengan asumsi permintaan tersebut valid, memproses permintaan sesuai dengan spesifikasi API (misalnya, memastikan bahwa respons diformat dengan benar ). Server kemudian mengirimkan respons kembali ke klien dengan data yang diminta.
Peristiwa memicu tindakan yang berbeda pada saat-saat yang tepat. Jadi, alat observabilitas bergantung pada mereka untuk memulai proses pelacakan, analisis, dan korelasi yang membantu tim DevOps memvisualisasikan lingkungan IT mereka dan mengoptimalkan jaringan.
Metrik memberikan insight kuantitatif tentang kinerja sistem dengan mengukur berbagai parameter jaringan. Mereka membantu tim memahami “apa” masalah sistem. Jenis metrik meliputi:
Metrik umum, seperti penggunaan memori dan latensi, selaras secara intuitif dengan kesehatan sistem. Namun, banyak metrik dan indikator kinerja utama (KPI) lainnya dapat mengungkapkan masalah sistem. Misalnya, turunnya sumber daya sistem operasi (OS) dapat memperlambat sistem dan seringkali memerlukan reboot untuk memulihkan fungsionalitas.
Metrik sering digabungkan untuk memberikan tampilan ringkasan yang menggunakan dasbor dan visualisasi lainnya (seperti grafik deret waktu) untuk membantu pengembang menilai kesehatan sistem secara keseluruhan dengan cepat, menganalisis tren data, dan menanggapi masalah jaringan. Metrik ini juga menginformasikan keputusan tentang penskalaan dan alokasi sumber daya. Hal itu membuat metrik ini sangat penting untuk perencanaan kapasitas dan manajemen beban yang efektif.
Sangat penting bagi tim untuk memilih metrik mana yang akan dilacak dan terus menganalisisnya. Beberapa metrik dapat membantu mereka mengantisipasi potensi masalah sebelum terjadi.
Tim dapat menetapkan ambang batas metrik yang, jika dilanggar, akan memicu peringatan untuk memberi tahu staf IT tentang masalah yang sedang atau akan terjadi. Metrik juga memungkinkan alat pengamatan untuk mendeteksi masalah, seperti kebocoran sumber daya OS, yang menumpuk dari waktu ke waktu, dimulai jauh sebelum mengganggu pengalaman pelanggan.
Namun, metrik sering kali memberikan konteks yang terbatas, sehingga umumnya memerlukan korelasi dengan log dan jejak untuk memberikan pemahaman yang komprehensif kepada pengembang tentang peristiwa sistem. Metrik resolusi tinggi juga menghasilkan sejumlah besar data yang sulit disimpan dan dikelola secara efisien. Jadi, observabilitas seringkali membutuhkan solusi penyimpanan jangka panjang berkualitas tinggi yang dapat menangani data metrik dan membantu memastikan bahwa data tersebut tetap tersedia untuk dianalisis.
Log adalah catatan lengkap dan tetap dari peristiwa diskrit yang terjadi dalam suatu sistem. Mereka membantu tim memahami “mengapa” masalah sistem terjadi.
File log berisi informasi terperinci tentang perilaku sistem dan proses aplikasi, termasuk:
Log peristiwa dapat berupa biner, tidak terstruktur (seperti dalam teks biasa), atau terstruktur (seperti dalam format JSON). Semua file log berguna dalam konteks yang tepat, tetapi pendekatan pencatatan terstruktur memberikan struktur pada teks dan metadata saat dibuat, sehingga lebih mudah untuk diurai dan dianalisis.
Fitur pencatatan dalam alat observabilitas mengumpulkan file log dari sistem operasi, perangkat jaringan, aplikasi internal dan pihak ketiga, dan perangkat Internet of Things (IoT) untuk membantu tim pengembangan mendiagnosis kesalahan dan memahami kegagalan sistem. Ketika kesalahan, pelanggaran keamanan, atau masalah kepatuhan terjadi, log memberikan detail yang diperlukan untuk melacak akar masalah dan memahami apa yang salah.
Log menawarkan insight berharga tentang peristiwa dan masalah sistem, tetapi secara terpisah, hanya memberikan gambaran yang tidak lengkap. Seperti halnya dengan metrik, alat bantu observabilitas harus menganalisis dan menghubungkan data log dengan metrik dan jejak untuk memaksimalkan nilainya. Dan, seperti metrik, log secara signifikan meningkatkan volume data, sehingga bisnis harus sering berinvestasi dalam alat manajemen log yang canggih untuk menangani beban data.
Lebih jauh lagi, pencatatan peristiwa yang komprehensif dapat menyembunyikan informasi penting di bawah data yang kurang relevan, sehingga menimbulkan “gangguan” yang mempersulit identifikasi masalah bagi personel IT. Itulah sebabnya solusi observabilitas modern mengandalkan alur kerja otomatisasi berbasis AI dan machine learning (ML) untuk menyempurnakan praktik peringatan dan membedakan antara peringatan penting dan kebisingan.
Jejak, yang menggabungkan beberapa fitur metrik dan log, memetakan data di seluruh komponen jaringan untuk menunjukkan alur kerja permintaan. Mereka mewakili perjalanan menyelkuruh dari sebuah permintaan melalui jaringan, menangkap jalur dan umur setiap komponen yang terlibat dalam memproses permintaan. Singkatnya, pelacakan membantu insinyur keandalan situs (SRE) dan tim rekayasa perangkat lunak memahami “di mana” dan “bagaimana” peristiwa dan masalah sistem.
Data pelacakan dapat mencakup:
Pelacakan, yang disebut pelacakan terdistribusi, berguna dalam arsitektur layanan mikro, di mana permintaan dapat melintasi beberapa layanan yang tersebar secara geografis sebelum mencapai tujuannya. Ini memberikan insight tentang dependensi dan interaksi antara komponen dan layanan yang berbeda, dan dapat membantu tim IT memahami berapa lama waktu yang dibutuhkan pengguna untuk menyelesaikan tindakan tertentu.
Fitur pelacakan dalam alat observabilitas sangat penting untuk analisis latensi, yang membantu insinyur mengidentifikasi komponen bermasalah dan layanan berkinerja buruk yang dapat menciptakan hambatan kinerja bagi pengguna.
Mereka memfasilitasi proses debugging dengan mengilustrasikan aliran permintaan-respons dan hubungan sebab-akibat di antara elemen-elemen jaringan. Dan, selama analisis akar masalah, pelacakan membantu tim menentukan sumber masalah jaringan dalam alur kerja yang kompleks untuk penyelesaian masalah yang lebih cepat dan lebih akurat.
Tidak seperti metrik dan log, jejak dapat memberikan informasi kontekstual untuk membantu memperkaya insight. Namun, pelacakan saja tidak dapat mengungkapkan tren atau pola data. Menyiapkan jejak terdistribusi juga membutuhkan instrumentasi di seluruh penerapan layanan, yang dapat membuat prosesnya menjadi sangat kompleks dan memakan waktu. Dan jika tidak dikelola dengan benar, pelacakan, dan daya komputasi yang dibutuhkannya, dapat menyebabkan lebih banyak latensi ke lingkungan.
Menggabungkan ketiga pilar tersebut memungkinkan tim pengembangan dan operasi untuk mendapatkan pandangan holistik dan pemahaman terperinci tentang perilaku sistem yang kompleks. Sementara metrik digunakan untuk mengingatkan tim terhadap masalah, jejak menunjukkan jalur eksekusi dan log memberikan konteks yang diperlukan untuk menyelesaikannya.
Bersama-sama, mereka membantu mempercepat identifikasi dan penyelesaian masalah, menawarkan tim alat pelengkap untuk mengatasi masalah, mengoptimalkan kinerja jaringan, dan memungkinkan observabilitas keseluruhan lapisan.
Metrik, log, dan jejak secara luas dikenal sebagai pilar utama pengamatan, tetapi itu tidak menghalangi keberadaan komponen dasar lainnya. Beberapa orang berpendapat bahwa konteks, korelasi, dan peringatan juga merupakan pilar pengamatan.
Bagaimanapun, konteks memperkaya metrik, log, dan jejak dengan memberikan informasi tambahan tentang lingkungan jaringan (topologi, peran perangkat, dan dependensi aplikasi, misalnya). Tanpa konteks, data observabilitas tidak akan memiliki makna yang dapat ditindaklanjuti.
Korelasi mengikat metrik, log, jejak, dan informasi kontekstual untuk menyajikan pandangan kohesif peristiwa di berbagai lapisan tumpukan jaringan. Dan tanpa peringatan, alat observabilitas tidak akan dapat mengirim pemberitahuan prompt ketika masalah muncul.
Namun, pembuatan profil muncul sebagai fitur utama observabilitas lainnya.
Profiling, yang juga disebut profiling berkelanjutan, adalah proses menjalankan aplikasi dan secara terus menerus mengumpulkan data terperinci tentang keadaan eksekusi kode pada saat-saat tertentu. Misalnya, profil dapat mengungkapkan apakah thread Java berada dalam status RUNNING atau WAIT. Atau, jika aplikasi mengalami masalah kebocoran memori, profil dapat membantu memperjelas bagian kode mana yang menghabiskan sumber daya secara berlebihan.
Oleh karena itu, profil berfungsi sebagai x-ray ke dalam cara kerja internal komponen sistem tunggal.
Pembuatan profil berguna untuk menunjukkan dengan tepat masalah tingkat rendah, seperti yang memengaruhi fungsi individu atau blok kode. Ini membantu tim IT mengidentifikasi jalur kode yang ditempati, menemukan dan menghapus jalur yang tidak digunakan, serta memprioritaskan jalur penting untuk peristiwa dan interaksi di masa mendatang.
Meskipun profil bukan salah satu dari tiga pilar, kemampuan pembuatan profil telah berkembang secara signifikan. Proyek-proyek seperti extended Berkeley Packet Filter (eBPF) untuk kernel Linux telah merampingkan pengembangan profiler, menyederhanakan proses pembuatan profil untuk tim pengembangan.
Tim pengembangan dapat menggunakan profil pelacakan, pengambilan sampel, dan instrumentasi untuk mendapatkan tampilan yang lebih dalam dan lebih terperinci dari kode aplikasi. Dan, ketika digunakan bersama pilar pengamatan lainnya, profiling dapat memberikan insight real-time tentang kinerja aplikasi, mempercepat siklus pengembangan perangkat lunak, dan membantu bisnis mengoptimalkan strategi DevOps.
Mengidentifikasi dan memperbaiki sumber masalah dengan cepat.Data real-time dengan fidelitas tinggi menawarkan visibilitas lengkap terhadap lingkungan aplikasi dan infrastruktur yang dinamis.
Tingkatkan otomatisasi dan operasi TI dengan AI generatif, yang menyelaraskan setiap aspek infrastruktur TI Anda dengan prioritas bisnis.
IBM SevOne Network Performance Management adalah perangkat lunak pemantauan dan analitik yang memberikan visibilitas dan wawasan real-time ke dalam jaringan yang kompleks.