Teknoloji sunumu
Bir platformun değeri ekranlarında değil, ekranlar çalışmayı bıraktığında ne olduğunda ortaya çıkar. Bu sunum tam olarak orayı anlatıyor.
→ ilerle · ← geri · F tam ekran · N notlar · O içindekiler
Nereden başlıyoruz
Demo herkeste güzel görünür.
Asıl soru: gece 03:00'te disk dolduğunda kim haberdar oluyor?
Bu üç sorunun yazılı bir cevabı yoksa, cevap “bilmiyoruz” demektir.
Ayrım
Kurulur, açılır, iş görür. Sorun çıkana kadar her şey yolundadır. Sorun çıktığında kimse ne olduğunu bilmez; kurtarma o gece doğaçlama yapılır.
Arızayı kendisi haber verir, yedeğini doğrulayarak alır, kötü günün prosedürü önceden yazılmıştır. Kurtarma doğaçlama değil, uygulama işidir.
Aradaki fark teknoloji seçimi değil, işletme disiplini. Sonraki slaytlar bu disiplinin nasıl göründüğünü anlatıyor.
Mimari
Bu şemayı okumanız gerekmiyor — göstermek istediğimiz tek şey şu: durumu tutan hiçbir şey uygulama katmanında değil.
Bunun pratik karşılığı
Konteynerler değişir, veri hiç dokunulmadan yerinde kalır.
Cluster baştan kurulsa bile veritabanı ve dosyalar aynı yerde durur.
Bir arıza tüm sistemi değil, tek katmanı ilgilendirir.
Çoğu kesinti arızadan değil, arızayı düzeltme girişiminden doğar. Katmanları ayırmak bu riski baştan küçültür.
Sürüm yönetimi
Kod tek yönde ilerler; cluster'ı değiştiren tek bileşen dağıtım aracıdır.
Değişiklik güvenliği
Veri güvenliği
Her gece, her veritabanı ayrı. Tek bir tabloyu geri almak mümkün — tüm sunucuyu dünkü haline döndürmeden.
Makinenin bütün görüntüsü. Donanım kaybında en hızlı dönüş yolu.
Cluster'ın kendisi de yedekleniyor: servisler, ayarlar, erişim kuralları, sertifikalar.
RPO — kabul edilen azami veri kaybı. Bizde 24 saat: en kötü durumda son gece yarısına dönülür. Daha kısa bir RPO isteniyorsa çözüm yedeği sıklaştırmak değil, çoğaltma (replication) kurmaktır — ayrı bir yatırım kalemi.
İzleme
Kapsam
Servisler, veritabanları, dış adresler, sertifikalar, derleme sunucusu.
Her biri belirli bir arıza türü için ayrı yazılmış.
Anlık dalgalanmalar elendikten sonraki tipik uyarı süresi.
Doğrudan ekip kanalına; kimse ekrana bakmak zorunda değil.
Alarm sayısı bilinçli olarak düşük tutuluyor. Sürekli çalan bir kanal, hiç çalmayan bir kanaldan daha tehlikelidir — çünkü insanlar bakmayı bırakır.
Süreklilik · RTO
RTO — arızadan sonra hizmetin ayağa kalkması için hedeflenen süre. Aşağıdakiler senaryo bazında, çünkü tek bir rakam vermek yanıltıcı olur: bir worker'ın düşmesi ile veri merkezinin gitmesi aynı şey değildir.
| Senaryo | Etki | Hedef RTO |
|---|---|---|
| Bir sunucu düşer | Etki yok — iş yükü diğerlerine kayar | dakikalar |
| Yönetim düğümü düşer | Servisler ayakta, değişiklik yapılamaz | 1–3 saat |
| Veritabanı sunucusu düşer | Kesinti | 1–2 saat |
| Yanlışlıkla veri silinir | Tek tablo geri alınır, gerisi yerinde kalır | dakikalar |
| Ortam sıfırdan kurulur | Test edilmiş sırayla, scriptlerle | 4–8 saat |
Bunlar pazarlama vaadi değil, yazılı prosedürlere dayanan hedeflerdir — her satırın arkasında adım adım komutlarıyla bir kurtarma dokümanı var. Prosedürü olmayan bir kurtarma planı, iyimser bir tahminden ibarettir.
Güvenlik
Active Directory entegrasyonu. Bir kullanıcı işten ayrıldığında erişimi tek yerden kapanır; ayrı kullanıcı listesi tutulmaz.
Bütün adresler gerçek sertifikalarla. Yenileme otomatik, süre takibi izleniyor.
Üretime giden her konteyner kendi deponuzdan gelir; dış kaynağa bağımlılık yok.
Kim neyi ne zaman dağıttı — sürüm kaydında, sonradan değiştirilemez.
Somut
Tek yönetim altında, birbirine bağlı çalışan bileşen.
İhtiyaca göre doğru araç: ilişkisel, doküman, önbellek, arama, kuyruk.
Her adım kayıtlı ve tekrarlanabilir. “Bir kişinin bildiği” hiçbir şey yok.
Karşılaşılmış, çözülmüş ve yazılmış sorun.
Son rakam en önemlisi. Bir ekibin olgunluğu hata yapmamasıyla değil, hatalarını yazılı hâle getirmesiyle ölçülür.
Teslim
Bağımlılık yaratmıyoruz. Belgeler sizin, scriptler sizin — isterseniz başka bir ekip devralabilir. Güven de tam olarak buradan çıkıyor.
Geçiş
Şimdiye kadar anlattığım her şey bunu ayakta tutmak için var.
Altyapı kendi başına bir değer değil. Değer, üzerinde koşan uygulamanın kesintisiz ve güvenli çalışmasında.
Ürün
| Servis | Ne yapar | Bağlı olduğu |
|---|---|---|
| ui | Kullanıcı arayüzü — tarayıcının konuştuğu tek yer | api · hub |
| api | İş mantığı ve veri erişimi | SQL · Mongo · Redis · kuyruk |
| hub | Gerçek zamanlı bağlantı — anlık bildirim | api · Redis |
| microservice | Kuyruktan iş tüketen arka plan servisi | kuyruk · SQL · Mongo |
| scheduler | Zamanlanmış işler | kuyruk · SQL |
| keyvault | Yapılandırma ve gizli değer dağıtımı | SQL |
| grpcservice | Servisler arası ikili protokol iletişimi | SQL |
Ağır işler kullanıcıdan ayrı süreçlerde koşuyor. Bir rapor üretimi yavaşladığında arayüz yavaşlamıyor — çünkü aynı yerde çalışmıyorlar.
Erişim
Kurumsal kimlikle tek oturum açma. Kullanıcı Azure tarafında yönetilir; işten ayrılan biri orada kapatıldığında uygulamaya da giremez. Parola uygulamada hiç tutulmaz.
Kurumsal hesabı olmayan dış kullanıcılar, servis hesapları — ve SSO erişilemediğinde kullanılan ikinci yol.
İkinci yol bilinçli. Tek kimlik kaynağına bağlı kalsaydık, sağlayıcı tarafındaki bir kesinti uygulamaya girişi tamamen durdururdu. Yedeği olmayan kimlik, tek noktalı arızadır.
Ürün mimarisi
Dışarı açık servisler, cluster içinde kalan arka plan işçileri, ve ortak altyapı. Durumu tutan hiçbir şey cluster'ın içinde değil.
Aynı ürün, ikinci ortam
Grupların işlevi birebir aynı. Değişen tek şey ortak altyapının nerede durduğu — burada yönetilen bulut servisleri, orada kendi veritabanı sunucumuz.
Nerede çalışır
Yönetilen veritabanı, otomatik ölçekleme, sağlayıcı güvencesi. Donanım derdi yok.
Veri kurum dışına çıkmaz. Mevzuat ya da politika gereği içeride tutulması gerekenler için.
Aynı imajlar, aynı sürüm akışı, aynı geri alma yöntemi. Ortam değişir, süreç değişmez.
Bu, bir gün fikir değiştirebilmek demek. Seçim tek yönlü bir kapı değil — buluttan içeri, içeriden buluta taşınabilir.
Karar sizin
| Konu | Bulut | Kendi veri merkeziniz |
|---|---|---|
| Veri yerelliği | Sağlayıcının bölgesinde | Tamamen sizde |
| Veritabanı işletimi | Sağlayıcı üstlenir | Bizim kurduğumuz süreçlerle |
| Başlangıç maliyeti | Düşük | Donanım yatırımı |
| Uzun vadeli maliyet | Kullanıma göre artar | Öngörülebilir |
| Ölçekleme | Dakikalar | Donanım planlaması |
| Uygulama ve sürüm akışı | İkisinde de birebir aynı | |
Özet
Çalışan bir sistem kurmak zor değil.
Zor olan, çalışmaya devam edeceğini kanıtlayabilmek.
Sorular · Detaylı teknik kılavuz talep üzerine paylaşılır