Bu sorudan esinlenerek , tersine soruyorum: sistem yöneticilerinin programlama hakkında ne kadar bilmesi gerekir? Daha spesifik olarak, bir sistem yöneticisinin sahip olması için hangi programlama araçları yararlıdır?
Bu sorudan esinlenerek , tersine soruyorum: sistem yöneticilerinin programlama hakkında ne kadar bilmesi gerekir? Daha spesifik olarak, bir sistem yöneticisinin sahip olması için hangi programlama araçları yararlıdır?
Yanıtlar:
Şununla başlıyorum:
Sistem yönetimi sadece programlama. Yapılandırma yönetim sistemi tüm altyapınızı dağıtılmış bir makine olarak görmenizi sağlar. Bir sistem yöneticisi olarak işiniz bu makineyi programlamaktır.
Bir metin düzenleyiciyi tanıyın. Genellikle sistem yöneticileri için vi, programcılar için emacs.
Senaryo yazmayı bilir. Bir komut dosyası dili seçin. Perl, kabuk / sed / awk combo gibi çok yıllık bir favori. Ruby ve Python çalışabilir, ancak birçok şey için nesneler yanlış paradigmadır.
Okunabilir belgelerin nasıl yazılacağını bilin.
Sürüm kontrolü. Yapılandırma dosyalarının ve denetim yollarının bakımı için çok önemlidir.
Programlama açısından düşünmeyi öğrenir. Prosedürel, nesne yönelimli ve fonksiyonel programlama paradigmalarını kavrar. Bunlar asla kullanılamaz, ancak bunları bilmek sizi sonsuza dek daha üretken yapar.
Bir hata ayıklayıcı (veya daha fazla) ve günlüğe kaydetmeyi öğrenin.
RDBMS kullanmayı öğrenin. RDBMS'yi doğru kullanarak basitleştirilebilecek birçok veri işleme gereksinimi vardır. Talep üzerine bir DBA rolüne geçebilmek bile harikalar yaratabilir.
Dağıtımdan önce test edin. Test odaklı geliştirme felsefesine bakın.
Çift programlama iyidir. Öğrenmek / tavsiye etmek / düzeltmek için bir başkasının omzunuzun üzerinden bakmasını sağlayın.
En azından bir grup dile aşina olmayı öğrenin. Her yıl yeni bir dil öğrenin.
Komut dosyası yazmak çok önemlidir, ancak bazı "gerçek" dilleri bilmenin kesin bir bonus olduğu yönündeki tavsiyeye ikinciydim. Örneğin, .NET System.DirectoryServices ad alanı ile çok faydalı şeyler yapabilirsiniz.
Programcı ve kıdemli yönetici / entegratörüm. Yaptığım yerde çalışmak için aşağıdakileri bilmeniz gerekir:
Junior yöneticilerin çoğu programcılarımızdan birine bakabilir ve (yetki ile) diyebilir, evet, doğru bir şekilde kurdum, işte burada bir sızıntı var, bu yüzden ittiğiniz kod kırılıyor. Ya da "Hayır, onun değil MySQL bizim versiyonu, burada sorguya bakmak ..."
Bence biraz farklıyız, yetenekli bir yönetici tuttuğumuzda .. onların (çalışmak için ihtiyaç duydukları şekilde çalışmak için kullandığımız bir şeyi hack etse bile, programlama yollarını bulmalarını yarı yarıya bekliyoruz) .
Özetle, iyi yuvarlanmış olmak size asla zarar vermeyecektir .
Yıllar önce (aslında Windows NT 3.1) Yazma hizmetleri ve hatta ara sıra aygıt sürücüsü konusunda uzmanlaşmış bir programcı olarak başladım. Bu, Windows çekirdeğini çok iyi tanıdığınız anlamına gelir. Zamanla programlamadan biraz sıkıldım ve ağ yönetimine geçtim. Programlama konusundaki geçmişimin tekrar tekrar immensley değerli olduğunu gördüm.
Sadece VBScript betikleri yazmak nispeten ağrısız değildir. Windows bağırsaklarının nasıl çalıştığını ve özellikle IP'nin nasıl çalıştığını bilmek, garip sunucu ve ağ sorunlarının çözülmesine büyük ölçüde yardımcı olur. Ayrıca bir zihniyet. Programcılar dokümantasyon ve sürüm kontrolü için kullanılır ve kaç Windows yöneticisinin işe yarayıp yaramadığını görmek için bir şey deneyeceğini ve sonrasında karışıklığı çözmekten endişe duymamı korkutuyor.
Hepsi çok iyi, ama git ve on yıl boyunca programcı olarak çalışmak çok yararlı bir tavsiye değil! Ancak çoğu sysadmins C ++ veya C # gibi "zor" bir dilde programlama deneyimi olması için yardımcı olacağını düşünüyorum. Ve kuruluşunuzda uysal programcılarınız varsa onlarla içmeye gidin!
John Rennie
Kötü şeyler olur, kodunuz sandığınızdan daha uzun olacaktır. Yararlı hata mesajlarıyla zarif bir şekilde başarısız olun. Disk, ram, cpu, zaman, vb.
O kadar iyimser olmayın, milyonlarca meselede bir kez tuhaf olan, üretimde çok sık olacaktır.
Buradaki tüm açıklamalarla, ben bir sistem yöneticisi olduğumu söylemeyeceğim. Ama birkaç windows / linux sunucusu inşa ettiğim ve yönettiğim için, bir şeyi itiraf etmeliyim:
Linux'ta bash komut dosyası bilmek bir zorunluluktur - perl / awk / etc ile nasıl entegre edeceğinizi biliyorsanız, daha iyidir. Birçok görevin bunu kullanarak kolaylaştığını gördüm.
C / C ++ 'da program yapmayı bilmek çok yardımcı olur. Bazen bir GNU kaynak kodunu (birini kullanıyorsanız) ihtiyaçlarınıza göre değiştirmeniz gerekir, çünkü bir GNU ürünü olmak, ihtiyacınız olan yardımı her zaman zamanında alacağınızdan emin olmaz - ve çoğu zaman C / C ++ ile yazılır.
Komut dizisi dilinizde LDAP'nize nasıl bağlanacağınızı ve gerekli bilgileri nasıl alacağınızı bilmek, sorun giderme işleminden çeşitli otomasyon türlerini gerçekten artırmaya (hesap ve kaynak sağlama, kullanıcı veya makine hesaplarında daha akıllı denetimler) kadar her şeyin anahtarıdır.
Temel görünebilir ama millet bu tür bir sistem yönetimi için bir ihtiyaç olduğunu düşünmüyorum ekmek-n-tereyağı dükkanlar gördüm. Çok sayıda yer büyük yönetim araçlarına büyük $$$ harcıyor ve anlayabildiğim kadarıyla, araçları kullandıklarının% 95'i, eğer kimse biliyorsa veya nasıl yapılacağını biliyorsa, birkaç saatlik komut dosyasıyla yapılabilirdi yap.