SysAdmin & Developer: Sorumluluklar [kapalı]


26

Bir üretim web sunucusu gibi bir şey söz konusu olduğunda, sysadmin ve geliştirici için sorumluluklar için en iyi uygulama nedir? Özellikle, yazılım güncelleme / yükleme hakkında düşünüyorum. (Benim düşünceme göre, dev, üretim sunucusunda kök erişimine sahip olmamalıdır.)

Bu yüzden bir prodüksiyon sunucusu Web sunucusu Wordpress kullanıyor ve en son sürüme güncellenmesi gerekiyor. Güncel tutulmasından kim sorumludur?

Devs'de özel hack eklentileri veya uygulamadaki özel çekirdek dosyaları varsa (bu örnekte WP)?


2
Dev'in eklentilerdeki dökümanları nerede ve çekirdek dosyaların yedekleri nerede ve en son ne zaman yedeklemeler ve dokümantasyon dev ortamınızda test edildi?
ForgeMan

Rol bazlı ayrıcalıklara ne dersiniz? Sunucunuzu vidalamadan yapmaları gerekenlere güvenli, denetimli erişim sağlayın.
allruiz

Yanıtlar:


21

Çoğu durumda, fiziksel sunucudan sorumlu kişi sizseniz, devs kök erişimini VERMEYEN en iyisi olduğunu öğrendim.

Bu, bir parça "kutsal savaş" tartışması olduğundan, aynı fikirde olmayan geliştiricileri bulacağınızdan eminim. Şahsen bu tartışmanın iki tarafındaydım.

Benim temel devs (% 100 güvenilir devs) kök erişim vermemek için benim temel neden, XYZ düzgün çalışması için ihtiyaç duydukları bir paket değil daha sık olmasıdır. Devam ederler ve onu kurarlar ... ya da halihazırda bulunan bir şeyi yeniden yapılandırırlar, böylece çalışırlar ya da ... şey ... fikirleri alırsınız.

Aylar geçtikçe ... sunucunun yeniden kurulması veya yeniden oluşturulması gerekiyor ... ve aniden kimse "Eski sunucuda çalışıyor ama yenisinde değil" nedenini bilmiyor.

Elbette cevabı, bakmakta olduğunuz dokümantasyonun, geliştiricilerin sistemin ilk defa çalışmasını sağlamak için yaptığı küçük paketleri ve tweaksleri içermemesidir.

Her iki taraf için de bir $$ olabilir, ancak sysadmin sunucudan, paketlerden ve dokümantasyondan sorumluysa ... ve geliştirici geliştirme ve yazılımdan sorumluysa ... sizce ' Sonunda buna değdiğini bulacağım.

Geliştirici özel bir eklentiye, modüle, konfigürasyona, ince ayarlamaya ihtiyaç duyuyorsa ... sorun değil ... onlar için yapın ... ancak DOCUMENT IT böylece bir dahaki sefere yeniden üretebilirsiniz.


Peki tanımladığım gibi bir durum hakkında, bir uygulamayı (Wordpress gibi) güncellemek için kök erişiminin gerekli olmadığı yerler. Güncel tutmaktan sorumlu olan kim olmalı?
Josh Tarayıcı,

Bu özel durumda, temelde politika (yani yönetim kararı). Kuruluşumda sunucuları yamalı ve güncel tutmaktan ve bu durumda Wordpress'i güncel tutmaktan sorumlu olan sysadmin olacaktır. Sysadmin'in işi sunucuyu güvende tutmaktır. Bana göre (özellikle bu günlerde) Wordpress'i güncel tutmak bunun bir parçası.
KPWINC

bir barındırma şirketinden yönetilen bir sunucunuz varsa, Wordpress'i kapsamazlar. Temel kural, yazılımı her kim yüklediyse onun sorumluluğundadır. Aysadmins işletim sistemi, web sunucusu vb. Yüklerdi. Geliştiriciler Wordpress'i yüklerdi.
ollybee

16

Altın Kural : Yönetici olmayanların, kırılmasını istemediğiniz ve sorumlu tutulacak hiçbir şeye dokunmasına izin vermeyin.

