Sentry İle Hatalar Kontrol Altında: Hotel WD'nin Gerçek Zamanlı İzleme Sistemi Devrede
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 entegre ettiğimiz Sentry sistemi tam olarak bu sorunu çözüyor: kullanıcınız bir hata ile karşılaştığı saniyede mühendislik ekibimizin ekran alarmı çalıyor. Çoğu durumda kullanıcı sayfayı kapatmadan biz devreye giriyoruz.
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.
Hotel WD ile çalışan her otel artık bu altyapının bir parçasıdır. Sizin tarafınızda hiçbir kurulum, ek ödeme veya ayar yok — ama arka planda Hotel WD mühendislik ekibimiz sitenizi sürekli izliyor.
Ö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ığı an mühendislik ekibimiz 30 saniye içinde bilgilendirilir. Çoğu hata fark edilmeden 30 dakika içinde yamanır. Misafir tekrar denediğinde sorun yoktur. Aylık raporunuzda kayıp görünmez çünkü kayıp yaşanmaz.
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.
| Konu | Önceki Durum | Yeni Hotel WD Standardı | Otelci İçin Anlamı |
|---|---|---|---|
| Hata Tespit Süresi | Saatler ya da günler | 30 saniye | Misafir kapatmadan müdahale |
| Hata Bağlamı | "Bir şey çalışmıyor" | Stack trace + tarayıcı + adım izi | Çözüm 30 dk içinde |
| Sessiz Hata | Sayılamayan kayıp | Sıfır görünmez hata | Aylık rapor doğru |
| 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.
