‎Büyük dağıtılmış sistemler için dayanıklılık tehdit modellemesini ilerletme‎

‎Yüksek düzeyde, amacımız kendi kendine yapılan ve / veya önlenebilir kesintileri önlemektir, ancak daha da acil olarak, amacımız müşterilerimize çarpma olasılığını mümkün olduğunca azaltabilmektir. Bu bağlamda, hizmetlerimizin hem dahili hem de harici olarak müşterilerimizin beklentilerini karşılayamadığı (veya iş yüklerini olumsuz yönde etkilediği) herhangi bir kesintidir. Bunu önlemek için, ‎‎Azure’daki‎‎ müşteri iş yüklerini etkilemeden önce riskleri ortaya çıkarma şeklimizi geliştirmemiz gerekiyordu. Ancak Azure’ın kendisi büyük, karmaşık dağıtılmış bir sistemdir— kuruluşumuz, her biri beş ila 50 mühendistan oluşan, kuruluşun birden fazla farklı bölümüne dağılmış ve her biri kendi süreçlerine, araçlarına, önceliklerine ve hedeflerine sahip yüzlerce “hizmet” içeren binlerce çözüm sunuyorsa dayanıklılık tehdidi modellemesine nasıl yaklaşmalıyız? Tüm bu bireysel risk değerlendirmelerinde dayanıklılık tehdidi modelleme sürecimizi ve mantığımızı nasıl ölçeklendirebiliriz? Bu zorlukları ele almak için, daha proaktif bir yaklaşımla reaktif yaklaşıma katılmak için bazı büyük değişiklikler gerekti.‎

‎Yolculuğumuza başlıyoruz‎

‎Vardiyaya ölüm öncesi pilot programla başladık. Geçmiş kesintilere baktık ve sadece tartışmalara başlamaya değil, aynı zamanda onlara bir yapı sağlamaya yardımcı olan bir anket geliştirdik. Daha sonra, farklı amaç ve mimaride çeşitli hizmetler seçtik – bir ekiple her oturduğumuzda, yeni bir şey öğrendik, riskleri belirlemede daha iyi ve daha iyi olduk, süreçle ilgili ekiplerden geri bildirim aldık, ardından bir sonraki ekiple tekrar denedik. Sonunda, bu süreci verimli ve etkili hale getirmek için ihtiyacımız olan diğer unsurların yanı sıra sorulması gereken doğru soruları da belirlemeye başladık. Bu unsurların bazıları zaten vardı, diğerleri dayanıklılık tehdidi modellemesine merkezi bir yaklaşımı desteklemek için oluşturulmak gerekiyordu. Var olan birçok kişi de hedeflerimize ulaşmak için değişiklikler veya genel bir çözüme entegrasyon gerektiriyordi. Aşağıdakiler, yaklaşımımıza üst düzey bir genel bakıştır ve keşfettiğimiz unsurlar alanı geliştirmeye devam etmek için gerekliydi.‎

‎Sürekli ve korkusuz risk dokümantasyonu kültürü oluşturduk‎

‎Risklerimizin nerede olduğunu bulmak için büyük bir ön yatırım yapılması gerektiğini fark ettik. Kapsamlı ön ölümler zaman alır – değerli ve “yüksek talep” mühendis türü, “müşteri değeri sunmak için sıkı bir zaman çizelgesi içinde çalışıyoruz ve bunu yapmak için duramıyoruz” tür bir mühendis zamanı. Bazen, hizmetlerinde iki yıl içinde sadece bir kesinti olmasına rağmen, çözümlerimizin bağımlılık zincirlerinde son iki yılda sadece bir kesintiye sahip olan düzinelerce başka hizmet olduğunu anlamalarına yardımcı olmamız gerekiyordu. Mesele şu ki, müşterilerimizin bakış açısından, iki kesintiden daha fazlasını gördüler.‎

‎Düşük riskin güvenle göz ardı edebileceğimiz bir şey olduğuna şüpheyle yaklaşmalıyız. Kesintilere yönelik risklerin sağlıklı ve korkusuzca aranma envanterine geçmeliyiz. Sadece kalan konuların ayrıntılı tartışmalarını ve misilleme korkusu olmadan risklerin değerlendirilmesini desteklemekle kalmayıp, aynı zamanda yüzlerce veya binlerce hizmet içeren büyük ölçekli bir kuruluşta birden fazla hizmette geniş çapta yararlanabilecek ortak çözümlere ve azaltıcı etkenlere yönelik yatırımları da bilgilendiren bir sürece ihtiyacımız vardı.‎