Devs test ortamına erişebilmelidir. Çalışmaları üretim makinesine koyulmaya hazır olduğunda, sistem yöneticisine teslim edilmelidir. Devs işlerini yaptıysa ve doğru bir şekilde belgelemişse, prosedür her şey yolunda gider. Olmazsa, yeterince test etmedikleri için arka taraflarına tekme atmaları gerekir.


5
Amin! Bir geliştiricinin gitmesini sağlamanın büyüleyici bir yolu ... "Sorun, Dev ortamında işe yarıyor mu?" veya "Yapı sayfanız nerede?"
ForgeMan

12

Ben de bu savaştaydım. Cevabım, sunucunun çalışma süresinden kimin sorumlu olduğunu, tüm güncellemelerden, değişikliklerden vb. Sorumlu olan kişidir. Nobodoy, bu tür işlevleri sunucuda yerine getirme yeteneğine sahip olmalıdır. Sunucunun çalıştığından ve çalıştığından emin olmak sizin görevinizse ve patron sizi sunucuya karşı sorumlu ve sorumlu tutarsa, onu korumak ve korumak sizin sorumluluğunuzdadır.

Çoğu geliştirici sunucuya yönetici düzeyinde erişime ihtiyaç duyduklarını söyleyecek ve çoğu benimle aynı fikirde olmayacaklar, ancak telefonu kapattıktan sonra saat 2'de yeniden başlatması gereken kişi benim, sonra kapatması gerekiyor. başarısız bir güncelleme, duruş süresi departmanıma vb. karşı ücretlendirilir, vb. SLA'mızı etkileyen herhangi bir şey için CIO'ya cevap vermek zorundayım, bu nedenle sunucuya yönetici düzeyinde erişim sağlayan tek kişi benim ve m tüm bileşenlerden, güncellemelerden, değişikliklerden vb. sorumludur.


İşte! İşte! :-D 2 - 3, bazı değişikliklerin üstesinden gelmek için eğlenceli bir zaman değil. (Orada gördün mü ... visudo çözdü).
ForgeMan

1
"Sunucunun çalışma süresinden kimin sorumlu olduğu, tüm güncellemelerden sorumlu olan kişi olduğu" fikrini gerçekten çok seviyorum - Bu çok mantıklı.
Josh Brower

1

