Her programcının bilmesi gereken ne sysadmin?


96

Bir programcı olarak, verilenler için sistem yöneticileri almaya meyilliyiz. İyi bir sysadmin olmadığım birkaç kez, yaptığınız şeyi takdir etmemi sağladınız. Sisadminsiz bir ortama girerken, bize hangi bilgelik sözlerini sunabilirsiniz?

Yanıtlar:


70

Şununla başlardım:

  1. Her zaman bir çeşit yedekleme sistemine sahipsin. Bir geçmişi varsa daha da iyi.
  2. Tek başarısızlık noktalarını ve başarısız olmaları durumunda bunlarla nasıl başa çıkacaklarını düşünün.
  3. Katılan bilgisayarların miktarına bağlı olarak, bilgisayarlar arasında standart bir görüntü oluşturmak ve oluşturmak için bir yol aramak herkesin hayatını kolaylaştıracak - hayır "benim üzerinde çalışıyor" çünkü böyle bir program ve normalde kurulmamışlar.
  4. Nedeniyle yalnızca, her şeyi Belge olacak bir şey ayarladı nasıl unutur.
  5. Güvenlik güncellemelerinden haberdar olun.

11
Tüm adımları belgelemek iyi sysadmins görmek gördüm ve kendim yapmaya başladım. Gerçekten çok yardımcı oldu.
Nathan DeWitt,

2
Kendini belgeleme sistemleri düşünün. Örneğin, iyi yorumlanmış bir Zone dosyası kanonik bilgi kaynağı olduğunda, neden bir metin dosyasında veya wiki'deki ana bilgisayar adlarının bir listesini saklıyorsunuz?
Dave Cheney

3
Dave, bu iyi yorumlanmış Zone dosyasına herkes erişebilir mi? Eğer gemide yeni bir kişiysem, her şeyin her yerde belgelenmesi yerine "tüm cevaplarınız için bu wiki'ye gidin" denmesi daha kolay değil mi? DNS, DNS ayarlarında belgelenmiştir. config dosyası. Veritabanı, veritabanı yapılandırma dosyasında belgelenmiştir. " Bu bana çok ... düşmanca görünüyor.
Nathan DeWitt

5
Nathan, Dave: İşin püf noktası, wiki'yi kanonik kaynaktan güncellemek için bir senaryo kullanmak. Benim için harikalar yarattı, gerçekten üzgünüm, çalıştığım yerde kullanamıyorum.
Anders Eurenius

6
Buna eklerdim: Bir test sistemi kurun. Başarısızlığın bir seçenek olduğu bir ortama ihtiyacınız var. Bunun için VirtualBox çalıştıran sunucum var, ancak sunucular mevcut olmadığında kişisel iş istasyonumu kullandım
Mark Porter

44

<buraya büyük sorumluluk reddi beyanı ekleyin>

Bunlardan bazıları daha önce söylendi, ama tekrar etmeye değer.

Belgeler:

  • Her şeyi belgeleyin. Eğer bir tane yoksa, radar altında bir wiki yükleyin, ancak yedeklediğinizden emin olun. Gerçekleri toplamaya başlayın ve bir gün büyük bir resim oluşacak.

  • Her bir mantıksal öbek için diyagramlar oluşturun ve bunları güncel tutun Doğru bir ağ haritasının veya küme diyagramının beni kurtardığı sayısı sayamadım.

  • Her bir sistem için derleme günlükleri tutun, nasıl yapılacağına ilişkin yalnızca kopyala ve yapıştır komutları olsa bile.

  • Sisteminizi oluştururken, uygulamalarınızı kurun ve yapılandırın, test edin ve kıyaslama işlemlerinizi gerçekleştirin. Şimdi diskleri silin. Ciddi anlamda. Disklerin önündeki ilk megabayt 'dd' ya da aksi takdirde kutunun açılmaz olmasını sağlar. Saat geçiyor: belgelerinizin sıfırdan yeniden oluşturulabileceğini kanıtlayın (veya daha iyisi, iş arkadaşınızın belgelerinizden başka bir şey yapamayacağını kanıtlayın). Bu, Olağanüstü Durum Kurtarma planınızın yarısını oluşturacaktır.

  • Şimdi, Olağanüstü Durum Kurtarma planınızın ilk yarısına sahipsiniz, gerisini belgeleyin; Uygulamanızın durumunu nasıl geri alacağınız (dosyaları teypten geri yükleme, veri tabanlarını çöplüklerden yeniden yükleme), satıcı / destek detayları, ağ gereksinimleri, yedek donanımı nasıl ve nerede alacağınız - bunun sisteminizin geri alınmasına yardımcı olacak herhangi bir şey.

