Teknoloji her yerde. Sektörünüzün risklerinin ne kadar yüksek olduğuna bağlı olarak, bir teknoloji ürününün veya sisteminin başarısızlığı, bildiğiniz gibi ömrünün sonuna kadar tamamen ihmal edilebilir arasında herhangi bir yere düşebilir.

Hastane ana bilgisayarları? Biraz önemli. Cep telefonunuzdaki Candy Crush uygulamasının esnekliği? Genel öncelikler listesinde muhtemelen biraz daha aşağıda.

Dağıtılmış bir ağ sisteminde başarısızlık kaçınılmazdır. Felaketi önlemek, sağlam, su geçirmez bir güvenlik tasarımıyla başlar. Ancak bunun ötesinde, başka ne yapılabilir?

Netflix Kaos Mühendisliği Nedir?

20 Eylül 2015.

Batı cephesinde her şey sessiz, birkaç önemli kurumsal Amazon Web Hizmetleri sunucusu tek kelime etmeden aniden çöktüğünde.

Birçok büyük şirket, müşterilerine saatlerce ürün sağlayamadı. Ancak Netflix, birkaç dakika içinde tekrar ayağa kalktı. Nasıl? Netflix'in şirket içi kültürü, hem sistemleri hem de mühendisleri felaket anlarına hazırlamak için gerçek zamanlı olarak uygulanan birçok "arızaya neden olan" uygulamayı içerecek şekilde evrildi.

instagram viewer

Şirketin liderliği, bu gibi olayları incelemek ve bunlara hazırlanmak için sistemin kapalı bölümlerinde kasıtlı olarak benzetilmiş sunucu kesintileri gerçekleştirdi. Bu, sistemdeki boşlukları belirlemelerine ve daha önce bahsedilen gibi büyük bir arıza durumunda bile hizmetin kesintisiz devam etmesine izin veren fazlalıklar oluşturmalarına yardımcı oldu.

Bu kasıtlı "kaos mühendisliği" alıştırmaları, mühendislerine kendilerini görmeleri için yeterli rekabet avantajı sağladı. fiyasko yoluyla, kısmen bu tür bir kıyamet günü olayıyla inşa ettikleri önleyici altyapı sayesinde akılda.

Büyük dalga vurduğunda başka kimse hazır değildi. Netflix sistemi kendi başının çaresine bakabilecek kadar güçlüydü. Sonuç? Bu kaotik beyinler burada bir şeylerin peşinde olabilir.

Sizi Sevenleri Kasten Yok Etmek

"Kaos Mühendisliği, sistemin üretimdeki çalkantılı koşullara dayanma kabiliyetine güven oluşturmak için bir sistem üzerinde deney yapma disiplinidir."

Kaos Manifestosunun İlkeleri

Bu, kaos mühendisliğinin kalbidir - özünde, sunulan zorluğun üstesinden gelmek için gözler ve eller mevcut olduğunda çalışma saatlerinde sisteme uygulanan bir "yangın tatbikatı". Herhangi bir güvenlik açığı ortaya çıktıkça, belirli bir sistemin başarısızlığı tolere etme yeteneği teste tabi tutulur.

Orijinal 2011 bağlamında, kaos mühendisliği Netflix'in BT departmanını ilgilendiriyordu. Liderleri, bir veya daha fazla bilgisayarı kasıtlı olarak devre dışı bırakıldığında ekibin çabalarının ne kadar esnek olduğunu test etmek istedi. Bu aksilikler, BT ekibinin, sistem genelinde sorunlar haline gelmeden ve dışarıdan yararlanılmadan önce temel zayıflıkları belirlemesine olanak tanıdı.

Gerçek başarısızlık mı? Cehennem kadar maliyetli olabilir, ve bu parasal sonuçların ötesine geçer. Güvenlikte gerçek bir kesinti olmayan kesinti süreleri bile, büyük olasılıkla gelir elde etmek için birçok fırsatın kaçırılmasına neden olacaktır. Neden sizi kör etmek için acil bir durumu bekleyesiniz?

Deliliğin Arkasındaki Maymunlar

Bazı şirketler, geliştirici ekiplerini departman hatlarındaki kardeşleriyle karşı karşıya getiren bir "kırmızı ekip" modelini benimseyecek. Ancak Netflix'in belirttiği klasik örnek, bir "Simian Ordusu" nu kullanıyor. Bu botlar, onlar için kirli işleri adil ve tamamen rastgele yapıyorlar.

Deli mi? Belki de meslekten olmayanlara. "Kaos Maymunları" yazarı Antonio Garcia Martinez'in sözleriyle:

"Bir 'veri merkezine', çevrimiçi faaliyetlerimizin tüm kritik işlevlerini barındıran bu 'çiftliklere' giren bir maymun hayal edin. Maymun rastgele kabloları koparır ve cihazları yok eder. Buradaki zorluk, sorumlu oldukları bilgi sistemini, ne zaman geldiklerini ve neyi yok edeceklerini kimsenin bilmediği bu maymunlara rağmen çalışabilecek şekilde tasarlamaktır."

Renkli bir benzetme. Bununla birlikte, Simianların hepsi zalim değildir: Örneğin, Doctor Monkey sistemin performansını izler. Ancak Chaos Kong ziyaret için uğradığında tüm bahisler kapanır; bu karakter, bir AWS kullanılabilirlik bölgesinin tamamını kaldırır.

İlişkili: Güvenlik Açıkları Nasıl Değerlendirilir?

Kaos Mühendisliği ve Bilimsel Yöntem

