Güvenilirlik sütununa genel bakış

Güvenilirlik, uygulamanın müşterilerinize karşı taahhütlerinizi karşılamalarını sağlar. Uygulama çerçevenizin mimarisini hazırlarken iş yüklerinin kullanılabilir durumda olduğunu ve hatalardan her ölçekte kurtarılmalarını sağlar.

Güvenilirlik için bina şunları içerir:

  • Yüksek oranda kullanılabilir bir mimari sağlama
  • Veri kaybı, önemli kapalı kalma süresi veya fidye yazılımı olayları gibi hatalardan kurtarma

Microsoft Azure Well-Architected Framework'te bulunan temelleri kullanarak iş yüklerinin güvenilirliğinideğerlendirmek için Microsoft Azure Well-Architected gözden geçirmesi'ne bakın.

Daha fazla bilgi için Azure iş yükü güvenilirliği hakkında daha derine inmeyi öğrenin:

Geleneksel uygulama geliştirme sürecinde hatalar arasındaki ortalama süreyi (MTBF) uzatmaya odaklanılmıştır. Sistemin başarısız olmasını engellemek için çalışılıyordu. Bulut bilişimde, çeşitli faktörlerden dolayı farklı bir zihniyet gereklidir:

  • Dağıtılmış sistemler karmaşıktır, bir noktadaki bir hata zincirleme olarak tüm sisteme yayılabilir.
  • Bulut ortamlarının maliyetleri ticari donanımlar aracılığıyla düşük tutulur, bu nedenle arada sırada donanım hataları beklemesi gerekir.
  • Uygulamalar genellikle dış hizmetlere bağımlıdır. Bu hizmetler, geçici olarak kullanılamaz hale gelebilir veya yüksek hacimli kullanıcıları kısıtlayabilir.
  • Günümüzde kullanıcılar uygulamaların hiç çevrimdışı kalmadan 7/24 kullanılabilir olmasını beklemektedir.

Tüm bu faktörler nedeniyle bulut uygulamaları, ara sıra hatalar yaşanacağı beklentisiyle ve bu hatalardan kurtulacak şekilde tasarlanmalıdır. Azure platformunda yerleşik halde bulunan birçok dayanıklılık özelliği vardır. Örneğin:

  • Azure Depolama, SQL Veritabanı ve Cosmos DB'nin hepsi kullanılabilirlik alanları ve bölgeler arasında yerleşik veri çoğaltması sağlar.
  • Azure yönetilen diskler, donanım hatalarının etkilerini sınırlamak için otomatik olarak farklı depolama ölçek birimlerine yerleştirilir.
  • Bir kullanılabilirlik kümesinde yer alan sanal makineler (VM) çeşitli hata etki alanlarına yayılır. Hata etki alanı, ortak bir güç kaynağı ve ağ anahtarının paylaştır olduğu bir VM grubudur. VM’lerin çeşitli hata etki alanlarına dağıtılması, fiziksel donanım hatalarının, ağ kesintilerinin veya güç kesintilerinin etkisini sınırlar.
  • Kullanılabilirlik Alanları Azure bölgesi içinde fiziksel olarak ayrı konumlar vardır. Her bölge bağımsız güç, soğutma ve ağ altyapısıyla donatılmış bir veya daha fazla veri merkezinden oluşur. Kullanılabilirlik alanları sayesinde, kesinti olmadan alanlar arasında otomatik olarak geçiş yapılan uygulamaları ve veritabanlarını tasarlar ve çalıştırabilirsiniz. Bu sayede bir bölge etkilenirse, bu sayede daha fazla kullanılabilirlik sabilirsiniz. Daha fazla bilgi için Azure'da Bölgeler ve Kullanılabilirlik Alanları'a bakın.

Bunlara rağmen yine de uygulamanızı dayanıklı olacak şekilde geliştirmeniz gereklidir. Dayanıklılık stratejileri mimarinin tüm düzeylerinde uygulanabilir. Bazı risk azaltmaları daha taktiksel bir işlemdir; örneğin, geçici bir ağ hatasının ardından uzak çağrıyı yeniden denemek. Bazı risk azaltma işlemleri de daha stratejiktir. Örneğin, uygulama tüm yükünü ikincil bir bölgeye devreder. Taktiksel risk azaltmaları büyük fark yaratabilir. Bölgenin tamamında kesinti yaşanması nadir olsa da, ağ tıkanıklığı gibi geçici sorunlar daha yaygındır; bu nedenle önce bu sorunları hedefle. Doğru izleme ve tanılama özelliklerine sahip olunması da hataları algılamak ve hata gerçekleştiğinde kök nedenlerini bulmak için önemlidir.