Otomasyon:

  • Mümkün olduğu kadar otomatikleştirin. Üç kez bir şey yapmak zorundaysanız, ikincisinin otomasyonunuzu geliştirmek için harcandığından ve üçüncünün tamamen otomatik olduğundan emin olun. Otomatikleştiremiyorsanız belgelendirin. Dışarıda otomasyon süitleri var - onları sizin için çalışıp sağlayamayacağına bakın.

İzleme:

  • Uygulama enstrümantasyonu saf altındır. Sistemden geçen işlemleri izleyebilmek hata ayıklamayı ve sorun gidermeyi çok daha kolaylaştırır.

  • Yalnızca uygulamanın canlı olduğunu kanıtlamakla kalmayıp, gerçekten de yapması gerekeni yapan testler oluşturun. Uyarı amacıyla izleme sistemine bağlanabilirse puanlar sizindir. Bu çifte görev yapar; Uygulama çalışmalarının kanıtlanmasının yanı sıra, sistem yükseltmelerini önemli ölçüde kolaylaştırır (izleme sistemi yeşil raporlar, yükseltme çalıştı, eve gitme zamanı).

  • Yapılması gereken her şeyin ölçütlerini ölçün, izleyin ve toplayın. Benchmarklar size ne zaman bir şey bekleyeceğinizi söyler, sihirli dumanın çıkmasına neden olur. İzleme, ne zaman bulunduğunu gösterir. Metrikler ve istatistikler, yönetim aracılığıyla yeni bir kit (taze sihirli dumanlı) almayı kolaylaştırır.

  • Bir izleme sisteminiz yoksa, bir tane uygulayın. Bonus, eğer gerçekten yukarıdaki uçtan uca testleri zorlarsanız puanlar.

Güvenlik:

  • "chmod 777" (aka tüm erişim / ayrıcalıklara izin ver) hiçbir zaman çözüm değildir.

  • 'En az bit' prensibine abone olun; Takılı değilse, kopyalanmadığında veya diskte bulunmuyorsa, tehlikeye atılamaz. "Mutfak lavabosu" işletim sistemi ve yazılım yüklemeleri, yapım aşamasında hayatı kolaylaştırabilir, ancak bunun peşinden para ödersiniz.

  • Bir sunucudaki her açık portun ne işe yaradığını öğrenin. Yenilerinin görünmediğinden emin olmak için sık sık denetleyin.

  • Tehdit edilmiş bir sunucuyu temizlemeye çalışmayın; sıfırdan yeniden inşa edilmesi gerekiyor. Yeni indirilen medya içeren yedek bir sunucuya yeniden oluşturun, yalnızca yedeklerden verileri (ikili dosyalar tehlikeye atılabildiğinden) geri yükleyin veya aynı ana makineyi yeniden oluşturmak için analizden izole edilmiş bir yere kopyalayın. Buralarda yasal bir kabus var, bu yüzden yasal caddeleri takip etmeniz gerekebileceği için koruma tarafında. (Not: IANAL).

Donanım:

  • Asla hiçbir şeyin kutuda yazanları yapacağını varsaymayın. İhtiyacınız olanı yaptığını kanıtlayın, sadece yapmazsa diye. "Neredeyse işe yarıyor" diyerek kendinizi beklediğinizden daha sık bulacaksınız.

  • Uzaktan donanım yönetimine dokunmayın. Seri konsollar ve ışıklandırma yönetimi zorunlu olarak kabul edilmelidir. Seçenek dışı olduğunuz zamanlar için uzaktan kumandalı elektrik prizleri için bonus puanları.

