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

Bu Azure Well-Architected Framework Güvenilirlik 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 eylemleri 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 iş yükünü yeniden düzenlemenize yardımcı olan birden çok hata türünün patlama yarıçapını tanımlarsınız.

FMA'nın önemli bir temel 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 kalmaktadır. 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ış ve yetersiz tasarımdan kaynaklanan olası kesintiler riski 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üşürülmesi veya ciddi şekilde etkilenmesine neden olabilecek bir sorun türü.
Risk azaltma Sorunları proaktif veya reaktif olarak ele almak için tanımladığınız etkinlikler.
Algılama Altyapınız, verileriniz ve uygulama izleme ve uyarı süreçlerinizle yordamlarınız.

Temel tasarım stratejileri

Önkoşullar

Akışları tanımlamaya yönelik ö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.

FMA yaklaşımı

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 için her akışı adım adım izleyin ve azaltma stratejilerinizi planlayın.

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

Fikirlerden tasarıma geçtikçe, 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 planlama yapmanı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 örneğe benzeyebilir.

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çindeki ve dışındaki 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 arasında Microsoft Entra ID gibi kimlik doğrulama çözümleri ve Azure ExpressRoute gibi bulut bağlantısı çözümleri bulunur.

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

Hata noktaları

İş 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 ötesine 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.

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

Performansın düşmesine yönelik 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ırakmayabilecek 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 bir işlev çalıştırdığını kabul etmeniz gerekebilir; böylece işlev artık kullanıcı deneyiminde 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ünleri arayabilir ve işlemlerini tamamlayabilir.

Ayrıca bağımlılıkları azaltmayı planlamanız gerekir. Güçlü bağımlılıklar, uygulama işlevi ve kullanılabilirliği açısından kritik bir rol oynar. Eksikse 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 korumanın 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.

Algılama

Hata algılama, analizinizde hata noktalarını doğru şekilde tanımladığınızdan ve risk azaltma stratejilerinizi doğru şekilde planladığınızdan emin olmak için önemlidir. Bu bağlamda algılama, altyapınızın, verilerinizin ve uygulamanızın izlenmesi ve sorunlar oluştuğunda uyarılması anlamına gelir. Algılamayı mümkün olduğunca otomatikleştirin ve uyarıların her zaman yakalandığından ve iş gereksinimlerinizi karşılayacak kadar hızlı yanıtlandığından emin olmak için 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şenleri ve azaltmaya göre almış olduğunuz kararları 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 azaltma stratejilerinin önceliğini belirleyin. Belgelerinizi zaman, efor ve kaynak harcamaya yetecek kadar yaygın ve ciddi olan 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üzle ilgili güncel kalmalarını sağlamak için düzenli olarak gözden geçirilmeli ve güncelleştirilmelidir. Kaos testi ve gerçek dünya deneyimleri, zaman içinde analizlerinizi geliş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ı ve hizmet dayanıklılığınızı ölçmenize, anlamanıza ve geliştirmenize yardımcı olmak için kaos mühendisliği 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 App Service örneklerde barındırılan ve Azure Front Door tarafından öne alınan bir e-ticaret web sitesi için 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/Risk 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 küresel bir hizmettir, bu nedenle genel trafik yönlendirmesi trafiği etkilenmeyen Azure bölgeleri üzerinden 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 kaynaklanan 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 (GPO'lar). Olası 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ğ koruması 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. Etkilenmiş 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 etkili olma 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

Önerilerin tamamına bakın.