Aracılığıyla paylaş


Hata modu analizi gerçekleştirmeye yönelik öneriler

Bu Azure İyi Tasarlanmış Çerçeve Güvenilirliği denetim listesi önerisi için geçerlidir:

RE:03 Çözüm bileşenlerinizdeki olası hataları belirlemek ve önceliklerini belirlemek için hata modu analizini (FMA) kullanın. Her hata modunun riskini ve etkisini değerlendirmenize yardımcı olması için FMA gerçekleştirin. İş yükünün nasıl yanıt vereceğini ve kurtardığını belirleyin.

Bu kılavuzda, iş yükünüz için hata modu analizi (FMA) gerçekleştirmeye yönelik en iyi yöntemler açıklanmaktadır. FMA, iş yükünüzdeki olası hata noktalarını ve ilişkili akışları tanımlama ve buna göre azaltma eylemlerini planlama uygulamasıdır. Akışın her adımında, hataların yaygın etkisini en aza indirmek için yeni bir iş yükü tasarlamanıza veya mevcut bir iş yükünü yeniden düzenlemenize yardımcı olan birden çok hata türünün patlama yarıçapını belirlersiniz.

FMA'nın önemli bir ağı, kaç dayanıklılık katmanı uygularsanız uygulayın hataların gerçekleşmesidir. Daha karmaşık ortamlar daha fazla hata türüne maruz kalıyor. Bu gerçeklik göz önüne alındığında FMA, iş yükünüzü çoğu hata türüne dayanacak şekilde tasarlamanıza ve bir hata oluştuğunda düzgün bir şekilde kurtarmanıza olanak tanır.

FMA'yı tamamen atlar veya tamamlanmamış bir analiz gerçekleştirirseniz, iş yükünüz öngörülemeyen davranışlara ve en iyi olmayan tasarımdan kaynaklanan olası kesintilere karşı risk altındadır.

Tanımlar

Süre Tanım
Hata modu Bir veya daha fazla iş yükü bileşeninin kullanım dışı kalma noktasına düşmesine veya ciddi şekilde etkilenmesine neden olabilecek bir sorun türü.
Risk azaltma Sorunları proaktif veya reaktif olarak gidermek için tanımladığınız etkinlikler.
Detection Altyapınız, verileriniz ve uygulama izleme ve uyarı süreçleriniz ve yordamlarınız.

Temel tasarım stratejileri

Akışları tanımlamak için önerileri gözden geçirin ve uygulayın. Kritikliğe göre kullanıcı ve sistem akışlarını tanımladığınız ve önceliklerini belirlediğiniz varsayılır.

Topladığınız veriler ve çalışmanızda oluşturduğunuz yapıtlar, akışlar boyunca yer alan veri yollarınızın somut bir açıklamasını sağlar. FMA çalışmanızda başarılı olmak için yapıtlarınızdaki doğruluk ve kapsamlılık kritik önem taşır.

Kritik akışları belirledikten sonra gerekli bileşenlerini planlayabilirsiniz. Ardından, üçüncü taraf hizmetler ve olası hata noktaları dahil olmak üzere bağımlılıkları belirlemek ve risk azaltma stratejilerinizi planlamak için her akışı adım adım izleyin.

İş yükünü ayrıştırma

Fikirlerden tasarıma geçiş yaptığınız için iş yükünüzü desteklemek için gereken bileşen türlerini tanımlamanız gerekir. İş yükünüz, planlamanız gereken gerekli bileşenleri belirler. Genellikle giriş denetimi, ağ, işlem, veri, depolama, destekleyici hizmetler (kimlik doğrulaması, mesajlaşma ve gizli dizi veya anahtar yönetimi gibi) ve çıkış denetimi için planlamanız gerekir. Tasarım çalışmanızın bu aşamasında, dağıttığınız belirli teknolojileri bilmiyor olabilirsiniz, bu nedenle tasarımınız aşağıdaki örnekteki gibi görünebilir.

Tasarım örneğini gösteren diyagram.

İlk mimari tasarımınızı oluşturduktan sonra, bu akışlarda kullanılan ayrık bileşenleri tanımlamak için akışlarınızı yerleştirebilir ve akışları ve bileşenlerini açıklayan listeler veya iş akışı diyagramları oluşturabilirsiniz. Bileşenlerin kritikliğini anlamak için akışlara atadığınız kritiklik tanımlarını kullanın. Bir bileşen arızasının akışlarınız üzerindeki etkisini göz önünde bulundurun.