‎Amacımız sürekli risk arayışı ve sadece X ayda bir güncellenen statik modeller yerine “canlı riskler” tehdit modellerine sahip olmaktır. Bu ilk risk kümesini bulmak için yapılan ilk yatırım indikten sonra, iyi tanımlanmış bir süreçle işleri güncel tutmak istedik. İlk başta anahtar, ilk yatırım “hendeği”nin ne kadar büyük olduğuyla, hedeflerimizle aramızda caydırılmamaktı. Şu anda gördüğümüz gerçek fayda, risk toplamanın kültürümüze yer edinilmiş olmasıdır. Bu, risklerin birçok farklı kaynaktan toplanmasını ve organizasyon süreçlerimize dahil olmasını sağlar.‎

‎Peki, riskleri belirleme sürecine en iyi nasıl başlayabilirim?‎

‎Riskleri ortaya çıkarmak için hem reaktif hem de proaktif yaklaşımlar kullandık‎

‎Ölüm sonrası analiz programımızdan yararlandık‎

‎Risk ararken, geçmişte yaşananlara bakmak ve gelecekte tekrar neler olabileceğine dair ipuçları aramak mantıklıdır. Bu konuda sağlam bir ölüm sonrası analiz programı anahtardı. Zaten ölüm sonrasıları analiz eden, ortak temalar arayan ve daha derin analizler ve yatırımları bilgilendirmek için ortaya çıkan bir ekibimiz vardı. Analizleri, ekipleri sadece riski ele almaya yardımcı olabilecek kaliteli programlara veya girişimlere yönlendirmemize yardımcı olmakla kalmadı, aynı zamanda riskin ne kadar yaygın olduğunu görene kadar ihtiyacımız olduğunu bilmediğimiz diğer yatırımlara olan ihtiyacı da vurguladı. Ölüm sonrası analizden belirledikleri risk kategorilerinin türleri, henüz gerçekleşmemiş riskleri aradığımızda odak alanlarımızın bir alt kümesi haline geldi. Burada, ölüm sonrası analizin sadece ölüm sonrası kadar iyi olduğunu belirtmek gerekir.‎

‎Ölüm sonrası kalite inceleme programımızdan yararlandık‎

‎Bir postmortem kalitesi yararlılığını belirler, bu nedenle bir Ölüm Sonrası Kalite İnceleme Programına yatırım yaptık. Rehberlik yayınlandı, eğitim verildi ve büyük bir gözden geçiren havuzu, yazıldıktan sonra her “yüksek etkili” kesintiyi derecelendirecekti. Düşük reytinglere sahip veya daha fazla netliğe ihtiyaç duyan ölüm sonrası ölümler yazarlara geri gönderildi. Yüksek etkili ölüm sonrası ölümler, her ikisi de soru soran ve doğru eylem planları hakkında geri bildirimde bulunan diğer ekiplerden mühendislerin ve üst düzey liderlerin yer aldığı bir toplantıda haftalık olarak gözden geçirilmektedir. Bu programa sahip olmak, ölüm sonrası verilerden öğrenme ve bunlara göre hareket etme yeteneğimizi büyük ölçüde artırdı.‎

‎Ancak, risk arayışımızı geçmişle sınırlandıramayacağımızı biliyorduk.‎

‎Daha proaktif olmak için ölüm öncesi daha iyi olduk.‎

‎Bazıları, Hata Modu Analizi’ne (FMA) benzer bir işlem olan “ölüm öncesi” terimini duymuş olabilir.‎

‎Harvard Business Review’a göre (‎‎Eylül 2007, Sayı 1‎‎), “Bir ölüm öncesi, ölüm sonrası varsayımsal zıttıdır. Tıbbi bir ortamda ölüm sonrası, sağlık profesyonellerinin ve ailenin bir hastanın ölümüne neyin neden olduğunu öğrenmesini sağlar. Hasta hariç herkes faydalanır. Bir iş ortamındaki bir önsezi, projenin otomatik olarak değil geliştirilebilmesi için son yerine projenin başına gelir. Proje ekibi üyelerine neyin yanlış gidebileceğinin sorulduğı tipik bir eleştiri seansının aksine, ölüm öncesi “hastanın” öldüğü varsayımıyla çalışır ve bu nedenle neyin yanlış gittiğini sorar. Ekip üyelerinin görevi, projenin başarısızlığı için makul nedenler üretmektir.”‎

‎Azure bağlamında, bir önsezinin amacı neyin yanlış gidebileceğini tahmin etmek, olası riskleri tanımlamak ve tetikleyici olay bir kesintiye neden olmadan önce bunları azaltmak veya kaldırmaktır. ‎‎Siyah Kuğu Nasıl Yakalanır: Risk Tanımlama için Premortem Tekniğinin Faydalarını Ölçmek’e‎‎ göre, ölüm öncesi teknikler daha fazla kalite riskini belirleyebilir ve daha fazla kalite değişikliği önerebilir; diğerlerine göre daha etkili bir risk yönetimi tekniğidir.‎