Bir uygulamayı dayanıklı olacak şekilde tasarlarken kullanılabilirlik gereksinimlerinizi anlamanız şarttır. Kabul edilebilir kapalı kalma süresi ne kadardır? Kapalı kalma süresi kısmen bir maliyet işlevidir. Olası bir kapalı kalma süresinin işletmenize maliyeti ne olacaktır? Uygulamanın yüksek kullanılabilirliğe sahip olması için ne kadar yatırım yapmalısınız?

Konular ve en iyi yöntemler

Güvenilirlik yapısı, aşağıdaki konuları ve dayanıklılık iş yükünü derlemeye yardımcı olacak en iyi yöntemleri kapsar:

Güvenilirlik konusu Description
Güvenilirlik ilkeleri Bu kritik ilkeler, Azure'da dağıtılan bir uygulamanın güvenilirliğini değerlendirmek için lens olarak kullanılır.
Güvenilirlik tasarımı Sistemlerin uygulama tasarımında Kullanılabilirlik Alanları, ölçeklenebilirlik, hataya yanıt verme ve diğer stratejileri nasıl kullanabileceğini göz önünde bulundurabilirsiniz.
Belirli Azure hizmetleri için dayanıklılık denetim listesi Her teknolojinin kendi özel hata modları vardır ve bu modlar, uygulamalarınızı tasarlar ve uygulamaya geçirerek göz önünde bulundurabilirsiniz. Belirli Azure hizmetleri için güvenlikle ilgili dikkat edilmesi gerekenleri gözden geçirmek üzere bu denetim listesini kullanın.
Hedef ve işlevsel olmayan gereksinimler Kullanılabilirlik hedefleri ve kurtarma hedefleri gibi hedef ve işlevsel olmayan gereksinimler, iş yüklerinin çalışma süresini ve kapalı kalma süresini ölçmenize olanak sağlar. Net bir şekilde tanımlanmış hedeflere sahip olmak, üzerinde çalışarak ölçülebilir bir hedefe sahip olmak için çok önemlidir.
Resiliency ve dependencies Hata riskini önlemek için sisteme hata kurtarmanın baştan itibaren mimari ve tasarım aşamalarının bir parçası olması gerekir. Uygulamanın tam olarak çalışması için bağımlılıklar gereklidir.
Kullanılabilirlik Alanları Kullanılabilirlik Alanları bir çözümü bir bölge içindeki birden çok bölgeye yayıp bir bölge başarısız olduğunda uygulamanın çalışmaya devam sınanmasına olanak sağlar.
Hizmetlerin kullanılabilirliği Azure bölgeleri arasında hizmetlerin kullanılabilirliği bir bölgenin türüne bağlıdır. Azure'ın herhangi bir bölgeye hizmet dağıtmaya genel ilkesi öncelikli olarak bölge türüne, hizmet kategorilerine ve müşteri talebine göre tasarlanmıştır.
Kullanılabilirlik alanı terminolojisi Azure'daki bölgeleri ve kullanılabilirlik bölgelerini daha iyi anlamak için önemli terimleri veya kavramları anlamanıza yardımcı olur.
En iyi uygulamalar Mimari aşamasında işletme gereksinimlerinizi karşılayan, hata noktalarını tanımlayan ve hata kapsamını en aza indiren yöntemleri uygulamaya odaklanın.
Güvenilirlik testi Mevcut eşikleri, hedefleri ve varsayımları doğrulamak için her önemli değişikliğin bir parçası olarak düzenli test gerçekleştirin.
Güvenilirlik için izleme Uygulama durumunun genel bir resmini elde. Bir şey başarısız olursa, başarısız olduğunu, ne zaman başarısız olduğunu ve neden olduğunu bilmek gerekir.
Güvenilirlik desenleri Uygulamaların kullanılabilirliği en üst düzeye çıkarmak için tasarlanma ve uygulanması gerekir.

Sonraki adım