Bağımlılıkları tanımlama

Tek hata noktası analizinizi gerçekleştirmek için iş yükü bağımlılıklarınızı belirleyin. İş yükünüzü ayrıştırmak ve akışların yer paylaşımını yapmak, iş yükünün iç ve dış bağımlılıkları hakkında içgörü sağlar.

İç bağımlılıklar, iş yükünün çalışması için gereken iş yükü kapsamındaki bileşenlerdir. Tipik iç bağımlılıklar API'leri veya Azure Key Vault gibi gizli dizi/anahtar yönetimi çözümlerini içerir. Bu bağımlılıklar için kullanılabilirlik SLA'ları ve ölçeklendirme sınırları gibi güvenilirlik verilerini yakalayın. Dış bağımlılıklar, başka bir uygulama veya üçüncü taraf hizmeti gibi iş yükünün kapsamı dışında kalan gerekli bileşenlerdir. Tipik dış bağımlılıklar Microsoft Entra ID gibi kimlik doğrulama çözümlerini ve Azure ExpressRoute gibi bulut bağlantı çözümlerini içerir.

İş yükünüzdeki bağımlılıkları tanımlayıp belgeleyin ve bunları akış belge yapıtlarınıza ekleyin.

Hata noktalarını değerlendirme

İş yükünüzün kritik akışlarında her bileşeni göz önünde bulundurun ve bu bileşenin ve bağımlılıklarının bir hata modundan nasıl etkilenebileceğini belirleyin. Dayanıklılık ve kurtarma planlaması yaparken dikkate alınması gereken birçok hata modu olduğunu unutmayın. Herhangi bir bileşen herhangi bir anda birden fazla hata modundan etkilenebilir. Bu hata modları şunlardır:

  • Bölgesel kesinti. Azure bölgesinin tamamı kullanılamıyor.

  • Kullanılabilirlik alanı kesintisi. Azure kullanılabilirlik alanı kullanılamıyor.

  • Hizmet kesintisi. Bir veya daha fazla Azure hizmeti kullanılamıyor.

  • Dağıtılmış hizmet reddi (DDoS) veya diğer kötü amaçlı saldırılar.

  • Uygulama veya bileşen yanlış yapılandırması.

  • İşleç hatası.

  • Planlı bakım kesintisi.

  • Bileşen aşırı yüklemesi.

Analiz her zaman analiz etmeye çalıştığınız akış bağlamında olmalıdır, bu nedenle kullanıcı üzerindeki etkisini ve bu akışın beklenen sonucunu belgelediğinizden emin olun. Örneğin, bir e-ticaret uygulamanız varsa ve müşteri akışınızı analiz ediyorsanız, belirli bir hata modunun bir veya daha fazla bileşen üzerindeki etkisi tüm müşterilerin alışverişi tamamlayamaması olabilir.

Her hata modu türünün olasılığını göz önünde bulundurun. Bazıları çok bölgeli veya çok bölgeli kesintiler gibi pek olası değildir ve yedeklilik dışında risk azaltma planlaması eklemek kaynakların ve zamanın iyi bir kullanımı değildir.

Risk azaltma

Azaltma stratejileri iki geniş kategoriye ayrılır: daha fazla dayanıklılık oluşturma ve düşük performans için tasarlama.

Daha fazla dayanıklılık oluşturmak için altyapı, veri ve ağ gibi bileşenlerinize yedeklilik ekleme ve uygulama tasarımınızın dayanıklılığa yönelik en iyi yöntemleri izlemesini (örneğin, monolitik uygulamaları yalıtılmış uygulamalara ve mikro hizmetlere ayırma) sağlamayı içerir. Daha fazla bilgi için bkz . Yedeklilik önerileri ve Kendini koruma önerileri.

