Sentry İle Hatalar Kontrol Altında: Hotel WD Gerçek Zamanlı İzleme Sistemini Kuruyor
Misafiriniz "Rezervasyon Yap" butonuna bastı, sayfa beklenenden farklı çalıştı. Bir hata pop-up'ı gördü, kapattı, başka bir otel aradı. Sizin haberiniz oldu mu?
Çoğu otel için bu sorunun cevabı hayırdır. Ziyaretçiler nadiren bildirim formu doldurur, müşteri hizmetlerini arar, e-posta yazar. Sayfayı kapatırlar, işin sonunda otel sahibi günler sonra "bu ay rezervasyon neden düştü" diye bakarken kayıp çoktan gerçekleşmiştir.
Bu sessiz kayıp, yazılım dünyasında silent failure (sessiz başarısızlık) olarak adlandırılır ve büyük ölçekte çalışan her web sitesinin baş düşmanıdır.
Bu hafta Hotel WD altyapısının çekirdeğine Sentry entegrasyonunu kurmaya başladık. İskelet yerinde, devreye alma süreci sürüyor. Hedef net: misafiriniz sitenizde bir hata ile karşılaştığında bunu siz — ya da misafir — bildirmek zorunda kalmadan bizim görmemiz.
Sentry gerçek zamanlı hata akışı: Hotel WD App → Sentry Cloud → Mühendis ekibe alarm
Sentry, dünyada GitHub, Microsoft, Disney, Spotify dahil 100.000'den fazla şirketin kullandığı kurumsal bir production observability (üretim ortamı gözlemlenebilirlik) platformudur. 2012'de San Francisco'da kuruldu, Almanya'da veri merkezi var.
Tek işi: çalışan web siteleriniz ve uygulamalarınızda yaşanan hataları, performans tıkanıklıklarını ve kullanıcı deneyimi sorunlarını gerçek zamanlı olarak yakalamak ve geliştirici ekibe iletmektir.
Kurulum tamamlandıkça Hotel WD ile çalışan her otel bu altyapının parçası olacak. Sizin tarafınızda hiçbir kurulum, ek ödeme veya ayar yok — her şey arka planda işleyecek.
Önceki dünya: Siteniz bir köşede beklenmedik bir durumla karşılaştı. Misafir kapattı. Bir sonraki rezervasyon kaybedildi. Aylık raporda "rezervasyon düşüşü" görüyor, sebebi anlayamıyordunuz. Kayıp sessizdi.
Yeni dünya: Siteniz bir köşede beklenmedik bir durumla karşılaştığında izleme hattı bunu kaydeder — tam hata, ilgili kod satırı, misafirin o ana kadarki adımları ve kullandığı cihazla birlikte — ve önümüze getirir. Bu bağlam, çözümün haftalarca süren tahmin yerine hızla gönderilmesini sağlar. Amaç, düşüşü aylık raporunuza yansımadan yakalamaktır.
Bu, kurumsal e-ticaret sitelerinin (Amazon, Booking, Airbnb gibi) yıllardır kullandığı standart bir yöntem. Hotel WD bu metodolojiyi tek otel ölçeğine indirgedi ve tüm müşterilerine sunuyor.
Bir hata patladığında Sentry'nin topladığı bağlam:
Otel sahibi olarak siz bu detayların hiçbirini görmek zorunda değilsiniz. Bizim mühendislik ekibimiz görür, çözer, deploy eder. Siz sadece sonucu yaşarsınız: siteniz çalışıyor.
Sentry tek başına yeterli değildir; etrafına doğru altyapıyı kurmak gerekir. Bu hafta gönderdiğimiz değişiklikler:
1. Çoklu Runtime Hata Yakalama
@sentry/nextjs SDK'i Hotel WD çekirdeğine entegre edildi. Sunucu tarafı (Node.js runtime), edge runtime ve tarayıcı tarafı için ayrı kanallar kuruldu. Misafir verisinin (PII) varsayılan gönderimi kapatıldı — yalnızca anonim hata izleri ve teknik bağlam gönderilir, KVKK ve GDPR uyumlu.
2. Sağlık Kontrolü Endpoint'i (/api/health)
Sunucumuzun ayakta olup olmadığını saniyede bir test eden bir endpoint açıldı. PostgreSQL veritabanına ping atar, 200 OK ya da 503 Degraded döner. Bu sayede:
3. Önbellek Tutarlılığı (Cloudflare Cache TTL Senkronizasyonu)
Cloudflare edge cache ile Next.js iç önbelleği arasındaki süre uyumsuzluğu giderildi. Bir oda fiyatı güncellendiğinde teorik olarak 7 gün boyunca eski fiyat görünme riski vardı; bu pencere 24 saate sıkıştırıldı. Oda müsaitlik ve fiyat değişikliklerinin yansıması artık en kötü ihtimalle 1 gün içinde tamamlanıyor.
4. Layout Shift Düzeltmesi (Google PageSpeed CLS)
Çerez bildirim banner'ımız sayfa yüklenirken "pop-in" yapıyordu. Bu, Google PageSpeed metriklerinde Cumulative Layout Shift puanını yükselten gizli bir sorundu ve doğrudan SEO sıralamasına etki eder. Banner'ı her zaman DOM'da hazır tutup yalnızca opaklık geçişiyle gösterilecek şekilde düzelttik.
5. Yapım Hattı Hijyeni (Docker Image)
Üretim Docker image'ımızın yapı bağlamı 600MB seviyesinden 37MB'a düştü. Deploy süresi 1-2 dakika kısaldı, sunucu bant genişliği tasarrufu oldu. Container'ın kendi sağlığını sürekli ölçmesi için HEALTHCHECK direktifi eklendi.
6. Eşzamanlı Deploy Koruması
GitHub Actions deploy hattında iki güncellemenin aynı anda başlaması durumunda yarış oluşabilirdi. Concurrency group ile bu yarış kapatıldı.
Yukarıdaki teknik detayların hepsini bilmek zorunda değilsiniz. Ama Hotel WD ile çalışıyorsanız, bu detayların sizin adınıza uygulandığını bilmenizde fayda var.
Hotel WD'nin ticari vaadi tek bir cümlede özetlenebilir:
"Otelciliğin teknik kısmıyla siz uğraşmayın, biz uğraşırız."
Bu vaat, sadece sayfa tasarlamakla bitmez. Sayfanın canlı kaldığında, hata aldığında, yavaşladığında, fiyatlar güncellendiğinde, ödeme alındığında — her aşamada arka planda mühendislik standartlarının çalışıyor olması gerekir.
Bu hafta gönderdiğimiz altyapı katmanı, Hotel WD'nin "tek otelin kişisel projesi" tabakasından "kurumsal SaaS standardı" tabakasına geçişinin somut adımıdır.
/api/health saniye başı ping| Konu | Önceki Durum | Yeni Hotel WD Standardı | Otelci İçin Anlamı |
|---|---|---|---|
| Hata Tespit Süresi | Saatler ya da günler | Hata oluştuğu an otomatik kayıt | Hedef: siz bildirmeden bizim görmemiz |
| Hata Bağlamı | "Bir şey çalışmıyor" | Stack trace + tarayıcı + adım izi | Çözüm tahmine değil gerçek sebebe gider |
| Sessiz Hata | Sayılamayan kayıp | Kayıt altında ve bize görünür | Aylık rapor dürüstleşir |
| Sağlık Kontrolü | Yok | /api/health saniye başı ping | Otomatik kurtarma |
| Cache Tutarlılığı | 7 gün riski | 1 gün max | Fiyat/müsaitlik tazeliği |
| Sayfa Hızı (CLS) | Layout shift cezası | Sıfır shift | SEO sıralama avantajı |
| Build Boyutu | ~600MB | 37MB | Hızlı deploy, az hata penceresi |
Bu sprint'te attığımız adımlar bir başlangıç. Önümüzdeki haftalarda eklenecek katmanlar:
Hotel WD'nin yol haritası, otelcilik dünyasında çoğu rakipte bulunmayan bir şeffaflıkla ilerliyor.
Bir misafir sitenize girdiğinde "her şey çalışıyor mu" diye düşünmesini istemiyoruz. Düşünmeden rezerve etmesini istiyoruz.
Bunun için önce her şeyin gerçekten çalıştığından emin olmamız gerekiyor. Ve her şeyin çalıştığından emin olmak için sürekli ölçmek gerekiyor.
Sentry, bu güveni kuran çekirdek katmanlardan biri. Bugün Hotel WD altyapısının bir parçası. Yarın daha fazlasının.
Hotel WD ile Tanışın ve Otelinizi Mühendislik Standartlarına Taşıyın →
I have been working in the digital field since 1999. I still hold the position of Digital Marketing Manager at Türk SEM. I have also been involved in tourism-related activities since 2005.