(Bir yana: 3'te bir sorunu çözmenin iki yolu var, biri sıcak olmak, pijamalarınızdaki bir VPN üzerinden bir dizüstü bilgisayarda çalışmak, diğeri kalın bir ceket ve veri merkezine / ofisine gitmek. tercih etmek.)

Proje Yönetimi:

  • Proje yaşam döngüsünün ilk gününden itibaren sistemi koruyacak kişileri dahil edin. Kit ve beyin zamanındaki teslim süreleri sürpriz olabilir ve olacaktır ve proje bağımlılığı haline gelecek standartlara veya gereksinimlere sahip olacaklarından (?

  • Belgeler projenin bir parçasıdır. Proje kapatıldıktan ve sistem bakıma geçtikten sonra her şeyi yazmak için asla zaman kazanamayacaksınız, bu nedenle başlangıçta programa çaba olarak dahil edildiğinden emin olun.

  • Projeye ilk günden itibaren planlanan eskime uygulayın ve proje belgelerinde belirttiğiniz kapanış gününden altı ay önce yenileme döngüsüne başlayın.

Sunucular, üretimde kullanım için uygun olduklarında belirli bir ömre sahiptir. Bu kullanım ömrünün sonu genellikle, satıcı, yıllık bakımda kiti yenilemenin maliyetinden daha fazla veya üç yıl (hangisi daha kısa ise) daha fazla şarj etmeye başladığı zaman olarak tanımlanır. Bu süreden sonra, geliştirme / test ortamları için mükemmeldir, ancak işi yürütmek için onlara güvenmemelisiniz. 2/2 yılda çevreyi tekrar ziyaret etmek, yeni kitin sipariş edilmesi için gerekli yönetim ve finansman kasnaklarına atlamanız ve eski kiti gökyüzündeki büyük satıcıya göndermeden önce sorunsuz bir geçiş uygulaması için size bolca zaman kazandırır.

Geliştirme:

  • Gelişim ve evreleme sisteminizin üretime benzer olmasını sağlayın. VM’ler veya diğer sanallaştırma teknikleri (bölgeler, LDOM’ler, rakipler) gerçek anlamda her anlamda-ama-performansında üretim klonlarını kolaylaştırır.

Yedekler

  • Yedeklemediğiniz veriler istemediğiniz verilerdir. Bu değişmez bir yasadır. Gerçekliğinizin bununla eşleştiğinden emin olun.

  • Yedekler göründüklerinden daha zor; bazı dosyalar açık veya kilitli olacak, diğerlerinde ise herhangi bir kurtarma umuduna sahip olmak için sorgulanmaları ve tüm bu sorunların ele alınması gerekiyor. Bazı yedek paketler, açık / kilitli dosyalarla uğraşmak için aracılara veya başka yöntemlere sahiptir, diğer paketlerde yoktur. Veritabanlarını diske atmak ve bu yedekleri yedeklemek bir "sorgulama" biçimi olarak sayılır, ancak tek yöntem bu değildir.

  • Testler yapılmadıkça, yedeklemeler değersizdir. Her birkaç ayda bir, rasgele bir bandı arşivlerden çıkarın, gerçekte veri bulunduğundan ve verilerin tutarlı olduğundan emin olun.

Ve en önemlisi...

Başarısızlık modlarını seç, yoksa Murphy ... ve Murphy programına uymaz.

Başarısızlık için tasarım yapın, her sistemin tasarlanmış zayıf noktalarını, onları neyin tetiklediğini ve nasıl kurtarılacağını belgeleyin. Bir şeyler ters gittiğinde her şeyi değiştirecek.


1
+1 Biri aklıma baktığı gibi - ve çok güzeldi; p
Oskar Duveborn

3
“Her şeyi yapmak için her şeyin ölçütlerini ölçün, izleyin ve toplayın. Ölçütler, ne zaman sihirli bir duman çıkacağını bekleyeceğinizi size söyler. İzleme size ne zaman söyleyeceğini söyler. duman) yönetim yoluyla. " Saf Altın
TJ Crowder

43

Kolay olduğunu farz etme. Ben sadece bir web çiftliği çalıştırabilir orada dev kutusu üzerine IIS veya Apache ayarlayabileceklerini düşünen birçok programcı biliyorum. İşin neler içerdiğini anlayın ve araştırma ve planlamanızı yapın, yalnızca sysadmin çalışmasının, uygulamanızı dağıtmak için 10 dakika içinde yapabileceğiniz en kolay şey olduğunu düşünmeyin.


7
Bunun için +1. Gerçek olduğu için kolay göründüğümüz için değil .
Gert M

Hem yönetici hem de programlama işi yapan bir general olarak, durumunuzu tamamen anlıyorum. +1
Avery Payne

4
Elbette, diğer yoldan gider, komut dosyalarının çeşitliliği ve "gerçek" programlama ile hepimizin çökertebileceği küçük yardımcı programlar arasındaki farkı gerçekten anlamayan birkaç sysadmin türü buldum.
Rob Moir

2
+1 Robert: Ya da kötü tasarlanmış bir ağ mimarisini geçici olarak çözmek için "basit bir if ifadesi" diyen sysadmin. Karşılıklı saygı ve anlayış anahtardır.
Steven Evers

27
  • Daha iyi veya daha kötüsü için, eğilimde oldukları sunucuların ve / veya ağ donanımlarının çoğunun, ikinci bir ailenin çocuklarına çok benzer olduğunu fark edin. Bunlar onların bebekleri. Onlara eğilim gösterirler, hasta olduklarında onlara yardım ederler ve onları derhal sorunlara karşı izlerler. Bu şekilde olmamalı , ancak yıllar sonra, çoğu zaman öyle . Bunları aklınızda bulundurun; ekipmanın düzgün performans göstermemesi veya beklenti ile ilgili endişelerinizi iletin. Ve anlamadığınız bir cevap alırsanız, bu dünya görüşüne göre filtrelemeyi deneyin.
  • İyi çalışma şartlarına uyun. Kulağa hoş geliyor ama altın olarak ağırlığına değiyor. Bir gün özel bir iyiliğe ihtiyacın olacak. Ve bir gün, bu sysadmin, hayatı sadece sizin için biraz daha kolay hale getirme yolundan çıkmaktan mutlu olacak, sadece bu sefer.
  • Bu çalışma ilişkisi her iki yoldan da geçiyor. Eğer sysadmin çok yoğunsa ve küçük bir senaryo veya program yazarak hayatı biraz daha kolaylaştırabilirseniz, o zaman yapın! Bunu bildiğinden daha çok takdir edecekler.
  • Çok net ol. “Bu berbat”, “aralıklı bir ağ bağlantısına sahip olmak biraz sinir bozucu, buna bakma şansınız var mı?” Kadar net değil.
  • Uygulamanızın ölçekleneceğini düşünüyorsanız, yöneticiye uygulayacağını varsaymadan önce sorun . Bilmediğiniz bir şeyi "görebilir" veya kuracağınız ekipmanın performans sınırlarıyla ilgili bir şey biliyor olabilirler.
  • Uygulamanızın ayarlanması gerekiyor, ancak kod sorunu gibi görünmüyorsa, sunucuların nasıl performans gösterdiğini güzelce sorun. Sysadmins, makinelerine sevgi dolu bir özen göstermekte ve "hasta" veya "yaramaz" olduklarında memnun olmamaktadır. Nazikçe sormak bir eğirme makinesini etrafında döndürür (veya tamir ettirir / değiştirir).
  • (başka bir yerde de belirtildiği gibi) kullandığınız ayarları ve bunları neden kullandığınızı belgeleyin . Sadece "set checkbox X" veya "uncomment config dosya satırı Y" olması yardımcı olmaz. Bir sonraki önyüklemedeki tüm verilerinizi, bildiğiniz tümüyle silen seçeneği ayarlıyor olabilirsiniz.
  • Ayarı kağıt üzerinde belgelemek için zamanınız yoksa, mümkünse sistemde belgelendirmeyi deneyin. Config dosyalarında bu neredeyse standart bir uygulama olmalıdır - her ayar değişikliğinde, ilk ayarlarla, bu ayarın beklenen etkisi ve neden değiştirildiği ile tarih yazılmalıdır (önceki madde işaretine bakınız). Bu küçük alışkanlık pastırma krizi sırasında bir kereden fazla kurtardı. "Bunu neden yaptık?" "Çünkü X politikasını zorunlu kıldık ve Y ayarı bize X politikası için ihtiyacımız olan davranışı veriyor".
  • Bira. Veya Kola. Hatta su. İçecekler her zaman memnuniyetle karşılanır. Bir sysadmin olmak susamış bir iştir.

3
Yapılandırma dosyası dokümantasyonu / değiştirme sorunu için tüm yapılandırma dosyalarını sürüm kontrol sistemine koymanızı öneririz. Programcıların bunu yapması çok kolay olmalı, çünkü umarım zaten kaynak kodları için böyle bir sistemi kullanıyorlardı. Ne zaman bir değişiklik yaparlarsa bir yorum eklerlerse, tarihe geri dönüp neyin ne zaman neyin değiştiğini görmek kolay olacaktır.
Anders Sandvig

Bunun için +1, değişim yönetiminde "döngüyü kapattığı" için. Harika öneri.
Avery Payne

2
Net hata raporları vermek için mükemmel öneri. Hiçbir şey beni bir sorun olduğu söylendikten sonra daha fazla sinirlendiremez ve potansiyel olarak birçok insanı etkileyebileceğini bilerek, ilgisiz bir programcının ayrıntılarını kızdırmak zorunda kalacağım
Dave Cheney

23

Güvenlik bir düşünce değildir. Saldırıya uğramış bir uygulama programcının beceriksiz görünmesine neden olsa da (en azından) bir sysadmin için yedeklerden doğrulama, temizleme ve / veya geri yükleme yapmak için harcanan (en azından) kaybedilen bir hafta sonu.

Bu nedenle, yedeklemeleri sürüm kontrolü olarak kabul etmeyin. Olağanüstü durum kurtarması için tasarlandılar ve kodunuzu geri yüklemek için gerçekten tasarlanmadılar, çünkü değiştirdiğiniz şeyi unuttunuz.

Kodunuzun kırılmasından Windows Güncelleştirmeleri'ni suçlamayı da kesin. İşe yaramaz olması umurumda değil, neden şimdi işe yaramadığını söyle - o zaman kimin suçu olduğunu görebiliriz.


17

Ağ sorunları ve hata ayıklama sysadmin araçları ile çalışmasını izlemek nasıl. Sistem yönetimine başlayan bir programcı olarak, birçok programcının bir zamanlar "sadece durduğunu" ağa bağlanması ne kadar iktidarsız olduğuna şaşırdım.

  • Wireshark , kodunuzu kara kutu, paket halinde paket halinde çalıştırılmasını izlemek için
  • Doğrudan ağ servislerine bağlanmak için araçlar:
    • TCP veya UDP üzerinden düz bağlantılar için Telnet, netcat veya socat
    • openssl s_client -connect target-host:portAğ servislerine manüel olarak bağlanmak için OpenSSL şifrelemeyle aynı şey için (ipucu: bazen deneyin )
  • ad çözümlemesi için hata ayıklama için BIND 9 paketindeki kaz
  • Ağ yığınının hangi bölümünün başarısız bir bağlantının zamanlaması ve diğer özelliklerine göre başarısız olduğunu söyleyebilmek
  • Muhtemelen HTTPFox ve / veya Firebug

3
+1. Sağlam ağ performansına bağlı bir uygulama yazan herhangi bir geliştirici, kodlamaya başlamadan önce büyük W. Richard Stevens tarafından 'TCP / IP Illustrated v1' i okumalıdır.
Murali Suriar

1
Tüm olumlu üyeler için teşekkürler. Programcıları altta yatan ağ bağlantısı başarısız olduğunda çaresizce durmadan görmek yıllarca beni şaşırtmıştı. Ve bu günlerde, neredeyse tüm programlama ağ programlamasıdır.
jhs,

14

Sorunların nasıl giderileceğini öğrenin.

Parayı iletmek çok kolay (örneğin, ağınız veritabanımla olan iletişimi takip ediyor). Ağın hatası olabilir, ancak Google veya SO kullanarak bir uygulamanın yapılandırmasında bir sorun ortaya çıkarabilecek hata içeren uygulama günlükleriniz olmalıdır.

Herkes donanımı, işletim sistemini veya ağı suçlamayı sever, bu nedenle biraz daha titizlik gösterirseniz, sysadmin'i mutlu bir insan yaparsınız. Çünkü, eğer başka bir şey yoksa, onları neyin yanlış olabileceğine dair belirli bir yöne işaret edebilirsiniz ("ağınız berbat" derken ya da eşit derecede yararlı bir şey).


1
Kesinlikle. Ben beni işaret dolayı insanlara ben yanlış yerlerde problemler ararken harcadığınız saatler saymaya başlayamaz yanlış yöne
Gert bana M

8

Yapabildiğiniz her şeyi belgeleyin. Son sysadmin 'in kaç kez' iş güvenliği 'için bir şeyler belgelemenin ya da sadece içeri girmek ve dışarı çıkmak isteyen birini belgelemenin hoş olacağını düşündüğünü söyleyemem. Tıpkı bir programcının iyi yorumlar bırakması gibi, sysadmins de bunu belgelemelidir. Topolojinin bir diyagramı da iyi olurdu.


7

B planı.

Bir çözüm tasarlarken ve geliştirirken daima bir felaket kurtarma planına sahip olun. Kesintiye yol açabilecek tek başarısızlık noktalarını kabul edin.


6

Dokümantasyon: fındık kullanmaya gerek yok, ancak uygulamanın nasıl çalıştığı, bitlerin nasıl uyduğunu ve her bir bileşen yanlış gittiğinde test etme yollarını gösteren bir şema. Örnek veri ve çıktı güzel.

Gereksinimler: hangi modüllere dayanıyor? Sürümleri? İŞLETİM SİSTEMİ?

İzleme: İdeal olarak geliştiriciler uygulamada izleme bilgilerini ve testleri içerir.

Ambalajın konuşması, PAKETLEME! Bir "konuşlandırma" dan daha kötü bir şey olamaz; bu, VCS'den bir dosyanın yeni bir revizyonunu kontrol etmek ve onu bir sürü sunucuya kopyalamak anlamına gelir. Programcılar çoğu zaman yazılım dağıtmanın karmaşıklığını takdir etmezler: sürümlenmiş, paketlenmiş yazılımların çoğu işletim sisteminin omurgasını oluşturmasının nedenleri vardır.

Bir geliştirici bana ilk kez kısa, kapsamlı belgeler ve bazı Nagios testleriyle yüklenen bir RPM ile geldiyse, en iyi arkadaşım olurlardı.


6

Şimdiye kadar verilen 17 cevaptan hiçbirinin standart bir kullanıcı olarak oturum açtığınızda uygulamanızın çalışmasını sağlama konusunda bir şeyler içermesine şaşırdım.

Yükleme işlemi dışında, standart bir kullanıcı hesabıyla oturum açıldığında uygulama düzgün çalışmalıdır.


4

Yedekleme Yedekleme Yedekleme .... Yedekleme sınama .... Her zaman geri almaya hazır olun


4

Bu sadece yeni başlayan programcılar için geçerli olabilir, ancak bazı projecilerle birlikte her projede birkaç şey ile ilgileniyorum.

  1. "Makinemde çalışıyor" hiçbir zaman geçerli bir ifade değildir. Sunucuda kullanılmak üzere bir yükleme programı oluşturmak veya en azından sunucuda gerekli olacak her bağlantı ve dll ve eklentiyi belgelemek programcının sorumluluğundadır.

  2. (Bunu defalarca duydum, lütfen gülmeyin) Sunucudaki exe'yi makinemden çalıştırıyorum ve çalışıyor. Ancak, sunucuda çalıştırdığımda (Citrix, Terminal Server vb.) Çalışmaz. Lütfen dll ve ocx'leri ve programınızın ihtiyaç duyduğu her şeyi ve bunların nerede ve nasıl kaydedildiğini ve programınızın bunları nasıl kullandığını anlayın.

Bunlar basit görünebilir ama ben sürekli bununla ilgileniyorum.

Brian


4
  • Yöneticinizle ne yaptığınız hakkında hem resmi hem de gayrı resmi olarak konuşun. Genelde ilgilenecekler ve üretim üzerindeki olası etkileri daha erken başlatabilirler. Aynı fikirde olmanıza gerek yok, ancak sorunlu noktaları tespit etmeye yardımcı oluyor.
  • Hayır, tüm sunucuyu kendine alamazsın ... Gerekirse, teknik olarak ne kadar sağlam olursa olsun politik bir karar. Politikada çalışmak istiyorsanız, hemen devam edin.
  • Üretim donanımı genellikle geliştirme sunucunuzun ve hatta çiftliklerdeki makinelerin özellikleri farklıdır.
  • Üretimin nasıl yapıldığını öğrenin, çünkü bunu masaüstünüzde çoğaltamazsınız, bunu yapmak kötü varsayımlar yapmanıza engel olur.
  • Sadece hafızada bulunan şeyleri önbelleğe alabildiğiniz için, yapmanız gereken anlamına gelmez, önce tıkanıklığı bekleyin (birim testinde veya üretim öncesi performans testinde)
  • Bir veritabanına veri yapıştırıyorsanız, verileri nasıl salt okunur verilere (yatay ölçeklendirebilir) ve okuma-yaz verisine (genellikle yalnızca dikey ölçekler) ayırabileceğinizi düşünün.
  • Bir veritabanına veri yapıştırıyorsanız, gerçekten bir RDBMS olması gerekir mi? Daha iyi ölçeklenebilen başka anahtar-değer çift sistemleri var (netcache).
  • AJAX'ın tüm çözüm olduğunu düşünmüyorum, havalı görünüyor, ancak izleme ve otomasyon olanaklarını sınırlandırıyor. Kullanmayın demiyorum, sadece iki kere düşünün.

4

Tamam, bu biraz esiyor ama:

a) Kodlama yaparken, altta yatan altyapının başarısız olabileceğini ve her zaman mutlu olan arazilerden gelmediğini kabul edin. Veya Google.