‎Bir ölüm öncesi yapmak çok zor bir çaba değildir, ancak doğru insan kümesini dahil ettiğinizden emin olmalısınız. Belirli bir müşteri çözümü için, bu çözüm için en bilgili mühendisleri topladık ve daha da iyisi, öğrenebilmeleri için yenilerini getirdik. Daha sonra, müşterilerinin azaltmaları gereken bir kesinti yaşadığı için 04:00’te uyandırılmalarının mümkün olduğunca çok nedeni için beyin fırtınası yaptırdık. Varsayımsal bir soruyla başlamayı seviyoruz, “İki haftalığına tatilde olduğunuzu ve hizmetinizde bir kesinti olduğunu duyarak geri döndüğünüzü hayal edin. Bu kesintiye katkıda bulunan faktörlerin ne olduğunu öğrenmeden önce, olası nedenler olabileceğini düşündüğünüz birçok şeyi listelemeye çalışmayın.” Bunların her biri, kesintiye neden olan tetikleyicileri, müşteriler üzerindeki etkisini ve bunun gerçekleşme olasılığını belgeleme de dahil olmak üzere bir risk olarak yakalandı.‎

‎Riskleri belirledikten sonra, bunları ele almak için bir eylem planımız olması gerekiyordu.‎

‎”Risk Tehdit Modelleri” oluşturduk‎

‎Eğer ölüm öncesi risklerin arama ve korkusuz envanteri ise, risk tehdidi modeli bunu eylem planıyla birleştiren şeydir. Ekibiniz hata modu analizi veya düzenli risk incelemeleri yapıyorsa, bu çaba basit olmalıdır. Risk tehdidi modeli, risk listenizi alır ve müşteri acısını azaltmak için ne yapmayı beklediğinizi oluşturur.‎

‎Riskleri belirledikten sonra, bu kalıpların benzer bir riskin olduğu her yerde kullanılabilmesi için doğru düzeltmeler hakkında ortak bir anlayışa sahip olmamız gerekiyordu. Bu düzeltmeler uzun vadeliyse, kendimize “bu arada müşterilerimize olan olasılığı veya etkiyi azaltmak için ne yapabiliriz” diye sorduk? İşte sorduğumuz sorulardan bazıları:‎

  • ‎Tetiklendiğinde riski tanımak için hangi telemetri var? ‎
  • ‎Ya bu yarın olursa? Son düzeltme tamamlanana kadar hangi korkuluklar veya işlemler mevcuttur?‎
  • ‎Bu geçici azaltmayı yapmak ne kadar sürer ve otomatik midir? Otomatik hale getirebilir mi? Neden olmasın?‎
  • ‎Hafifletme test edildi mi? En son ne zaman test ettin?‎
  • ‎Örneğin, kritik bağımlılıklarınızda bir kesinti varsa, mümkün olan en fazla esnekliği eklediğinizden emin olmak için ne yaptınız? Onların rehberliğini takip ettiğinizi ve en son kitaplıklarını kullandığınızdan emin olmak için bu bağımlılıkla çalıştınız mı?‎
  • ‎Daha esnek olmak için SGS’de artış isteyebileceğiniz yerler var mı?‎
  • ‎Maliyet veya karmaşıklık nedeniyle veya kaynaklarınız olmadığı için hangi azaltmaları yapmıyorsunuz?‎

‎Risk Azaltma Planları belgelendi, ortak çözümlerle hizalandı ve izlendi. Azaltıcı etkenlerin uygulanması için daha fazla geliştiriciye veya paraya ihtiyaç duyacağını belirten herhangi bir ekeğe, dayanıklılık ve kalite bağlamında istemek için bir forum sağlandı. Hizmeti mümkün olduğunca esnek hale getirmek için gereken tüm görevler için iş öğeleri oluşturuldu ve bunların tamamlanmasını takip edebilmemiz için belgelediğimiz risklere bağlandı.‎

‎Ama riski doğru bir şekilde önlediğimizi nereden bileceğiz? “Doğru” azaltma stratejilerinin ne olduğunu nasıl bileceğiz? Aldığı iş miktarını nasıl azaltabilir ve herkesin aynı sorunu özel bir şekilde çözmesini nasıl engelleyebiliriz?‎

‎Tüm hizmetlerde tüm risklerden oluşan merkezi bir depo oluşturduk‎

‎Riskler Tehdit Modelleri merkezi olarak yakalandığında ve analiz edildiğinde daha etkilidir‎

