Güvenilirlik sütununa genel bakış

Güvenilirlik, uygulamanızın müşterilerinize yaptığınız taahhütleri karşılayabilmesini sağlar. Uygulama çerçevenizde dayanıklılık mimarisini oluşturma, iş yüklerinizin kullanılabilir olmasını ve herhangi bir ölçekteki hatalardan kurtarılmasını sağlar.

Güvenilirlik için derleme ş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 kümeleri kullanarak iş yükünüzün güvenilirliğini değerlendirmek için Microsoft Azure Well-Architected İncelemesi'ne başvurun.

Daha fazla bilgi için Azure iş yükü güvenilirliğinin ayrıntılarına inme hakkında aşağıdaki videoyu inceleyin:


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örler nedeniyle farklı bir düşünce yapısı gerekir:

  • Dağıtılmış sistemler karmaşıktır, bir noktadaki bir hata zincirleme olarak tüm sisteme yayılabilir.
  • Bulut ortamları için maliyetler ticari donanım aracılığıyla düşük tutulur, bu nedenle ara sıra donanım hataları beklenmelidir.
  • 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, Azure SQL Veritabanı ve Azure Cosmos DB'nin tümü 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ümesindeki sanal makineler (VM) çeşitli hata etki alanlarına yayılır. Hata etki alanı, ortak bir güç kaynağı ve ağ anahtarını paylaşan 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ı her Azure bölgesi içinde fiziksel olarak ayrı konumlardır. Her bölge bağımsız güç, soğutma ve ağ altyapısı ile donatılmış bir veya daha fazla veri merkezinden oluşur. Kullanılabilirlik alanlarıyla, alanlar arasında kesinti olmadan otomatik olarak geçiş yapan uygulamaları ve veritabanlarını tasarlayabilir ve çalıştırabilirsiniz. Bu da bir bölgenin etkilenmesi durumunda dayanıklılığı güvence altına alır. Daha fazla bilgi için Bkz. Azure'da Bölgeler ve Kullanılabilirlik Alanları.

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 doğası gereği daha taktikseldir; örneğin, geçici bir ağ hatasından sonra uzaktan aramayı yeniden deneme. 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 bir fark oluşturabilir. 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ı hedefleyin. 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 maliyetin bir 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 sütunu, dayanıklı bir iş yükü oluşturmanıza yardımcı olmak için aşağıdaki konuları ve 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 için tasarım Sistemlerin Kullanılabilirlik Alanları nasıl kullandığını, ölçeklenebilirliği nasıl gerçekleştirdiğini, hataya nasıl yanıt verdiğini ve uygulama tasarımında güvenilirliği en iyi duruma getiren diğer stratejileri nasıl kullandığını düşünün.
Belirli Azure hizmetleri için dayanıklılık denetim listesi Her teknolojinin, uygulamanızı tasarlarken ve uygularken dikkate almanız gereken kendi hata modları vardır. Belirli Azure hizmetleri için dayanıklılıkla ilgili dikkat edilmesi gereken noktaları gözden geçirmek için 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üklerinizin çalışma süresini ve kapalı kalma süresini ölçmenizi sağlar. Net bir şekilde tanımlanmış hedeflere sahip olmak, üzerinde çalışılıp ölçülecek bir hedefe sahip olmak açısından çok önemlidir.
Dayanıklılık ve bağımlılıklar Hata riskini önlemek için sisteme hata kurtarmanın en başından 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 yaymak için kullanılabilir ve bir bölge başarısız olduğunda uygulamanın çalışmaya devam etmesi sağlanır.
Hizmetlerin kullanılabilirliği Azure bölgeleri genelinde hizmetlerin kullanılabilirliği bir bölgenin türüne bağlıdır. Azure'ın hizmetleri belirli bir bölgeye dağıtmaya yönelik genel ilkesi öncelikle bölge türüne, hizmet kategorilerine ve müşteri talebine göre yönlendirilir.
Kullanılabilirlik alanı terminolojisi Azure'daki bölgeleri ve kullanılabilirlik alanlarını daha iyi anlamak için temel 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ştirilmelidir.
Güvenilirlik için izleme Uygulama durumunun genel bir resmini alın. Bir şey başarısız olursa, başarısız olduğunu, ne zaman başarısız olduğunu ve nedenini bilmeniz gerekir.
Güvenilirlik desenleri Uygulamaların kullanılabilirliği en üst düzeye çıkarmak için tasarlanması ve uygulanması gerekir.

Sonraki adım