% 100 katılıyorum. Dev çoğu zaman syadmin işlerinin nasıl yürüdüğünün farkında değil. Bir şeye ihtiyaçları olursa, soruyorlar, hepsi bu. Onlara nasıl ve ne zaman ve kullanışlı bir paket sunduğunu düşünürsün. (e-posta göndermeleri gerektiğine göre, SİZ'i posta ekini yapılandıracak olan sizsiniz). Ayrıca, çoğu zaman, kök erişimin, normal erişim ile yapamıyorlarsa işlerin işe yarayacağını düşünme eğilimindedirler. Buradaki diğerleriyle aynı fikirdeyim, bir sorun gördüğünüzde sabah saat 2'de sizinle olmayacaklar. Davayı birkaç hafta önce aldım, bir geliştirici wordpressini güncellemek istedi. Ona RTF changelog'a söyledim, onun için, bunun faydasız olduğunu, güncelleme işleminin güzel bir arayüz üzerinden yapıldığını söyledim. Güncelleme işe yaramadı, başvurusunu kurtardım, yedekleme komut dosyasını kendim yapmadım. Bensiz siteyi geri yükleyemedi.


1

Dev ve işlemler arasındaki farkı bulanıklaştırma eğilimi var. Geliştiricilerinizi sysadmins ve sysadmins geliştiricilerinizi yapın.

Bu anlamda wordpress, blogun otomatik (ve programlı) proviyonuna yönelik bazı çalışmalardan faydalanabilir. Birçok wordpress kullanıcısı birkaç WP / WPMU örneğinden fazlasını korur ve bunları zamanında güncellemek en azından zahmetlidir.

Agile 2009'dan Çevik Altyapı slaytlarında felsefenin hoş (ve eğlenceli) bir genel bakışını bulabilirsiniz.


1

Geliştiricilerin üretimde kökleri olmamalıdır; geliştiriciler dışındaki herkes bu konuda hemfikirdir. Ancak geliştiriciler pastalarını yiyip yiyebilirler. Bundan açıkça kimsenin bahsetmediğine şaşırdım:

Çok uzun zamandır küçük işletme müşterilerimden birinin Drupal kurulumu olan bir web sitesi, birkaç WordPress sitesi, bir SMF forumu ve diğer birkaç rastgele küçük web uygulaması var. Ben sysadmin sözleşmesiyim (ve tarihsel nedenlerden dolayı gerektiğinde WordPress ve SMF'yi günceller / hackler) ve müşterimin kendi sözleşmesi Drupal geliştiricileridir. Ortam, genel bulut sağlayıcısındaki birkaç VMware sanal makinesidir.

Geliştiriciler kök erişimine ve buna ihtiyaç duymaya gerçekten ihtiyaç duyuyorlar. Örneğin tüm özel Drupal işlerini yapmak için nginx yeniden yazma kurallarını yazmak onların sorumluluğundadır. Ama cehennemde hiçbir şekilde onlara üretim sunucusunda kök erişimi sağlıyorum ve müşterim bu konuda benimle aynı fikirde.

Böylece ödün verdik: Test web sunucusundan root erişimi elde ediyorlar (IP adresi hariç genel olarak üretimle aynı ve aynı bulut üzerinde). Bu, üretim gibi, e-posta sunucusuna sahip olduğundan, yapmaları gereken değişiklikleri ve kurdukları paketleri görebiliyorum. O zaman ya değişiklikleri üretime çekebilir ya da onlara ne yapmak istediklerini yanlış olarak anlatabilirim. Ve gerçekten batırdılarsa (henüz gelmediler, şükürler olsun) Değişikliklerini kolayca geri alabilirim.

Üretim veritabanı sunucusuna hiçbir şekilde erişemezler; kullanıcı girişleri bile yok. Sadece müşterim ve ben.

(Web uygulamasının kendisi, doğrudan git ile birlikte dağıtılırlar ve eğer kırılırlarsa, düzeltmek ve müşterime neden geliştiricileri olmaya devam etmeleri gerektiğini açıklarlar. Müşterim beni böyle bir e-posta ile CC olarak açsa da ya) Onlara gülmek veya yüz maskesi.)


0

Kök == Sistem Yöneticisi.

Kullanıcılar == Geliştiriciler, DBA'lar veya Kullanıcılar.

Kök bir sunucu kapalıyken uyumadığını bilir, kök kullanıcıları kendilerinden korur, kök kullanıcıların verilerini ağdan korur, kök sunucunun sağlığını tüm kullanıcıların üzerinde tutar. Sunucu çevrimdışı olduğunda Root'un kıçı hatta olur. Sunucu mutlu, kök mutlu!

Zamanlanmamış zamanın genel nedenleri: Kullanıcılar, ortamdaki belgelenmemiş değişiklikler ve bekolar. Sunucular tam olarak rastgele kırılmadıkları söyleneni yaparlar. İstediğiniz bilgisayar korsanları, eğer değilse, ne zaman ... dolayısıyla bir "kök" e ihtiyaç duyuyorlar.

00:33 CDT, yedekleme ve olağanüstü durum kurtarma belgelerinizin nerede olduğunu biliyor musunuz? :-p


0

Sysadmins yönetici erişimine sahip olmalıdır (tıpkı başlığın dediği gibi). Başka hiç kimse üretim sunucularına erişime ihtiyaç duymaz. Geliştiricilerin bir üretim sistemindeki bir sorunu gidermesi gerekiyorsa, geliştirme ortamında bu sorunun tekrar üretilebilir olması gerekir. Değilse, sysadmin ile oturup sisteme bakabilirler.

Geliştiriciler üretime dokunamamaktan hoşlanmaz, ancak bu orada bir iş değildir. İşi yapmak, yazılımı yazmak ve bir üretim sürümü için sistem yöneticilerine teslim etmek. Her şeyi belgelemişlerse (ve çoğu mağazada belgelerin kirli bir kelime olduğunu unutmayın), bültenlerin serbest bırakılması gerekir.

ABD’deki kamu şirketlerinde, başa çıkmak için SOX, HIPPA vb. Var. Bu tanrıça saklı düzenlemelerin çoğu aslında bu argümana yardımcı olur. SOX, geliştiricilerin orada üretim sistemlerinden uzak durmalarını gerektiren görevlerin ayrılmasını belirler.


"Geliştiriciler üretime dokunmayı sevmiyor". İçinde bir yerde "değil" olmamalı mı? ;)
John Gardeniers
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.