Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu Power Platform iyi Mimarlı Güvenilirliği denetim listesi önerisi için geçerlidir:
| RE:06 | Test ve üretim ortamlarınızdaki kaos mühendisliği ilkelerini uygulayarak esneklik ve kullanılabilirlik senaryoları sınayın. Etkin arıza ve benzetimli yük sınaması gerçekleştirerek zarif bozulma uygulama stratejilerinizin etkili olmasını sağlamak için sınamaları kullanın. |
|---|
Bu kılavuzda, iş yükünüzün güvenilirliğini doğrulamak ve en iyi duruma getirmek için bir güvenilirlik sınama stratejisi tasarlamaya yönelik öneriler açıklanmaktadır. Güvenilirlik sınaması, iş yükünüzün esnekliğine ve kullanılabilirliğine, özellikle de çözümünüzü tasarlarken tanımladığınız önemli akışlara odaklanır. Bu kılavuz hata iğnesi ve kaos mühendisliğine özgü genel test rehberliği ve rehberliği sağlar.
Tanımlar
| Terim | Açıklama |
|---|---|
| Uygunluk | Uygulama iş yükünün iyi bir durumda önemli kesinti süresi olmadan çalıştığı süre. |
| Kaos mühendisliği | Uygulamaları ve hizmetleri gerçek hayattaki strese ve başarısızlığa maruz bırakma uygulaması. Kaos mühendisliğinin amacı, dayanılmaz koşullara ve eksik bağımlılıklara karşı dayanıklılığını oluşturmak ve doğrulamaktır. |
| Hata enjeksiyonu | Sistemin esnekliğini sınamak için sisteme hata ekleme eylemi. |
| Kurtarılabilirlik | Esnekliğin eş anlamlısı. |
| Esneklik | Uygulama iş yükünün hata modlarına dayanabilme ve hata modlarından kurtarma yeteneği. |
Temel tasarım stratejileri
Sınama, iş yükünüzün güvenilirlik hedeflerini karşılayıp hataları zarif bir şekilde işleyebilmesi için önemlidir. Hata enjeksiyonu, gerçek hayattan senaryoların benzetimini yapmak için sisteminize hataları ve gerilimi bilerek tanıtır. Hata enjeksiyonu ve kaos mühendisliği tekniklerini kullanarak, sorunları üretim ortamınızı etkilemeden önce proaktif olarak bulabilir ve çözebilirsiniz. Bu bölümde iş yükünüz için sınama, hata iğnesi ve kaos mühendisliği konusunda genel rehberlik sağlanmıştır.
Genel test rehberliği
Var olan eşiklerin, hedeflerin ve varsayımların doğrulanması için sınamaları düzenli olarak gerçekleştirin. İş yükünüzde büyük bir değişiklik olduğunda düzenli sınama çalıştırın. Test ve hazırlık ortamlarında çoğu sınamayı gerçekleştirin. Ayrıca üretim sistemine karşı bir alt test alt kümesi çalıştırmak da faydalı olur.
Tutarlı test kapsamı ve tekrarlanabilirlik sağlamaya yardımcı olmak için sınamaları otomatikleştirin. Sık kullanılan sınama görevlerini otomatikleştirin ve bunları yapı işlemlerinizle tümleştirin. El ile test yazılımı sıkıcı ve hataya duyarlıdır, ancak el ile keşif sınamaları yapabilirsiniz. Otomatik test geliştirmeniz gereken durumlarda, geliştirilecek testlerin kapsamını belirlemek için el ile test kullanın.
Geliştirme döngüsünün başlarında esneklik ve kullanılabilirlik sınamaları gerçekleştirmek için sol üst karakterli sınama yaklaşımını benimsenin.
Basit bir belge biçimini uyarlayın, böylece herkes her normal testin işlemini ve sonuçlarını anlayabilir.
Belgelenen sonuçları operasyonel takımlar, teknoloji liderliği, işletme paydaşları ve olağanüstü durum kurtarma paydaşları gibi uygun takımlarla paylaşın. Sonuçlar, servis düzeyi hedefleri (SLA), hizmet düzeyi anlaşmaları (SLA), kurtarma zamanı hedefleri (RTOs) ve kurtarma noktası hedefleri (RPOs) gibi güvenilirlik hedeflerinin belirginleştirilmesini bilgilendirmelidir.
Yedekleriniz için düzenli bir test desteği oluşturun. Yedeklemelerin geçerli olduğundan ve geri yüklemelerin işlevsel olduğundan emin olmak için verileri ayrı sistemlere geri yükleyin.
Kurtarmayla ilgili beklentilerin uygun olduğundan emin olmak için, kurtarma süresi ölçümlerini olağanüstü durum kurtarma paydaşlarınızla belgeleyin ve paylaşın.
Otomatik, öngörülebilir ve etkili bir dağıtım sürecine sahip olmanıza yardımcı olmak için endüstri standartı dağıtım sınama yordamlarını kullanın.
İş yükünüzün geçici hatalara dayanabilme yeteneğini sınayın. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.
Hata eklemeyi kullanarak, iş yükünüzün bağımlı servislerdeki hataları veya diğer bağımlılıkları nasıl işleyeceğini sınayın.
Olağanüstü durum kurtarma planınızı, katastrofik hatalara ve diğer büyük olaylara yanıt verecek şekilde test edin.
Hata enjeksiyonu kullanarak, iş yükünüzün çalışma yükünün gücünü zarif bir şekilde düşürebilir ve bileşen arızasının patlama derecesini en aza indirgeyebilirsiniz.
Planlanan ve planlanmamış kesintilerden yararlanma
Planlı bakım veya planlanmamış bir kesinti nedeniyle iş yükünüz çevrimdışı olduğunda, sınama gerçekleştirmek ve iş yükünüzü anlamanız için benzersiz bir fırsatınız olur. Aşağıdaki bölümler, her senaryo için öneriler sağlar.
Planlı bakım
Güncelleştirmeler veya düzeltme ekleri için bakım pencerelerini planladığınızda, bakım çalışması için ilgili olmayan bileşenleri ve akışları sınayabilirsiniz. İş yükünü beklenmedik bir şekilde düşürme veya çevrimdışı deneme sürümünü alma riski olmadan sınamalar gerçekleştirin. Bakım pencereniz sırasında yeterli zamanınız varsa, bakım çalışması tamamlandıktan sonra bakımda yer alan bileşenleri ve akışları da sınayabilirsiniz.
Planlanmamış kesinti
İş yükünüz hakkında daha fazla bilgi edinmek ve önceliğe göre sıralanmış bu adımları izleyerek dayanıklılığını artırmak için her kesinti olayını bir fırsat olarak kullanın:
Kullanıcılarınız için iş yükünü yeniden çevrimiçi duruma alın. Sorun için bir geçici çözüm uygulamanız, sorunu çözmeniz veya kurtarma işlemlerini başlatmanız gerekebilir.
Kesintinin kök nedenini belirleyin ve ele alın. Araştırmanın parçası olarak kök nedeni düzeltebilirseniz, kök nedeni ve düzeltmek için aldığınız önlemleri belgeleyin. Sorun daha sonra başka bir bakım penceresi açmayı gerektiriyorsa, bunları kapsamlı bir şekilde test ederek azaltma önlemlerinizin beklenen yükü kaldırabildiğinden emin olun. Azaltma önlemlerinizi almak için yeterli izleme ayarladığınızdan emin olun.
Uygunsa, iş yükündeki tüm bileşenlerde, benzer sorunlardan etkilenebilecek aynı sorun veya yapılandırma zayıflıklarını arayın. Bu bileşenlere proaktif şekilde çözüm bulmak için bu fırsatı kullanın. İş yükündeki benzer sorunların modellerini algılamak için olay geçmişinize bakın.
Test stratejinizi geliştirmek için sonuçlarınızı kullanın. Aynı hatayı doğrudan sınayarak kök nedene ve benzer sorunlara başarıyla çözüm seçtiğinizden emin olun.
Hata enjeksiyonu ve kaos mühendislik rehber
Hata enjeksiyonu testi, iş yükünün bileşen hatalarına tepki verme yeteneğini vurgulayarak kaos mühendisliği prensiplerini izler. Ön ve üretim ortamlarında hata iğnesi testi yapın. Yalnızca önceliğiniz olan hataları test etmeniz ve hataları ele alan azaltma stratejileriniz olduğundan emin olmak için hata modu analizinden öğrendiğiniz bilgileri uygulayın.
Kaos mühendisliğinin temel kılavuzları şunlardır:
Proaktif olun. Başarısızlıkların olmasını beklemeyin. Sorunları üretim ortamınızı etkilemeden önce keşfetmek ve düzeltmek için kaos denemeleri gerçekleştirerek hataları önceden tahmin etmeye çalışın.
Başarısızlığı kucaklayın. Sisteminizde oluşan hataları kabul edin ve bunları öğrenin. Hataları karmaşık sistemlerin doğal bir parçası olarak görün ve sisteminizin güvenilirliğini öğrenmek ve geliştirmek için fırsatlar olarak kullanın.
Sistemi bozun. Dayanıklılığını sınamak için, bilinerek sisteminize hatalar ve gerilimler enjekte edin. İş yükünün kurtarma yeteneklerini test etmek ve geliştirmek için gerçek hayattan gelen hataların veya kesintilerin benzetimini yapın.
Bağışıklık kazanın. İş yükünün hataları önleme ve düzeltme yeteneğini geliştirmek için kaos mühendisliği denemeleri kullanın.
Kaos mühendisliği, iş yükü takım kültürünün ve sürekli bir uygulamanın dahili bir parçasıdır, tek bir kesintiye yanıt olarak kısa vadeli bir taktik çaba değildir. Kaos denemelerinizi tasarladığınızda bu standart yöntemi izleyin:
Bir hipotezle başlayın. Her deneyin, bir akışın belirli bir bileşenin kaybolmasına dayanabilme özelliğini sınama gibi net bir hedefi olmalıdır.
Temel davranışı ölçün. Denemeniz çalıştırılırken parçalanan durumla karşılaştırmak için, bir denemede yer alan akış ve bileşenler için tutarlı güvenilirlik ve performans ölçümlerine sahip olduğunuzdan emin olun.
Hata veya hatalar enjekte edin. Denemenin, hızlı şekilde kurtarılabilecek belirli bileşenleri bilerek hedeflemesi ve hata enjeksiyonunun, deneyin patlama radyusunun kontrol edilmesine yardımcı olacağı etkiyle ilgili bilgilendirilmiş bir beklentiye sahip olmanız gerekir.
Ortaya çıkan davranışı izleyin. Deneyin hatanın etkisini uygun şekilde anlamak için hedefladığı ayrı akış bileşenleri ve uçtan uca akış davranışı hakkında telemetri toplayın. Hata ekleme sonuçlarının tam resmi için topladığınız ölçümleri temel ölçümlerle karşılaştırın.
Süreci ve gözlemleri belgeleyin. Denemelerinizin ayrıntılı kayıtlarını tutmak, zaman içinde ortaya çıkan açıkları giderdiğinizden emin olarak, iş yükü tasarımı hakkında gelecekteki kararları bilgilendirir.
Sonucu belirleyin ve üzerinde eyleme geçin. Geliştirmeler olarak iş yükü bekleme listenize eklenebilen iyileştirme adımlarını planlayın. Tasarım iyileştirme planlarının, diğer dağıtımlarla aynı işlemlere göre üretim dışı ortamlarda incelenip sınandığından emin olun.
Teknik borcu hızlıca algılamak, yeni teknolojileri tümleştirmek ve değişen gereksinimlere uyarlamak için düzenli olarak sürecinizi, mimari seçimlerinizi ve kodlarınızı doğrulayın.
Hata iğnesi denemeleri gerçekleştirdiğinizde, şunları yapabilirsiniz:
İzlemenin yerinde olduğunu ve uyarıların ayarlandığını onaylayın.
Bir olayın sahipliğini almak için doğrudan sorumlu bir kişi (DRI) atama işleminizi doğrulayın.
Belge ve araştırma işlemlerinizin güncel olduğundan emin olun.
Kaos sınama stratejinizi en iyi duruma getirmek için aşağıdaki önerileri ve dikkate alınacak noktaları tümleştirin:
Sistem varsayımlarına karşı çıksın. Sınama ile, iş yükü ve iş yükü tasarım stratejilerinizin esnekliğini geliştirmeye çalışırsınız. Geçmiş deneyimlere dayanarak güvenilir olduğunu varsadığınız bileşenlere ve akışlara hata vermek için fırsatları arayın. Yeni iş yükünüzde güvenilir olmayabilirler.
Değişikliği doğrulayın. Hata enjeksiyonu testi de dahil olmak üzere, kapsamlı test olmadan, değişiklikler yapıldıktan sonra iş yükünüzün tamamlanmamış bir resmi olabilir. Örneğin, hemen belirgin olmayan yeni bağımlılıklar tanıtabilirsiniz.
SLA tamponlarını kullanın. SLA'larınızın içinde kalmak ve kesintilerden potansiyel olumsuz etkilerden kaçınmak için kaos testlerini sınırlandırın. Akışınız ve bileşen kurtarma hedefleriniz testinizin kapsamını tanımlamanıza yardımcı olur.
Kaosa ve hata enjeksiyonuna yatırım olarak bir hata bütçesi oluşturun. Hata bütçeniz, SLO'nun %100'ünün gerçekleştirilmesiyle üzerinde mutabık kalınan SLO'nun gerçekleştirilmesi arasındaki farktır.
Kapsamın dışına çıkıyorsa, deneyi durdurun. Bilinmeyen sonuçlar, kaos denemelerinin beklenen sonuçlarıdır. Önemli sonuç verilerini toplama ile mümkün olduğunca az sayıda üretim kullanıcısını etkileme arasında denge oluşturmaya çabalayın.
Verilen hataların daha uygun olduğundan emin olmak için geliştirme takımlarıyla yakın çalışın. Kılavuz olarak geçmiş olayları veya sorunları kullanın. Bağımlılıkları inceleyin ve bu bağımlılıkları kaldırdığınızda sonuçları değerlendirin.
Kaos sınamalarıyla ortaya çıkan iş yükü içindeki farklı bileşenler arasındaki daha önce keşfedilmemiş bağımlılıkları belirleyin ve belgeleyin.
Kaos sınaması sırasında ortaya çıkarılan bağımlılıkları hesaba eklemek için kurtarma planlarını gerektiği gibi ayarlayın.
Denemelerinizden alınan sonuçları ve yeni denemelerin ve testlerin temeli olarak kullanın. Beklenmeyen davranışlar ortaya çıktıkçe, yeni testler bu davranışları doğrudan hedefleyip bunlar için iyileştirme stratejileri tasarlamanıza olanak verebilir.
Dezavantaj: Üretimde hata enjeksiyon testi kesintiye yol açabilir ve potansiyel olarak duruşa neden olabilir. Bu olasılık konusunda paydaşlar konusunda şeffaf olun ve denemeleri sonlandırmak ve geri alma planlarını hızlıca geri almak için korumalarınız olduğundan emin olun.
Power Platform kolaylaştırma
İş yükünüzü sınamak için sabit bir sonuç döndürmek için Power Automate'te statik sonuçlar kullanabilirsiniz.
Power Apps Test Altyapısı , Power Apps'te tek başına tuval uygulamalarını test etmek için kullanabileceğiniz bir Power Platform CLI bileşenidir.
Azure Test Plans, kullanımı kolay bir planlanan el ile sınama, kullanıcı onay sınamaları, keşif sınamaları ve paydaşlardan geri bildirim toplama için gereken özellikler sağlayan, tarayıcı tabanlı bir test yönetimi çözümüdür.
İş yükünüz Azure kaynakları içeriyorsa, bulut uygulama ve hizmet dayanıklılığınızı ölçmenize, anlamanıza ve geliştirmenize yardımcı olmak için kaos mühendisliği kullanan bir yönetilen hizmet olan Azure Chaos Studio kullanabilirsiniz.
İş yükünüzde Microsoft Copilot Studio aracısı varsa, aracıları ve testleri yapılandırmak için Power CAT Copilot Studio Kitini kullanabilirsiniz. Copilot Studio API'lerine (Direct Line) karşı ayrı ayrı testler çalıştırılarak, aracı yanıtları beklenen sonuçlara göre değerlendirilir.
İlgili bilgiler
Güvenilirlik kontrol listesi
Eksiksiz bir öneri kümesine bakın.