Acil tıp eğitiminde size defalarca tekrarlanan, duvarlara asılmış ve neredeyse her sınav sorusunda karşınıza çıkan bir altın kural vardır: "Monitörü değil, hastayı tedavi et." (Treat the patient, not the monitor.)
Bu kuralın arkasındaki hikaye şudur: Hastanın başına bağladığınız monitör size kalp ritmi, oksijen saturasyonu (SpO2), tansiyon ve nabız gibi verileri anlık olarak gösterir. Ancak bu veriler yanıltıcı olabilir. Parmaktaki oksimetre probu düşmüştür ve cihaz SpO2 değerini sıfır gösteriyordur; oysa hasta gayet rahat nefes alıyordur. EKG kablosu gevşemiştir ve ekranda düz çizgi (Asistol) gösteriyordur; oysa hastanın nabzı gayet güçlüdür. Tam tersi de olabilir: Monitör her şeyin yolunda olduğunu söylerken hasta gözlerinizin önünde kötüleşiyordur. Tansiyon cihazı 120/80 gösterir ama hastanın teni balmumu gibi sararmış, terleme başlamış ve bilinci kapanmaya başlamıştır. Cihaz rakamları verirken, vücudun dili bambaşka bir şey anlatıyordur.
Bu dersi ilk kez sahada, bir gece nöbetinde çok sert bir şekilde aldım. Yaşlı bir hastamız vardı, monitöre bağladık, vital bulguları (nabız, tansiyon, oksijen) gayet stabil görünüyordu. Rakamlar normaldi. Ancak hastanın yüzüne baktığımda bir şeylerin çok yanlış olduğunu hissettim. Göz bebekleri odaklanamıyordu, dudaklarının kenarında hafif bir morarma başlamıştı ve sorularıma verdiği cevaplar her dakika biraz daha anlamsızlaşıyordu. Monitör "Her şey yolunda" diyordu; ama hasta çöküyordu. Hızla müdahale ettik. Eğer monitöre güvenip arkamıza yaslansaydık, sonuç çok farklı olabilirdi.
Şimdi bir de DevOps mühendisliğine bakalım. Bugün her teknoloji şirketi Datadog, Grafana, Prometheus veya benzeri monitoring araçlarıyla dev ekranlar dolusu dashboard kurmuştur. CPU kullanımı, bellek tüketimi, istek sayısı (RPS), yanıt süresi (latency), uptime yüzdesi... Hepsi yeşil, hepsi normal aralıkta. "Sistem sağlıklı" diye arkamıza yaslanırız.
Ama o sırada kullanıcılar destek hattını arıyordur: "Ödeme sayfası açılmıyor." "Giriş yapamıyorum." "Sepetime ürün ekleyemiyorum." Sunucu ayakta, CPU düşük, RAM bol, uptime %100. Peki o zaman neden kullanıcılar siteyi kullanamıyor? Çünkü sorun altyapıda değil, uygulama katmanındadır. Bir API endpoint'i hatalı veri döndürüyordur, bir JavaScript hatası ödeme formunu kilitliyordur veya üçüncü parti bir servis (ödeme geçidi) sessizce zaman aşımına uğruyordur. Monitoring araçlarınız altyapıyı izliyordur ama kullanıcı deneyimini izlemiyordur.
Monitöre (dashboard'a) bakmak kolaydır. Güzel grafikler, yeşil çizgiler ve "All Systems Operational" (Tüm Sistemler Çalışıyor) yazısı yöneticilerin içini rahatlatır. Ancak bu, güvenlik kamerasına bakıp "Bina güvende" demek gibidir; oysa kameranın görmediği arka kapı ardına kadar açıktır.
Hem acil tıpta hem de sistem mühendisliğinde gerçek ustalık, sayılara ve ekranlara değil, "gerçek dünya çıktısına" (hastanın durumuna veya kullanıcının deneyimine) bakabilmektir. Dashboard'unuz her şeyin yolunda olduğunu söylüyorsa ama müşterileriniz şikayet ediyorsa, dashboard yalan söylüyordur. Monitörü değil, hastayı tedavi edin. Grafana'yı değil, kullanıcıyı dinleyin.