‎Eğer her takım ölüm sonrası ölümlerini analiz edip, bir ölüm öncesi çalışması yaparsa, bir risk tehdidi modeli oluştursa ve sonra her şeyi ayrı ayrı belgelese, hiç şüphe yok ki, sahip olduğumuz kesintilerin sayısını azaltabiliriz. Ancak, ekiplerin bulduklarını başkalarıyla paylaşmaları için bir yol bulamadığımız için, risk verilerindeki daha geniş kalıpları anlama fırsatlarını kaçırmış olurduk. Bir hizmetteki riskler genellikle diğer hizmetlerde de riskti, ancak şu veya bu nedenle, risk altındaki tüm hizmetlerin risk tehdidi modellerine girmedi. Ayrıca, bir hizmetteki bitmemiş onarımların veya risklerin diğer hizmetler için risk olduğunu fark etmezdik. Yeni bir hizmet ortaya çıktığında bu riskin başka bir yerde görünmesini önleyecek kalıpları belgeleme şansını kaçırmış olurduk. Bir önsezinin kapsamının bireysel hizmet sınırlarıyla sınırlı olmaması, bunun yerine belirli bir müşteri senaryosu için birlikte çalışan tüm hizmetler arasında yapılması gerektiğini fark etmezdik. Ortak azaltma stratejileri önerme ve aynı azaltma planını kullanarak azaltıcı etkenleri uygun ölçekte ele almak için geniş çabalara yatırım yapma fırsatlarını kaçırırdık. Kısacası, hizmet sınırları boyunca çok sayıda yatırımı bilgilendirmek için birçok fırsatı kaçırmış olurduk.‎

‎Riskleri kategorize etmenin ortak bir yolunu uyguladık‎

‎Bazı durumlarda, ne tür riskler bulduğunu anlamamız gerektiğini biliyorduk. Tek Başarısızlık Noktaları miydi? Yetersiz yapılandırılmış azaltma mı? Bu amaçla, odaklanmak istediğimiz sorun kategorilerini tanımlamak için kullanılan hiyerarşik bir steno “etiketleri” sistemi oluşturduk. Bu etiketler, ortak kalıpları tanımlamak için ölüm sonrası işlemleri analiz etmek ve doğru eylem planlarını belirlemek için aynı kategorilerdeki risklere daha iyi bakabilmemiz için bireysel riskleri işaretlemek için kullanıldı.‎

‎Risk Tehdidi Modelleri hakkında düzenli incelemeler yaptık‎

‎Tamamlanmış Risk Tehdidi Modellerine sahip olmak, üst düzey liderlik, mimarlar, özel Azure Kalite Ekibi üyeleri ve diğerlerinin önünde incelemeler planlamamızı sağladı. Bu toplantılar gözden geçirmelerden daha fazlasıydı, ortak çözümlere, azaltıcı etkenlere ve takip eylemlerine ihtiyaç duydukları alanları belirlemek için farklı bir ekip olarak bir araya gelme fırsatı sağladılar. Eylem öğeleri toplandı, sahipler atandı ve riskler daha sonra ekiplerin nasıl ilerlediğini belirlemek için yolu takip edebilmemiz için eylem planlarıyla ilişkilendirildi.‎

‎Her şey bir araya geldi, bir sonraki seviyeye çıkarma ve bunu yüzlerce hizmet için yapma zamanı!‎

‎Özetle, riskleri belirlemek ve belgelemek için bir programı döndürmekten daha fazlası gerekmiştir. İlham vermemiz gerekiyordu, ama aynı zamanda bu çabadan en iyi şekilde elde etmek için doğru süreçlere sahip olmamız gerekiyordu. Birçok programda koordinasyonu ve diğerlerinin yaratılmasını aldı. Çok fazla hizmet-takım içi iletişim ve bağlılık aldı.‎

‎Dayanıklılık tehdidi modelleme Programını hızlandırmak, kritik Azure hizmetlerimiz için birçok avantaj sağladı, bu nedenle bu işlemi Azure’daki her hizmeti kapsayacak şekilde genişleteceğiz. Bu amaçla, sürecimizi, belgelerimizi ve rehberliğimizi sürekli olarak iyileştiriyoruz ve yeni riskleri ele almak için geçmiş risk tartışmalarından yararlanıyoruz. Evet, bu çok fazla iş ve gümüş kurşun yok ve hala bu çabaya daha fazla kaynak getiriyoruz, ancak güvenilirlik söz konusu olduğunda, “büyük git”e inanıyoruz! ‎

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Fill out this field
Fill out this field
Lütfen geçerli bir e-posta adresi girin.
You need to agree with the terms to proceed

Menü