Performansı düşürmek için tasarım yapmak için, akışınızın bir veya daha fazla bileşenini devre dışı bırakabilecek ancak bu akışı tam olarak devre dışı bırakabilecek olası hata noktalarını belirleyin. Uçtan uca akışın işlevselliğini korumak için, bir veya daha fazla adımı diğer bileşenlere yeniden yönlendirmeniz veya başarısız bir bileşenin işlev çalıştırdığını kabul etmeniz gerekebilir, böylece işlev kullanıcı deneyiminde artık kullanılamaz. E-ticaret uygulaması örneğine dönmek için, mikro hizmet gibi başarısız bir bileşen öneri altyapınızın kullanılamamasına neden olabilir, ancak müşteriler yine de ürün arayabilir ve işlemlerini tamamlayabilir.

Bağımlılıklarla ilgili azaltmayı da planlamanız gerekir. Güçlü bağımlılıklar, uygulama işlevi ve kullanılabilirliği açısından kritik bir rol oynar. Yoklarsa veya bir arızayla karşılaşıyorlarsa, önemli bir etki olabilir. Zayıf bağımlılıkların olmaması yalnızca belirli özellikleri etkileyebilir ve genel kullanılabilirliği etkilemez. Bu ayrım, hizmetle bağımlılıkları arasındaki yüksek kullanılabilirlik ilişkisini koruma maliyetini yansıtır. Hangi bileşenlerin uygulama için gerekli olduğunu belirlemenize yardımcı olmak için bağımlılıkları güçlü veya zayıf olarak sınıflandırın.

Uygulamanın olmadan çalışabileceği güçlü bağımlılıkları varsa, bu bağımlılıkların kullanılabilirlik ve kurtarma hedefleri uygulamanın kendi hedefleriyle uyumlu olmalıdır. Uygulama güvenilirliği üzerinde denetim elde etmek için bağımlılıkları en aza indirin. Daha fazla bilgi için bkz . Ölçeklenebilirlik elde etmek için uygulama hizmetleri arasındaki koordinasyonu en aza indirme.

Uygulama yaşam döngüsü bağımlılıklarının yaşam döngüsüyle yakından ilişkiliyse, özellikle yeni sürümler için uygulamanın operasyonel çevikliği sınırlı olabilir.

Detection

Hata algılama, analizinizde hata noktalarını doğru şekilde tanımladığınızdan ve azaltma stratejilerinizi düzgün şekilde planladığınızdan emin olmak için gereklidir. Bu bağlamda algılama, altyapınızın, verilerinizin ve uygulamanızın izlenmesi ve sorunlar ortaya çıktığında uyarılması anlamına gelir. Uyarıların her zaman yakalandığından ve iş gereksinimlerinizi karşılayacak kadar hızlı yanıtlandığından emin olmak için algılamayı mümkün olduğunca otomatikleştirin ve operasyon süreçlerinizde yedeklilik oluşturun. Daha fazla bilgi için bkz . İzleme önerileri.

Sonuç

Analizinizin sonucu için bulgularınızı, akış bileşenleriyle ilgili olarak almış olduğunuz kararları ve azaltmayı ve hatanın iş yükünüz üzerindeki etkisini etkili bir şekilde bildiren bir belge kümesi oluşturun.

Analizinizde, önem derecesine ve olasılığına göre tanımladığınız hata modlarının ve risk azaltma stratejilerinin önceliklerini belirleyin. Belgelerinizi, zaman, çaba ve kaynak harcamayı azaltma stratejileri tasarlamaya yetecek kadar yaygın ve ciddi hata modlarına odaklanmak için bu öncelik belirlemeyi kullanın. Örneğin, oluşum veya algılamada çok nadir görülen bazı hata modları olabilir. Bunların çevresinde risk azaltma stratejileri tasarlamak maliyete değmez.

Belge başlangıç noktası için aşağıdaki örnek tabloya bakın.

İlk FMA alıştırmanızda, ürettiğiniz belgeler çoğunlukla teorik planlama olacaktır. FMA belgeleri, iş yükünüzün güncel kalmasını sağlamak için düzenli olarak gözden geçirilmeli ve güncelleştirilmelidir. Kaos testi ve gerçek dünya deneyimleri, analizlerinizi zaman içinde iyileştirmenize yardımcı olacaktır.

Azure kolaylaştırma

İş yükünüzdeki sorunları algılamak için Azure İzleyici ve Log Analytics'i kullanın. Altyapınız, uygulamalarınız ve veritabanlarınızla ilgili sorunlar hakkında daha fazla içgörü elde etmek için Application Insights, Container Insights, Network Insights, VM Insights ve SQL Insights gibi araçları kullanın.

