Şef veya Kukla kullanmaya karar verirken sormanız gereken doğru sorular nelerdir?


16

Kısmen, yaklaşık üç farklı sınıftan birçok özdeş düğümün dağıtılmasını gerektiren yeni bir projeye başlamak üzereyim:

  • MongoDB'nin gölgeli örneklerini çalıştıracak veri düğümleri .
  • Ruby on Rails uygulamasının ve eski bir ASP.NET MVC uygulamasının örneklerini çalıştıracak uygulama düğümleri .
  • Düğümleri İşleme uygulama düğümler tarafından talep işleri çalışacaktır.

Tüm düğümler Ubuntu 10.04 örneklerinde çalışacak, ancak farklı paketler yüklü olacak.

Kendimi bir uzman olarak görmeme rağmen, önceki projelerden Şef'e biraz aşinayım. Durum tespiti için, alternatif olasılıkları araştırıyorum. Kurum içinde uzun zamandır Kukla kullanıcıları olan bir takım kişiler var ve beni bir göz atmaya teşvik ettiler.

Yine de her iki seçeneği de değerlendirmede sorun yaşıyorum. Şef ve Kukla, aynı etki alanı terminolojisinin birçoğunu paylaşır - paketler , kaynaklar , öznitelikler vb. Ve aynı soruna farklı yaklaşımlar almaktan kaynaklanan ortak bir geçmişi vardır. Yani bir anlamda çok benzerler. Ancak bu makale gibi bulduğum karşılaştırma bilgilerinin çoğu biraz modası geçmiş.

Bu projeye bugün başlıyorsanız, yapılandırma yönetimi için Şef veya Kukla kullanmanız gerekip gerekmediğine karar vermek için kendinize hangi soruları sorardınız? (Not: Ben değil sorunun cevabını istiyoruz "Meli I kullanılması Chef veya Kukla'nın?")


2016'da güncelleme: Şef ve Kukla'dan büyük bir göç var. Yeni proje için hastalara tavsiye edilir. Artık kavga tuzla kıyaslanabilir. (ansible'ı kurmak ve başlamak daha kolaydır + SSH üzerinde çalışır, altyapı büyüdükçe ve karmaşıklaştığında tuz daha kolaydır + daha hızlı)
user5994461

Yanıtlar:


12

Hem Kukla hem de Şef istediğinizi iyi yapabilir. En iyisi, yapmaya çalıştığınız şeyi yapmaya başlamak ve hangi aracı en çok sevdiğinize karar vermek olacaktır. Bence sormanız gereken büyük sorular:

DSL ister misiniz? - Şef tarifleri yakut ile yazılmış, kukla bir DSL var. DSL'in iyi mi yoksa kötü bir seçim mi olduğu şef ve kukla arasındaki en büyük farklardan biridir. Bitfield Consulting'in karşılaştırmasına gönderdiğiniz bağlantı , henüz okumamış olmanız durumunda bu konuda bazı iyi yorumlara sahiptir. Bu blog gönderisini de yararlı buldum , yorumları da okuduğunuzdan emin olun.

Ruby'yi biliyor musun? - Ruby bilmiyorsanız, şefle başlamak daha zor olabilir veya yeni bir dil öğrenmeniz gerektiğinden daha büyük bir zaman yatırımı gerektirebilir. Kukla, başlamak kolay olan kendi diline sahiptir. Kukla 2.6'dan başlayarak, tezahürler de yakut olarak yazılabilir .

2009'daki Açık Kaynak Köprüsünde, konfigürasyon yönetimi yardımcı programları hakkında 1.75 saatlik bir tartışma süresi olan bliptv'de izleyebileceğiniz şef, kukla, bcfg2, cfengine ve automateit yazarlarından ve temsilcilerinden oluşan bir panel vardı .

Opscode / Chef , SSS'lerinde de kukla ile arasındaki farkı anlatıyor .

Sormak için doğru soruları bilmemenizin, bunlardan herhangi biriyle çalışmak için çok fazla deneyime sahip olmamanızdan kaynaklanabileceğini düşünüyorum, bunları kullanmaya başladıktan sonra aralarındaki farkları görmeye başlayacaksınız. Şef veya kukla ile çözeceğiniz bazı gerçek yaşam problemleri ile gelmenizi, ardından bunları çözmeye çalışmayı ve onlar hakkında neyi sevdiğinizi / sevmediğinizi görmeyi öneririm. Opscode / Chef ile, başlamak için ücretsiz olarak 5 düğüm ayarlayabileceğiniz, barındırılan bir çözüm sunarlar .


3
Şefin de bir DSL'i var, fark şu ki, dahili bir Ruby DSL, Puppet'in DSL'si harici. Kukla, o zamandan beri de saf Ruby DSL ekledi, ancak kukla kullanıcıları veya Kukla Laboratuvarları tarafından teşvik edilmiyor veya önerilmiyor.
jtimberman

1
"yakut bilmek ister misin" prolly 1 numaralı soru. Hala python tabanlı bir sistem umuyorum. :)
Sirex

Bağlantılı blog makaleleri şef ve kukla karşılaştırmak isteyen insanlar için çok yararlı başlangıçlar.
Clinton

6

Önce söyleyeyim - Kukla veya Şef kullanmıyorsanız; yanlış cevap yok. Her ikisi de şu an yaptığınızdan çok daha iyi olacak.

Takım lideri olarak ekibim için Kukla seçimini yaptım. Sadece kendimden bir ekip olsaydım, bunun yerine Şef'i seçerdim. İşte nedeni:

Uzmanlığım kesinlikle sistem yönetimindeyken, geçmişim programlamada. Okula gittiğim şey bu ve tam uygulamalar yazmaya yabancı değilim (sadece senaryolar değil). Ruby'yi tanımasam da, bunu yapmak isterdim ve Chef ikisini de öğrenmek için harika bir bahane olurdu.

Ancak ekibim, ara sıra kabuk betiğinin yanı sıra programlama deneyimi çok az olan veya hiç olmayan sistem yöneticileriyle doludur. Onlar için bir kukla modülü yazmak, bir yapılandırma dosyası yazmak gibidir. Açıklayıcı, yineleyici yok ve genel olarak daha yönetici dostu.

Sysadmin aktiviteleri yapan geliştiricilerle dolu takımlar Şef'i tercih etme eğilimindedir. Kukla'nın DSL'si bildirimsel olduğu için, düzen (tek tek dosyalar içinde bile) önemli değildir ve bu, birçoğunu daha tipik programlama diline alıştırır.

Ayrıca Şef'in Kukla'dan çok daha bulut dostu olduğunu söylediklerini duydum, ancak Kukla geçen yıl Kukla Girişim ürünlerine odaklandığını söyledi. Her iki ürünün bulut yetenekleri konusundaki deneyimlerimden konuşamam.

Yukarıdaki özelliklerden dolayı, klişe (ve genellikle doğru), Şef'in buluttaki girişimleri yönettiği fiziksel makinelerde Kukla'nın kuruluşta daha yaygın olduğunu göreceksiniz. Elbette istisnalar var, ama gördüklerim kesinlikle klişeyi destekliyor.

Tek kişilik bir ekipse, her ikisini de değerlendirin ve hangisini beğendiğinizi seçin. Ancak, benim gibi bir ekibiniz varsa, ekibinizin ihtiyaçlarını herhangi bir kişisel tercihinize göre önceliklendirdiğinizden emin olun, daha sonra satın almaya çalıştığınızda sizi kurtaracaktır.


2
Justin'in yorumu en iyi yaklaşımdır. Şahsen şefi tercih ederim, çünkü bu öğrendiğim ilk CM seçeneğiydi ama pratikte ve kukladaki mevcut takım gücünü göz önünde bulundurarak saf altyapı projeleriyle kukla ile gitme eğilimindeyken, uygulama ekibi çoğunlukla DevOps şefe karşı daha önyargılı. İhtiyaçlarınız için en iyi ve pratik olanı kullanın.

5

Tam bir açıklama olarak, bir yapılandırma yönetim sistemine karar vermeye çalışırken bunları dahili olarak değerlendirmiş olsak da, bunlardan hiçbirini kullanmıyoruz. Sonuçta beni bunlardan biri konusunda bir uzman olarak görmeyin.

  • Örnek kurulumu yapmak ne kadar kolay?
  • İstemcinin sunucuyla iletişim kurmasını sağlamak için hangi kurulum gereklidir?

Ve bunun gibi. Ancak bu soruları kendiniz kolayca cevaplayabilirsiniz: ayarlayın! Bir örnek almak ve çalıştırmak her ürün için birkaç saattir ve bunu ne için kullanırsanız kullanın muhtemelen uzun süre kullanılacağını düşünün, zaman buna değer. Sadece platforma özgü şeyleri (Debian tabanlı ve apt, RPM tabanlı ve yum) nasıl ele aldıklarını hissetmekle kalmaz, aynı zamanda uygulamalar için bir fikir edinmenize de yardımcı olacaktır.

Ayrıca, dünyadaki tüm özelliklerin zor bir arayüz oluşturmayacağını ve ayrıca altyapınıza özgü sorunları ortaya çıkarabileceğini unutmayın - yani, yapılandırma dosyaları farklı bir sırada güncellenirse ne olur beklenenden daha fazla?

Bu benim tavsiyem; Şef ve Kukla bir sunucu ve bir veya iki istemci kurulumu elde etmek o kadar da zor değildir ve her ikisinde de ilk elden deneyim verecektir. Ayrıca, kurmaya başlar ve büyük bir acı olduğunu fark ederseniz, taahhütte bulunmadan önce bilgiye zaten sahip olacaksınız.


5

Projenizde zaten Kukla deneyimi olan insanlar varsa, o zaman sadece Kukla kullanmanızı tavsiye ederim.

Şef ve Kukla oldukça benzerdir ve her iki proje de eşit derecede yüksek kalitededir. Zaten Kukla deneyimi olan kişilere erişiminiz varsa, sadece Kukla kullanın.


2

Yukarıdakiler kesinlikle iyi bir kılavuzdur, ayrıca yeni bir üçüncü taraf bağımlılığı düşündüğümde bu genel soruları sormayı seviyorum.

  • Projenin yaşı nedir?
  • Topluluk ne kadar aktif (Posta listeleri, hatalar, irc vb.)?
  • Standart uygulamalarla sağlam ve sağlam dokümantasyon sağlanıyor mu?

Bunlar, projenin genel başarısının iyi göstergeleridir ve yaşam süresini bir şekilde tahmin edebilir.


Yaşı ya yargılaması kolay ya da zor: Şef, Kukla kullanan ancak bazı şeylerden memnun olmayan bir şirket tarafından başlatıldı. Birkaç yıl daha yeni, ama çatal olarak görülebilir.
freiheit

0

Şef veya Kukla'ı birkaç aydan fazla kullanan insanları bulmaya çalışın ve deneyimlerini sorun.


0

Benim için bu, belirli bir toplumun geleneğiyle sıkı sıkıya ilgili. Tarihsel olarak Şef RubyOnRails adamlarına daha yakındı. Ayrıca ROR topluluğundaki Şef popülaritesinin büyük bir parçası, çünkü Engineyard altyapılarını Şef'in üstüne inşa etti.

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.