Kaos mühendisliği, deneyleri yürütenler için değerli bir sistemik içgörü kaynağı olarak hizmet eder. Burada test edilenler sadece geliştiriciler değil; aynı zamanda otonom olarak var olan sistemdir.

Maymun fıçısını masaya bırakmadan önce, kaos mühendisliği için biraz temel atılması gerekiyor.

  1. Öncelikle, sisteminiz için "sabit", sağlıklı, işlevsel bir durum olarak düşündüğünüz şeyi belirlemeniz gerekir. Bu, herhangi bir somut sonucu ölçtüğünüz “kontrol” olacaktır.
  2. Düzenlenmiş başarısızlığın müdahalesiyle bu durumun nasıl dengeden çıkacağını düşünmeye başlayın. Araştıran kötü amaçlı yazılımınızı yalnızca sisteminizin kapsanan, kontrol edilebilir bir alanını etkileyecek şekilde planlayın.
  3. "Davetsiz misafir"i tanıtın ve sistemin yanıt vermesine izin verin.
  4. Sistemin şu anda var olduğu şekliyle ve homeostazdayken daha önce nasıl davrandığı arasındaki farklılıkları gözlemleyin ve yorumlayın. Hangisi önce gerçekleşirse, bir güvenlik açığı tespit edene veya tam ölçeğe ulaşana kadar "patlama yarıçapınızı" artırın.

Buradaki fikir, işlevsel bir sistemi bozmak ne kadar zorsa, değişime ve bombardımana karşı dayanıklılığına o kadar güvenebilirsiniz. Bu yaklaşım, bir kesinti durumunda sistemin farklı yönlerinin birbirlerinin hatalarını nasıl telafi edeceğini gösterir.

"Hiçbir bileşen %100 çalışma süresini garanti edemediğinden (ve en pahalı donanımlar bile sonunda başarısız olur), Tüm bileşenlerin kullanılabilirliğini etkilemeden tek tek bileşenlerin başarısız olabileceği bir bulut mimarisi tasarlayın sistem."

Netflix Blog

Bazen sistemle bu şekilde oynamak, müşteri deneyimini etkilemeye yaklaşmaz bile. Diğer zamanlarda, ciddi güvenlik açıkları gün ışığına çıkarılacaktır. Şimdi, özellikle Netflix'te, sistem arızasını kullanıcı düzeyinde maskelemek anlamına gelen beklenmedik durum, sistemin temeline yerleştirilmiştir.

İlişkili: Sıfır Gün İstismarı Nedir?

Kaos Mühendisliği Buna Değer mi?

Karmaşık bir sistemi anlamak istiyorsanız - rahatsız edin

— Farhan Thawar (@fnthawar) 26 Mayıs 2021

Eleştirmenler, hiçbir arka uç oyununun, kısa bir süreliğine ve tesadüfen bile olsa, bir müşterinin deneyimini etkilemeye değmeyeceğini söyleyecektir. Ancak kaos mühendisliğinden yana olanlar, bu "planlı kesintilerin" AWS'nin 2015'te deneyimlediğinden çok daha küçük olması gerektiği gerçeğiyle çürütecekler. Küçük, planlanmış bir sorun sizi çok daha büyük bir sorunun ortaya çıkmasını önleyecek bir konuma getiriyorsa, ilk olayı planlamak hazırlanmanın en iyi yolu olabilir. Toplamda daha az kullanıcı etkilenecektir. Matematik işe yarıyor.

Meselenin insani tarafından bakıldığında, zihniyet şu ki, şimdi önlerinde bir sunucu çökmesi olan bu mühendisler ve Bununla yetkin bir şekilde başa çıkıldığında, gelecekte hem daha uyanık olacak hem de başlarına ne gelirse gelsin üstesinden gelmek için daha entelektüel olarak donanımlı olacaktır. yol. Ortaya çıkan daha güçlü sistem, çoğu durumda kendisi için konuşur.

Silikon Vadisi: Düşlerin Öleceği Yer

Eğer büyük yapmak istiyorsan sevgililerini öldürmeye istekli olmalısın ya da bu durumda başkalarının onları senin için öldürmesine izin vermeye istekli olmalısın derler. Geliştirmenin en başından itibaren güvenlik ön planda olduğunda, ekibinizin müşterilerin özgürce kullanması için aşılmaz ve güvenli bir şey elde etme olasılığı çok daha yüksektir.

İşyeri deneyimini oyunlaştırma, bu alanda başarı olasılığını heyecan verici hale getirir; Nihai sonuç kaliteli olduğunda, herkes seviye atlar. Netflix'im gayet iyi çalışıyor ve bunun için teşekkür etmemiz gereken yalnızca kaosun arkasındaki deliler var.

Artık kaos mühendisliği konusunda sağlam bir kavrayışa sahip olduğunuza göre, neden bilginizi başka bir yazılım geliştirme metodolojisi ile genişletmiyorsunuz? Agile, bir iş gücünü birleştirmek ve temiz, verimli kod üretmek için dahil edebileceğiniz mükemmel bir sistemdir.

E-posta
Çevik Programlama Metodolojisi Nedir?

İster programlama işlerine başvuruyor olun, ister daha verimli bir çalışma yöntemi istiyorsanız, Agile hakkında bilgi sahibi olmanız gerekir.

Sonrakini Oku

İlgili konular
  • Programlama
  • Programlama
Yazar hakkında
Emma Garofalo (25 Makale Yayınlandı)

Emma Garofalo şu anda Pittsburgh, Pennsylvania'da yaşayan bir yazardır. Daha iyi bir yarın için masasında çalışmadığı zamanlarda, genellikle kameranın arkasında veya mutfakta bulunabilir.

Emma Garofalo'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Bir adım daha…!

Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.

.