Azure Chaos Studio , bulut uygulamanızın ve hizmet dayanıklılığınızı ölçmenize, anlamanıza ve geliştirmenize yardımcı olmak için kaos mühendisliğini kullanan yönetilen bir hizmettir.

Yaygın Azure hizmetlerine FMA ilkeleri uygulama hakkında bilgi için bkz . Azure uygulamaları için hata modu analizi.

Örnek

Aşağıdaki tabloda, Azure SQL veritabanlarına sahip Azure Uygulaması Service örneklerinde barındırılan ve Azure Front Door tarafından öne çıkan bir e-ticaret web sitesi için bir FMA örneği gösterilmektedir.

Kullanıcı akışı: Kullanıcı oturum açma, ürün arama ve alışveriş sepeti etkileşimi

Bileşen Risk Olasılığını Efekt/Azaltma/Not Kesinti
Microsoft Entra Kimlik Hizmet kesintisi Düşük Tam iş yükü kesintisi. Düzeltme için Microsoft'a bağımlıdır. Tam
Microsoft Entra Kimlik Yanlış yapılandırma Orta Kullanıcılar oturum açamıyor. Aşağı akış etkisi yok. Yardım masası yapılandırma sorununu kimlik ekibine bildirir. Hiçbiri
Azure Front Door Hizmet kesintisi Düşük Dış kullanıcılar için tam kesinti. Düzeltme için Microsoft'a bağımlıdır. Yalnızca dış
Azure Front Door Bölgesel kesinti Çok düşük En az etki. Azure Front Door genel bir hizmet olduğundan, genel trafik yönlendirmesi trafiği etkilenmeyen Azure bölgelerinden yönlendirir. Hiçbiri
Azure Front Door Yanlış yapılandırma Orta Yanlış yapılandırmalar dağıtım sırasında yakalanmalıdır. Bunlar bir yapılandırma güncelleştirmesi sırasında gerçekleşirse, yöneticilerin değişiklikleri geri alması gerekir. Yapılandırma güncelleştirmesi kısa bir dış kesintiye neden olur. Yalnızca dış
Azure Front Door DDoS saldırısı Orta Kesinti olasılığı. Microsoft, DDoS (L3 ve L4) korumasını yönetir ve Azure Web Uygulaması Güvenlik Duvarı çoğu tehdidi engeller. L7 saldırılarından olası etki riski. Kısmi kesinti olasılığı
Azure SQL Hizmet kesintisi Düşük Tam iş yükü kesintisi. Düzeltme için Microsoft'a bağımlıdır. Tam
Azure SQL Bölgesel kesinti Çok düşük Otomatik yük devretme grubu ikincil bölgeye yük devreder. Yük devretme sırasında olası kesinti. Güvenilirlik testi sırasında belirlenecek kurtarma süresi hedefleri (GPO'lar) ve kurtarma noktası hedefleri (RPO'lar). Potansiyel dolu
Azure SQL Kullanılabilirlik alanı kesintisi Düşük Etki yok Hiçbiri
Azure SQL Kötü amaçlı saldırı (ekleme) Orta Minimum risk. Tüm Azure SQL örnekleri özel uç noktalar aracılığıyla sanal ağa bağlıdır ve ağ güvenlik grupları (NSG) daha fazla sanal ağ içi koruma ekler. Olası düşük risk
App Service Hizmet kesintisi Düşük Tam iş yükü kesintisi. Düzeltme için Microsoft'a bağımlıdır. Tam
App Service Bölgesel kesinti Çok düşük En az etki. Etkin bölgelerdeki kullanıcılar için gecikme süresi. Azure Front Door, trafiği otomatik olarak etkilenmeyen bölgelere yönlendirir. Hiçbiri
App Service Kullanılabilirlik alanı kesintisi Düşük Etki yok. Uygulama hizmetleri alanlar arası yedekli olarak dağıtıldı. Alanlar arası yedeklilik olmadan etki olasılığı vardır. Hiçbiri
App Service DDoS saldırısı Orta En az etki. Giriş trafiği Azure Front Door ve Azure Web Uygulaması Güvenlik Duvarı tarafından korunur. Hiçbiri

Güvenilirlik denetim listesi

Öneriler kümesinin tamamına bakın.