Hazırlığı bir müşteri çıktısına göre tanımlayın
Altyapı etiketleriyle değil, çıktılarla başlayın. Ulaşılan bir ana sayfa yeterli değildir; ziyaretçi önemli görevi tamamlayamıyorsa gerçek bir sonuç yoktur. Her kritik yolculuk için kimin ne yapmaya çalıştığını, başarının ne anlama geldiğini ve kabul edilemez sonucun ne olduğunu belirtin. Takımın gerçek kararlar alabilmesi için birkaç yolculukla başlayın.
Her adımı temel, önemli veya ertelenebilir olarak sınıflandırın. Temel, yolculuğun bu adım olmadan tamamlanamayacağı anlamına gelir; önemli, zaman sınırlı bir geçici çözüm (workaround) ile devam edebilir; ertelenebilir, atlanabilir, geciktirilebilir veya basitleştirilebilir. Bu ürün odaklı bir karardır ve mühendislikten gelen girdilerle şekillenir; evrensel bir teknik sıralama değildir.
Sadece bir sayfa yanıt hedefi yerine, örneğin sipariş kabul edildi ve onayı saklandı gibi kullanılabilir bir sonucu kaydedin.
Bağımlılıkları haritalayın ve neyin bozulabileceğine karar verin
Her kritik yol için barındırma veya teslimat, DNS, uygulama servisleri, veritabanları, kimlik doğrulama, e-posta, ödeme, arama, etiketler, onay araçları ve dış API'leri haritalayın. Her birinin sahibi, destek yolu, ilgili limiti ve kullanılamazsa kullanıcı üzerindeki etkisini kaydedin. OWASP yazılım bağımlılıklarına dair içgörü önerir; aynı sahiplik disiplini operasyonel bağımlılıklar için de yardımcı olur.
Sert bağımlılık, başarısız olduğunda görevi durdurur. Yumuşak bağımlılık ise çekirdek görev yine de çalışırken eksik veya eski olabilir. AWS, kademeli düşürmenin (graceful degradation) bağımlılıklar sağlıksız olduğunda çekirdek işlevi korumak olduğuna dikkat çeker. Ürün özel bir seçim yapın: önemsiz bir bileşeni gizleyin, bir raporu erteleyin veya dürüst bir geri dönüş (fallback) gösterin. Envanter, fiyat, sipariş durumu veya ödeme sonuçlarını uydurmayın.
Her öğe için amaç, sorumlu, bilinen limit, yedek seçenek (fallback), değişiklik irtibatı ve son test tarihini kaydedin.
Trafik tahminini kapasite deneyine dönüştürün
Tek bir trafik sayısı değil, bir senaryo kullanın. Olayı, geliş paterni, istek karışımını, oturum açmış payını, coğrafyayı, eşzamanlı ödeme veya yazma etkinliğini ve pik dönemi belirtin. Bir yüksek durum (high case) ve varsayımlar ekleyin. Google, isteklerin çok farklı kaynak maliyetleri olabileceğini ve bu yüzden saniyede istek (requests per second) sayısının tek başına zayıf bir kapasite modeli olabileceğini not eder.
Üretime yakın bir konfigürasyonla, onay ve koruma önlemleriyle sürdürülen, temsil edici, uçtan uca trafiği test edin. AWS, yalnızca bileşenleri test etmenin, temsil etmeyen bir istek alt kümesi kullanmanın veya beklenen yükün hemen üzerindeki küçük bir marjla yetinmenin anti-paternleri olduğunu uyarır. İlk kısıtlamayı veya yavaşlamayı belgeleyin. Canlı üretim testleri müşterileri etkileyebilir; planlanmış, personelli bir egzersiz uygun değilse kontrollü bir ortam kullanın.
Senaryoyu, konfigürasyonu, istek karışımını, süresini, gözlemlenen kısıtlamayı, kapasite değişimini ve takipten sorumlu kişiyi saklayın.
Değişiklik, geri alma ve kurtarma seçeneklerini hazırlayın
Yüksek riskli bir değişiklikten önce geri yüklenmesi gereken artefaktı veya konfigürasyonu, gereken onayı, yetkili kişiyi ve doğrulama yöntemini belirleyin. Bir sürüm durdurma, dağıtımı geri alma, özellik bayrağını (feature flag) devre dışı bırakma, önemsiz bir entegrasyonu azaltma veya onaylı bir prosedürle veriyi geri yükleme için kısa bir çalışma kılavuzu (runbook) tutun. Mekaniği olaydan önce test edin; denenmemiş bir yedek veya geri alma planı bir varsayımdır.
İş etkisinden hareketle kurtarma hedeflerini belirleyin. Kurtarma Süresi Hedefi (Recovery Time Objective, RTO), hizmetin yeniden sağlanmasında kabul edilebilir maksimum gecikmedir. Kurtarma Noktası Hedefi (Recovery Point Objective, RPO), son kurtarma noktasından itibaren kabul edilebilir maksimum veri kaybıdır. AWS, rastgele veya gerçekçi olmayan hedeflerden kaçınılmasını ve bağımlılık hedeflerinin ulaşılabilirliği etkilediğini belirtir. Hedefleri müşteri sözü değil, planlama hedefi olarak ele alın.
Sınırlı, güvenli bir geri alma veya kurtarmayı doğrulayın ve neyin, kim tarafından kontrol edildiğini ve bulunan herhangi bir farkı kaydedin.
Kararlar acil değilken sahipliği atayın
Yalnızca bir iletişim listesi sahiplik değildir. Her kritik yol için kabul edilebilir sonuçtan sorumlu bir iş sahibi, uygulamadan sorumlu teknik bir sahip ve koruyucu bir değişiklik yapmaya yetkili bir karar sahibi atayın. Yedekleri belirleyin ve bir sağlayıcı, ajans, ödeme işlemi sağlayıcısı veya dahili ekipten kimin sonraki adımı üstleneceğini netleştirin.
Trafik gelmeden önce kısa bir hazırlık incelemesi yapın. Bir bağımlılık arızasını ele alın: hangi kısımlar kullanılmaya devam eder, hangi kaldıraç güvenlidir, kim onaylar ve başarı nasıl kontrol edilir. Bu proaktif bir prova, canlı durum raporu değildir. Tarihli eylemleri, sahipleri ve son tarihler kaydedin.
Koruma için belirsiz bir onay zinciri beklememek adına uygun yerlerde dar, önceden yetkilendirilmiş güvenli eylemler tanımlayın.
Ödeme ve güvenlik hassasiyetli yolları ekstra özenle ele alın
Ödeme (checkout) hazırlığı doğruluğu ve kullanılabilirliği korumalıdır. Yetkilendirmeyi atlamayın, erişim kontrollerini zayıflatmayın, kimlik bilgilerini açığa çıkarmayın veya ödeme sayfası betiklerini rastgele değiştirmeyin. PCI SSC kılavuzu, ödeme sayfası betikleri ve güvenlik etkisi olan HTTP başlıkları için yetkilendirme, bütünlük ve tahrifat tespiti konularını ele alır. Site kart kabul ediyorsa veya gömülü bir ödeme çerçevesi kullanıyorsa, satıcı, işleyici, akreditör ve nitelikli güvenlik veya uyumluluk danışmanlarının önemli değişiklikleri incelemesini sağlayın.
Üretim betikleri, entegrasyonlar, sürümler ve hesap sahipliğinin envanterini tutun ve bunları kimlerin değiştirebileceğini kısıtlayın. OWASP, bağımlılık envanterleri ve sürüm sabitlemenin (version pinning) bir yapıya giren şeyler hakkında belirsizliği azaltabileceğini, otomatik bulguların ise hâlâ manuel doğrulamaya ihtiyaç duyduğunu belirtir. Bu uygulamalar hazırlığı destekler, ancak PCI uyumluluğunu sağlamaz veya güvenlik değerlendirmesinin yerini almaz.
Yalnızca işleyici tarafından onaylanmış, incelenmiş alternatif bir akış kullanın; kart verilerini gayri resmi kanallarla asla toplaymayın.
