Yapay zeka sistem yöneticilerinin yerini mi alacak?
Sistem yönetmek komplike ve streslidir.
Birkaç yıl öncesine kadar, bu son derece sofistike iş sadece sistem yöneticilerine emanet ediliyordu. Ancak yazılım sayısının hızla artması, sistemlerde işlenen veri büyüklüğünün de artmasına neden oldu. Bu da sistemlerin salt insan zekasıyla yürütülebileceğine olan güveni azalttı.
Bir süredir sistem yönetimi işinde, mümkün olabildiğince insan faktörünü ortadan kaldırmak hedefleniyor. Bunun için, sistem yöneticilerinin yerini alabilecek yapay zeka tabanlı uygulamalar ile destek çözümler aranıyor.
Her ne kadar “Yapay Zeka” kavramı kulağa heyecan verici, fütüristik ve biraz da tekinsiz gelse de, “Yapay zeka sistem yöneticilerinin yerini mi alacak?” diye sormadan önce, soru işaretleri yaratan işlenen veri büyüklüğü kavramına değinelim.
Bir otomobilin sürücüsüz kullanılabilmesi için işlenmesi gereken veri miktarı sizce ne kadardır ?
Bir otomobilin, tam otomasyon ile (manüel herhangi bir arayüz olmadan tamamen araç sürüyor) hareket edebilmesi için, sürüş esnasında toplanan analog verinin işlenmesi yani bilgiye dönüştürülmesi gerekiyor.
Bu, üç adımda gerçekleşiyor:
- Analog elde edilmiş veriler, dijital veriye dönüştürülür.
- Kameralar, radarlar ve Lidar gibi daha sofistike cihazlar ile, ortaya çıkmış olan büyük veri (Big Data) yapısal ve ilişkisel olarak organize edilir.
- Dijital halde organize edilmiş veriler, merkezi işlem biriminde ilişkisel olarak bilgiye dönüştürülür.
Bu üç basamaklı işlem için kullanılan tüm teknolojiler, merkezi işleme ünitelerinde Reliability Engineering prensipleri ile çalışıyor. Ayrıca, yedekli ve çok katmanlı alt sistemler ile de destekleniyor.
Bu demektir ki,
Üç saatlik otonom sürüş için işlenmesi gereken veri miktarı 50 TB civarında. Aynı miktar verinin dakikalar içinde oluştuğu uçaklarda ise, durum daha da karmaşık ve işlenecek veri miktarı daha da fazla.
Yani, tam otomasyon(yapay zeka) ile sürüş, çok ciddi paralel işlem yapabilen işlemciler ve ciddi büyüklükte disk kapasiteleri gerektiriyor.
Peki bir sistem yöneticisi, işini yaparken günlük olarak ne kadar verinin işlenmesi gerekiyor?
Öncelikle, sistem yöneticisinin uğraştığı tüm verinin dijital olduğunu hatırlayalım. Yani, verinin anlanması ve çevrilmesi gibi bir işlem söz konusu değil. Bu durumda,
- Sunucular için oluşabilecek en büyük veri büyüklüğünün 1-5 GB arasında,
- Çok büyük(Hibrit, Cluster..) platformlarda ise işlenecek veri büyüklüğünün 100GB civarında olduğu söylenebilir.
Yani, otonom araçlara kıyasla çok daha küçük bir veri büyüklüğünden bahsediyoruz.
sistem mühendisleri yerine yapay zeka
Öyleyse, bu durum işleri kolaylaştırıyor mu? Günümüzde kullanılan en popüler yapay zeka tabanlı sistem yönetim çözümleri, sistemlerimizi tam otomasyonda sorunsuz bir şekilde çalıştırabiliyor mu? Bunlara bir göz atalım.
Otomasyon
2000 lerin başından itibaren, herşeyin otomasyon üzerinden yapılacağına ve sistem yöneticilerine eskisi kadar ihtiyaç duyulmayacağına inanılıyordu.
Eğer kendi sistemlerinizi yönetiyorsanız bu doğrudur! Google, AWS veya Facebook’un yaptığı gibi, tüm sunucularınızda aynı işletim sistemi ve benzer donanımlar kullanılıyorsanız, yapmanız çok da zor değil…
Ancak, otomasyon kullanırken standartın dışına ne kadar çok çıkarsanız, o kadar çok benzersiz ortam yaratırsınız. Bu benzersiz ortamlar, benzersiz sorunlar doğurur ve bunları çözmek için hep yandan kapılar açmanız gerekir.
Yönettiğiniz sistemlerde otomasyon kullanıyorsanız, herbir sunucuyu teker teker yönetebilme kuralının dışına çıkmış olursunuz. Çünkü, çok basit bir parametre değişikliği bile, sistemi otomasyon tarafından yönetilemeyecek kadar komplike hale getirebilir. Bu durum pratikte şöyle gelişir:
- Sistem mühendisi, parametre değişikliğini, sunucuda manuel olarak ve planlanmış değişiklik zamanında yapar.
- Kontrollü bir şekilde veritabanı servisini kapatıp açar
- Değiştirilmiş parametreyi sanki otomasyon bu değişikliği yapmış gibi otomasyona tanıtır.
Sonuç olarak, sistemin karmaşıklığı çok daha fazla artmıştır ve artık sürekli güncellemek gereken bir otomasyon veritabanı vardır.
Geliştirdiğiniz belli PHP Otomasyon Manifest rutinlerinin, yeni işletim sisteminde düzgün çalışmadığını düşünün. Rutinlerin yeniden yazılması gerekir. (Problemin hızlı ve geçici çözümü, yeni işletim sisteminizi downgrade etmeniz ve eski paketleri kullanmanız olabilir. Fakat müşteriniz bu durumu kabul etmeyebilir.)
Ancak, otomasyon ve sürüm yönetimi ile, her müşteri için farklı sürümlere sahip otomasyon rutinleri geliştiremezsiniz. Böyle bir durumda her müşterinize özel platform yaratmış olursunuz. Otomasyonun temel amacı, standardize etmek iken, siz, olabildiğine farklı sürümlere sahip benzersiz yapılar yaratırsınız.
Müşterilerinizin kullandığı teknolojiler, yeni özellikleri kullanmanızı gerektiriyorsa güncelleme yapmanız gerekir. Eğer çalışan bir otomasyon sisteminde sadece kendiniz için geliştirdiğiniz rutinler ve özelleştirmeleriniz varsa, güncelleme halinde bunlardan kaynaklanan problemlerle karşılaşılabilmeniz olasıdır.
Herşey Bulutta stratejisi
Günümüzde en yaygın kullanılan ilk üç bulut platformu AWS, Azure ve GCP. Bu platformlara geçiş hızla devam ediyor ve bu şekilde devam edecek gibi de görünüyor. Bunun zaman içinde başarılı sonuçlar üretip üretmeyeceğini zaman gösterecek.
Yazılımcılar için, yazdıkları programı bir bulut platformuna yüklemek, sistem yönetimi ile ilgili tüm sorumluluğu bir firmaya yüklemek ve sistem yöneticilerini aradan çıkarmak demek oluyor. Ancak büyük bulut sağlayıcı firmaların kullandıkları hazır ürünler, ne kadar mükemmel olursa olsun, çoğu zaman özelleşmiş problemlere cevap üretemiyor.
AWS, Azure ve GCP, bulut platformlarına, kendi ürettikleri ürünler yanında dünyadaki diğer sistem yöneticilerinin ürettiği niş çözümleri de hızlı bir şekilde eklemeye çalışıyorlar. Ancak sorun şu ki, sektör daha hızlı gelişiyor ve çoğu ürün bir kaç ay içinde geçersiz hale geliyor.
Ayrıca, açıkça belirtilmeli ki, AWS,Azure ve GCP’de bulut platformuna hizmet ve ürün üreten kişiler de esasen birer sistem mühendisi. Sadece SRE (System Reliability Engineer) olarak anılıyorlar…
Microservisler (Kubernetis veya Openshift)
Son günlerde, sistem altyapısının bulut platformundan bağımsız (Agnostic) olarak çalışması için, mutlaka mikrosunucular üzerinde çalıştırılması gerektiğine inanılıyor.
Ancak bu, doğru değil! Çünkü,
- Kullandığınız tüm servisleri mikroservis haline getirmeniz mümkün değil
- Monolit çalışan (tek servis-tek sunucu) servisler, sistem yönetimi için çok daha avantajlı
Eğer sisteminizde, yüzlerce servis, entegre bir şekilde çalışmak zorunda değilse, kesinlikle mikroservisler size göre bir çözüm değildir. Yeni servisler ve sunucular için, 12-Faktör geliştirme prensibine göre uygulama geliştirmeniz durumunda mikroservisleri kullanabilirsiniz.
Aslında, yönetilecek her sistem, özelleştirilmiş bir sistem yönetimini gerektirir. Yapay zeka tabanlı sistem yönetimi çözümlerinin ise, barındırdıkları problemleri ile şu an için buna tam anlamıyla cevap verebildiği söylenemez. Ayrıca bunları aşabilmek için, sistem yöneticilerinin Google aramasıyla bulduğu çözümler, sistemleri daha da kırılgan hale getirmeye devam ediyor.
Resim: Jacqueline McCray/www.unsplash.com