Güvenilirlik tasarım ilkeleri
Bulutta güvenilir bir uygulama oluşturma, geleneksel uygulama geliştirme süreçlerinden farklıdır. Geçmişte, bir uygulama platformunun tamamının başarısız olma ihtimalini en aza indirmek için yedekli üst düzey donanımlar satın aldınız.
Bulutta hataların olduğunu kabul etmek gerekir. Hedef, hataları tamamen önlemeye çalışmak yerine hata veren bir bileşenin etkilerini en aza indirmektir.
Azure Well-Architected Framework'te bulunan çalışma Microsoft Azure Well-Architected değerlendirmek için Microsoft Azure Well-Architected bakın.
Aşağıdaki tasarım ilkeleri şunları sağlar:
- Soruların bağlamı
- Belirli bir yönün neden önemli olduğu
- Bir yönün Güvenilirlik için nasıl geçerli olduğu
Bu kritik tasarım ilkeleri, Azure'da dağıtılan bir uygulamanın güvenilirliğini değerlendirmek için lens olarak kullanılır. Bu lenslerin uygulama değerlendirme soruları için bir çerçeve sağlar.
İş gereksinimleri için tasarlama
Güvenilirlik özneser bir kavramdır. Bir uygulamanın uygun şekilde güvenilir olması için uygulamanın çevresindeki iş gereksinimlerini yansıtması gerekir.
Örneğin, hizmet düzeyi sözleşmesi
99.999% (SLA) olan görev açısından kritik bir uygulama, SLA'sı olan başka bir uygulamaya göre daha yüksek bir güvenilirlik düzeyi gerektirir
95%.
Daha yüksek güvenilirlik ve yüksek kullanılabilirlik sunarken maliyet üzerindeki etkileri kaçınılmazdır. Bu takas dikkatle değerlendirilmelidir.
Hata için tasarlama
Azure gibi yüksek oranda dağıtılmış ve çok kiracılı bir ortamda hatadan kaçınmak mümkün değildir.
Tek tek bileşenlerden Tüm Azure bölgelerine kadar hatalarla ilgili bir beklentiyle, güvenilirliği artırmak için bir çözüm geliştirebilirsiniz.
Uygulama durumunu gözlemle
Uygulama güvenilirliğini etkileyen sorunları azaltmadan önce bu sorunları algılamalısiniz.
Bir uygulamanın iyi durumdaki durumunu görece çalışması iz tarafından güvenilirlik sorunlarını algılanabilir ve tahmin edilebilirsiniz.
İzleme, hızlı ve düzeltilen bir eyleme geçesiniz.
Sürücü otomasyonu
Uygulama kapalı kalma süresinin en önemli nedenlerinden biri, yetersiz test edilmiş yazılımların dağıtımı veya yanlış yapılandırma yoluyla insan hatasıdır.
İnsan hatalarının olasılığını ve sonucu en aza indirmek için bulut çözümünün tüm yönleriyle otomasyonu sağlamak çok önemlidir.
Otomasyon şunları iyiler:
- Güvenilirlik
- Otomatikleştirilmiş test
- Dağıtım
- Yönetim
Kendi kendini iyileştirecek şekilde tasarlama
Kendi kendini iyileştirme , bir sistemin hatalarla otomatik olarak başa baş etme becerisini açıklar. Hataları işleme, önceden tanımlanmış düzeltme protokolleri aracılığıyla gerçekleşir. Bu protokoller çözüm içindeki hata modlarına bağlanıyor.
İzleme ve otomasyon ile yüksek düzeyde sistem olgunluğu gerektiren gelişmiş bir kavramdır.
Başlangıç olarak kendi kendini iyileştirme, güvenilirliği en üst düzeye çıkarmak için bir istektir.
Ölçeğin ölçeğini ölçeklendirmek için tasarlama
Ölçeğin ölçeğini ölçeklendirme, bir sistemin yatay büyüme yoluyla taleplere yanıt verme becerisine odaklanan bir kavramdır. Trafik büyüdükçe, mevcut kaynakların boyutunu artırmak yerine paralel olarak daha fazla kaynak birimi eklenir.
Ölçek birimleri sayesinde sistem beklenen ve beklenmeyen trafik artışlarını karşılar ve bu da genel güvenilirlik için önemlidir.
Ölçek birimleri, tek bir kaynak hatasının etkilerini daha da azaltır.