b) Muhtemelen okuduğunuz altyapı gibi herhangi bir şeyi uygulayacak kaynağa sahip değiliz, bu yüzden işler düştüğünde bizi rahatlatın. Ne yapılması gerektiğini bilmemiz muhtemel, ancak ne sebeple olursa olsun henüz gerçekleşmedi. Biz ortağınızız!

c) Yukarıda belirtilen jhs gibi, ping, traceroute (veya her ikisini birleştiren - mtr), kazmak, vb. gibi altyapıyı gidermek için araçlara aşina olmanız gerçekten yardımcı olacaktır.

d) Bir bilgisayarı programlarsanız, ağa nasıl bağlandığını ve ipconfig / all veya ifconfig çıktısını ayrıştırma gibi temel hususları gerçekten bilmeniz gerekir. İnternet bağlantınızı kurup asgari yardımla çalışabilmelisiniz.

Aksi halde, Avery'nin onu çok çivilediğini düşünüyorum. Küçük bir sysadmin yapan devler altın cinsinden ağırlıklarına değer! Ancak, eşit olarak, dev'lerin bazı şeyleri (sürümleme vb. Dahil) nasıl yürüdüğünü anlayan sistem yöneticileri bu gün ve çağda oldukça önemlidir.

Bu şu anda havada görünüyor, bloglardaki dev / op ilişkileri hakkında daha fazla tartışma gördüm - göz atın

