Mimari Kendi Kendini İyileştiren Sistemler Hakkında Bize Ne Öğretebilir?

Mimari Kendi Kendini İyileştiren Sistemler Hakkında Bize Ne Öğretebilir?

Kaynak Düğüm: 1988904

DevOps ekipleri ve site güvenilirlik mühendisleri (SRE'ler) günlük olarak kodla ilgilenir. Bunu yapmak onlara dünyalarını incelemeyi, zekice gözlemler yapmayı ve beklenmedik bağlantılar kurmayı öğretir. Sonuçta, doğası gereği son derece mantıklı ve matematiksel olmasına rağmen, yazılım geliştirme en azından kısmen bir sanat biçimidir. 

Bu açıklamaya ikna olmadınız mı? Tarihin en dikkat çekici mimari başarıları ile modern yazılım mühendisliği arasındaki paralellikleri düşünün. Uygun bir karşılaştırma: Tıpkı yazılım mühendisliği gibi mimarlık da güzel bir şey yaratmak için karmaşık matematiksel hesaplamalar kullanır. Ve her iki disiplinde de ufak bir yanlış hesaplama önemli sonuçlara yol açabilir. Büyüleyici bir şekilde, birçok ünlü mimari hata, kodda bulduğumuz sorunlara benziyor.

Unutmayın, nereye bakacağınızı bildiğiniz sürece ilham her yerdedir. İşte yazılım mühendislerinin, özellikle kendi kendini iyileştiren sistemlerin geleceği ile ilgili olarak, yüzyıllar boyunca mimari aydınlanmalardan öğrenebilecekleri birkaç ders.

Ders 1: Edge vakaları her zaman sistem güvenlik açıklarından yararlanır

Şimdiki adı 601 Lexington olan Citicorp Tower, 1977'de New York City'deki inşaatını tamamladı ve o sırada dünyanın en yüksek yedinci binasıydı. Gökdelenin son teknoloji ürünü tasarımı, üç adet 100'den fazla ayak ayağı içeriyordu. Tamamlanması bir mucizeydi. Ancak, bir lisans öğrencisi çok geçmeden sarsıcı bir şey keşfetti: Kuvvetli rüzgarlar binanın bütünlüğünü tehlikeye atabilir. Spesifik olarak, güçlü dörde bölen rüzgarlar Citicorp Tower'ın köşelerine çarparsa, yapı çökmeye maruz kalıyordu - gerçek bir gerçek. uç durum.

Kulenin her yıl 16'da bir çökme şansı vardı. Bu oranlar, bir kumar masasında oturan birini baştan çıkarabilir, ancak Citicorp Tower'ın arkasındaki mimarlar ve inşaat mühendisleri için durum iç karartıcıydı. Neyse ki, teknisyenler binanın cıvatalı bağlantılarını güçlendirmeyi başardılar. Felaket önlendi.

İnşaat mühendisleri, Citicorp Tower'ın eninde sonunda yönünü tehlikeye atacak kadar güçlü bir rüzgarla karşılaşacağını biliyorlardı. Benzer şekilde, deneyimli yazılım mühendisleri, sağlam uygulama performansı izleme (APM) ve olay yönetiminin bir sistemi kaçınılmaz uç durumlardan korumak için yeterli olmadığını bilirler. Bunun nedeni, statik sistemlerin makine öğrenimi (ML) yetenekler, çeyrek rüzgarlar gibi beklenmedik ve planlanmamış yeni durumların üstesinden gelemez. Yalnızca izleme araçlarına güvenildiğinde, bir insan yöneticinin hataları çözmesi ve olay yönetimi sürecini hızlandırması gerekir.

Ortalama kurtarma süresini (MTTR)/ortalama algılama süresini (MTTD) azaltmak için DevOps ekipleri uç durum vakalarının yüksek olasılığını kabul etmeli ve kendi kendine öğrenen çözümleri önceden dağıtmak için çalışmalıdır. Öngörü mühendislikte kritik öneme sahip olduğundan, bu ders uzun bir yol kat ediyor.

Ders 2: "Uçağı uçarken inşa etmek" hiç bitmeyen bir döngü yaratır

Trajik olaylar birkaçını teslim etti havacılık tarihinin en önemli dersleri. 1954'te bir uçak uçuşunun ortasında büyük bir dekompresyona maruz kaldığında ve düştüğünde, mühendisler kare yolcu pencerelerinin gereksiz bir stres noktası olduğunu tespit ettiler. Bundan böyle, uçaklar yuvarlak pencerelerle donatıldı. Uçakta çıkan yangınlar, tahliye kolaylığına öncelik veren yeni oturma düzenlemelerine yol açtı. Bu değişiklikler sayısız hayat kurtardı.

Pek çok sektörde - havacılık dahil - bir ürünü kapsamlı bir şekilde stres testine tabi tutmanın bir yolu yoktur. Daha önce de belirtildiği gibi, Edge vakaları kaçınılmazdır. Buradaki en büyük çıkarım, yazılım mühendislerinin kendilerini tanıtırken sistemlerinin güvenlik açıklarına dikkat etmeleri gerektiğidir. Oradan, onlara uygun bir şekilde hitap etmelidirler. Bunu yapmak iki şey gerektirir: (1) doğru temel performans göstergelerini (KPI'lar) belirlemek ve izlemek ve (2) ilgili ölçütlere dayalı olarak sistemleri iyileştirmek için zaman ve kaynak yatırımı yapmak.

Ortalama bir mühendislik ekibi 16 ila 40 izleme aracına yatırım yapar, ancak genellikle başarıyı gösteren ölçütleri kaçırırlar. Ekiplerin %15'inden azı MTTD'yi takip ediyor, dolayısıyla olay yaşam döngüsünün %66'sını kaçırıyorlar. Ve ekiplerin dörtte biri rapor veriyor hizmet düzeyi sözleşmelerini (SLA'lar) eksik Kullanılabilirlik takibine yapılan önemli yatırımlara rağmen. Bu bize, veri toplamanın kesin, sistematik analize ihtiyaç duyduğunu, nokta çözümlerinin artık yeterli olmadığını söylüyor.

Yazılım mühendisleri, DevOps ekipleri ve SRE'ler, kullanılabilirlik hakkında çok büyük miktarda bilgiden değer çıkaran süreçlere ve araçlara öncelik vermelidir. Kritik bir hatayı basitçe gözlemlemek yerine, bir havacılık mühendisinin kitabından bir sayfa alıp kritik kararları hızla almaları gerekiyor. Bunu yapmanın sırrı yapay zekada yatıyor.

3. Ders: Yapay zeka, kendi kendini iyileştiren sistemler için temel bir yapı taşıdır

Tamamen otonom, mükemmel işleyen, kendi kendini iyileştiren bir sistem, her yazılım mühendisi için idealdir. Kendi kendine yama uygulayan sistemler, tüketicinin karşı karşıya kaldığı maliyetli arıza sürelerini ortadan kaldırdıkları için müşteri memnuniyeti açısından iyidir. Ayrıca, sıkıcı bilet yönetimi ihtiyacını önemli ölçüde azalttıkları için BT hizmet yönetimi (ITSM) işlevleri için inanılmaz derecede faydalıdırlar. Böyle bir sistem oluşturmak, çoğu şu anda erişilemeyen birkaç bileşen gerektirir. Ancak kendi kendini iyileştiren bir gerçekliğe bazılarının fark edebileceğinden daha yakınız.

Yapay zekanın yaygın olarak benimsenmemesi, kendi kendini iyileştiren sistemlerin bugün karşılaştığı en büyük engel olmaya devam ediyor. Birçok işletme ilkel yapay zeka veya makine öğrenimi tabanlı araçları benimsemiş olsa da, bu araçların bütünlüğü sorgulanabilir. Yani birçok mühendis, BT operasyonları için yapay zeka Otonom yapay zeka algoritmaları yerine kurallara dayalı otomasyon mantığını izleyen (AIOps) teknolojileri. Aradaki fark çok küçük görünebilir, ancak pratikte bu, üretkenlik kaybıyla harcanan saatler ile milyonlarca olası kayıp arasındaki farktır.

Mesele şu ki, kurallara dayalı AIOps araçları, farklı nokta çözümleri arasındaki etkileşimleri analiz eder ve muhtemelen yaygın veri hatalarını belirleyebilir. Ancak otomasyona dayalı sistemler, zaman içinde tamamen yeni hataların gelişimini işleyemez ve verilerdeki yeni arızaları tahmin edemez. Bunun nedeni, bu işlevleri kodlayan insan yöneticilerin sistemden bir eğer buysa, o zaman bu mantık kalıbı. Gerçekten verimli AIOps araçları, yeni ve sorunlu kalıpları insan teknisyenler onların varlığından haberdar bile olmadan sınıflandırarak dört klasik telemetri noktasının hepsinde ortaya çıkan hataları (tespitten çözüme kadar) azaltır. 

Biz beklerken AI'nın yakında üçüncü dalgası, AIOps'un bu versiyonu kendi kendini iyileştiren sistemlere en yakın halimizdir. Mevcut AIOps uygulamalarının, tamamen gerçekleştirilmiş otomasyon ve bağımsız düşünce olasılıklarını içerecek olan AI'nın geleceğine nasıl sızdığını izlemek ilginç olacak. Belki o zaman yapı mühendisleri de yapay zeka tabanlı, kendi kendini iyileştiren bir sistemin meyvelerini toplar.

Zaman Damgası:

Den fazla VERİLER