"Programcı değiliz, sistem yöneticisiyiz"
Benim zamanım değişti, daha da kötüsü: benim gibi bir gri kulaklıdan profesyonel programcılardan daha iyi bir programcı olması bekleniyordu , yoksa başka bir sistem yöneticisi için geçemezdi .
Şimdi, temelde bir noktada Linux'a dönüştürülen ve programlayamayan ve bununla ilgili yanlış bir şey bulamayan Windows masaüstü kullanıcıları olan "sistem yöneticileri" var.
Odadaki fil, yönetimin neden bu kadar yıkıcı bir tavrı tolere ettiğidir. Kime ya da ne için yıkıcı? İşe ve altyapıya.
Kukla [, CFEngine, Chef] konusuna geri dönelim: Biri böyle bir çözüm bulur bulmaz, kaybeder. Herkes kaybeder. Neden? Çünkü fikri bulan kişi, kapsüllenmiş konfigürasyon yönetimini hoş, temiz, Kickstart [, JumpStart, Otomatik Yükleyici, AutoYaST, Ignite-UX, NIM] işletim sistemi paketleri şeklinde tasarlayamaz. Puppet (veya Chef veya CFEngine) gibi otomatik bir bilgisayar korsanlığı aracı kullanmanız gerektiğinde, bu aynı tasarımla tamamen bozulmamış ve yönetilen sistemleri tamamen tamamen aydınlatan bir süreci tasarlamanın ve uygulamanın neresinde eksik olduğunuz anlamına gelir. otomatik ve tamamen etkileşimli değil.
Bir diğer önemli nokta Kukla veya bazı tür bir çözüm olması halinde, olduğu düzeltmek birisi hack sistemi veya elle uygulama yapılandırması, bu da bir süreç tasarlama deneyimi yaşamadığınız kadar gider ve bu süreç yapılandırması paketlenir bir çerçeve içinde ayrık parçalara. Aslında, Puppet ve benzerlerini uygulayan kişi, bileşen sahipleri, sürümleri, konfigürasyon yönetimi, Yetenek Olgunluk Modeli kavramına sahip değildir. Bu, sektörde çok ciddi bir problem haline gelmekte ve hızla gelişmektedir.
Puppet'le çalışmak aynı zamanda varsayılan sistem araç dilim olarak Bash'in yerini alan Ruby'yi de öğrenmeme yardımcı oldu. "
İşletim sistemi paketlerinin ön kurulum, ön kurulum, ön kurulum ve üst son bölümlerinde, yalnızca Bourne kabuk programları, AWK ve sed kullanarak kapsüle alınabiliyorsa neden Ruby gereklidir? Birinin Ruby'nin ezoterik bir dilini ve Kukla bağlamında bir lehçesini öğrenme uzunluğuna gideceği tamamen gereksizdir. Konfigürasyon yönetimi problemi, kabuk programları ve AWK ile kolayca çözülebilir (ve tanık olmak için çözüldü) ve burada ve orada bir tutkal olarak biraz daha fazla (1) çözüldü.
Kukla tezahürünüzün bütün bir makineyi veya sıfırdan yeni bir servisi yapılandırdığını görmek harika bir duygu.
Tek bir kod satırı olmadan Kickstart, AutoYaST veya JumpStart tarafından yapıldığını görmek ve herhangi bir ezoterik veya ekstra bir yazılıma gerek duymadan , istemci-sunucu kullanmadan, yerleşik araçlar kullanarak işletim sistemini sorgulayabilmek daha serin bir şey. mimarlık gerekli (SSH gayet iyi, gayet iyi), işletim sisteminizde yapılan her değişikliğin farkında.
5. verilerden ayrı kod. Bu, öğrenilmesi zor olan kavramlardan biridir. Modül kodunuza İzleme Konakları gibi kodlama değerleri bozuk. Onları bir veri deposuna koymak (db, yaml (Hiera bunu varsayılan kullanır), csv, ne olursa olsun) modüllerin tüketebileceği kadar iyidir. Bir örnek, Mysql kullanan bir webapp. Buna izin veren, kod ve verileri ayrı ayrı itme yeteneğidir. Bu, geliştirme sürecinizi kolaylaştırır.
... Ya da sadece olabilir şablon (örneğin kabuk değişkenleri, hatta backquotes ile konfigürasyon dosyalarını ls -1 ...
) ve böylece güçlü tam aynı yararlanarak, (1) eval arayıp şablonda tüm değişkenleri genişletmek için AWK kullanan bir kabuk senaryo yazmaya hangi mermilerin yerleşik olduğu ayrıştırıcı. Gerçekten, gerçekten basit olabildiğinde neden karmaşık yapıyorsun? Yapılandırma değerlerini nerede saklayacaksınız? Neden, lütfen istediğiniz yerde, örneğin pkginfo (4) dosyaları veya Oracle gibi bir veritabanı veya hemen hemen her yerde . Ultracomplex çözümlere gerek yok. Yukarıda bahsettiğim kütüphane basitçe işletim sistemi paketlerindeki ön kurulum veya son kurulum bölümlerinden kaynaklanabilir , böylece çoğaltmayı kaldırabilir ve merkezi bir kod parçasından yararlanabilirsiniz ...
Ancak her şeyden önce, yukarıdaki teklifin sistem yöneticileri tarafından değil, sistem mühendisleri tarafından özel ders verilmesi gereken yeni nesil sistem yöneticilerinin bir örneği olduğunu buluyorum . Kendine bir tazı bul ve çırak olarak giriş yap.