Kaos mühendisliğini ve dayanıklılığını anlama

Azure Chaos Studio'yu kullanmaya başlamadan önce, uygulanan temel site güvenilirliği mühendisliği kavramlarını anlamanız yararlı olacaktır.

Dayanıklılık nedir?

Büyük ölçekli, dağıtılmış uygulamalar oluşturmak hiç bu kadar kolay olmamıştı. Altyapı bulutta barındırılır ve programlama dili desteği çeşitlidir. Ayrıca, üzerinde derlemek için birçok açık kaynak ve barındırılan bileşen ve hizmet vardır.

Ne yazık ki, bu temel bileşenler ve bağımlılıklar veya bunlar üzerinde oluşturulan sistemler için güvenilirlik garantisi yoktur. Altyapı çevrimdışı olabilir ve hizmet kesintileri veya kesintiler herhangi bir zamanda oluşabilir. Bir alandaki küçük kesintiler büyütülebilir ve başka bir alanda uzun süre devam eden yan etkilere sahip olabilir.

Uygulama ve hizmetlerin planlama yapması ve şu sorunları barındırması gerekir:

  • Hizmet kesintileri.
  • Bilinen ve bilinmeyen bağımlılıklarda kesintiler.
  • Ani beklenmeyen yük.
  • Sistem genelinde gecikme süreleri.

Uygulamalar ve hizmetler, hataları işleyecek şekilde tasarlanmalı ve kesintilere karşı sağlamlaştırılmalıdır.

Stres ve sorunlarla düzgün şekilde ilgilenen uygulamalar ve hizmetler dayanıklıdır. Tek tek bileşen güvenilirliği iyidir, ancak dayanıklılık tüm sistemin bir özelliğidir. Uçtan uca sistem dayanıklılığı, üretim ortamında karşılaşılan koşullar ve yük ile tümleşik, üretim benzeri bir ortamda doğrulanmalıdır.

Kaos mühendisliği ve hata ekleme nedir?

  • Kaos mühendisliği: Uygulamaları ve hizmetleri gerçek dünyadaki stres ve başarısızlıklara maruz bırakma uygulaması. Amaç, güvenilir olmayan koşullara ve eksik bağımlılıklara dayanıklılığı oluşturmak ve doğrulamaktır.
  • Hata ekleme: Sisteme hata ekleme eylemi. Sistem bileşenlerini hedeflemek için ağ gecikmesi veya depolamaya erişim kaybı gibi farklı hatalar kullanabilirsiniz. Bir uygulama veya hizmetin işleyebilmesi veya kurtarabilmesi gereken senaryolar oluşturabilirsiniz.

Kaos denemesi, hataların tek tek, paralel veya sıralı olarak bir veya daha fazla abonelik kaynağına veya bağımlılığına karşı uygulanmasıdır. Amaç, ortaya çıkan sorunlarda işlem görebilmeniz için sistem davranışını ve sistem durumunu izlemektir.

Deneme, veri merkezi güç kesintisi veya DNS sunucusunda ağ gecikmesi gibi gerçek dünya senaryolarını temsil edebilir. Oluşan uç koşullarının benzetimini yapmak için de kullanılabilir. Black Friday alışveriş serilerine veya popüler bir grup için konser biletlerinin satışa çıktığı zamanlara örnek verilebilir.