Twitter Twitter'ı tutmak

Bölmeler ve Savaş

İşlemlerde İlk Test


3

Hiçbir grubun veya işlevin diğerinden daha iyi olmadığı ve hiçbirinin birbirinden daha büyük beyinler gerektirmediği. Her iki tarafın da diğerlerinin şirketlerinde prima-dona'lar elde ettiğini gördüm - hepiniz aynı hedefleri başarmaya çalışıyorsunuz - bu benzerliklere odaklanın ve farklı araçlar kullandığınız gerçeğine değil.


2

Altyapı mimarı programcı döndü, gelecekte bu işlemi geri almak isteyebilir :)

  1. Birbirinizle, erken ve sık sık konuşun. Uygulamanızın uygulanacağı altyapıyı yönetecek olan erkeklerle tasarımları inceleyin (kim olacağını biliyorsanız).
  2. Sıfır veri kaybı mümkündür, ancak geliştiriciler ve sistem yöneticileri tarafından paylaşılan bir sorumluluktur. Yine, birbirinizle konuşmak burada yardımcı olabilir.
  3. Altyapı personeliniz, işlevsel olmayan gereksinimleri belirlemede yer almış olmalıydı.
  4. Bira (iş bittiğinde) ve pizza (biz çalışırken) düzenleyin. Her nasılsa, bu tür yiyeceklerin varlığı, küçük 32 cpu kutumuzu yapmalarını istediğin şeyi yapma yeteneğimizi etkiliyor :)

2

Geliştiriciler için bir sistem yöneticisi ve kendim de bir geliştirici olan biri olarak, burada verilen tavsiyeler sadece altın değil, aynı zamanda tüm şirketler için yeni geliştiriciler için işe alma belgelerinin bir parçası olmalıdır.

Görmediğim (henüz) açıklama yapmadığım bir şey, geliştiricilerin ödedikleri programları oluşturmak için kullanacakları ürünleri gerçekten bilmeleri gerektiğidir. Geliştirici makinelerinde apache sunucularını, eclipse ve Visual Studio kurulumlarını ve veritabanını açıklamak ve yapılandırmak zorunda kaldığım süre biraz endişe verici.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.