Ne zaman bir yapılandırma yöneticisi (örn. Kukla / Şef / Ansible) kullanmak uygundur?


17

Mevcut işyerimde, iki VMware ana makine, bir OpenBSD fiziksel makine, üç Debian VM ve altı Windows Server VM'ye (2008/2012) bakıyorum.

Kukla veya Şef gibi bir yapılandırma yönetimi aracı uygulamayı düşünüyorum. Bu makul midir, yoksa aracı öğrenme yükü avantajlardan daha ağır mıdır? Yönetilebilirlik ve uygulama maliyeti arasındaki devrilme noktası nerededir?


1
Bir yapılandırmayı yönetmeniz gerektiğinde "uygun" bir durumdur - bir felaketten kurtulmanız mı gerekiyor? Yeni bir veri merkezine taşınmanız mı gerekiyor? Yatay olarak genişletmeniz mi gerekiyor? Elle yapıyorsanız, yanlış yapıyorsunuz . " İki kez mi yapıyorsun? Yaz. "
warren

1
Bu sistemlerle / sistemlerle ne yapmanız gerektiğine bağlıdır.
ewwhite

Yanıtlar:


25

IMHO, yalnızca tek bir sunucuyu yönetiyor olsanız bile öğrenmeye değer,

Evet, bir öğrenme eğrisi olacak. Evet, hayal kırıklığına uğrayacaksınız. Bununla birlikte, bu maliyetler için güvenilir, tutarlı, tek tıklamayla dağıtımlar, sürüm kontrollü sunucu yapılandırması, test / geliştirme ortamları kurma kolaylığı, vb.

Mevcut işinizin avantajlarına ek olarak, özgeçmişinize bir CM sistemi ekleyebilmek büyük bir kazançtır. Modern sistem yöneticilerinin artık yeterlilik olmasa bile en azından bir yapılandırma yönetim sistemine maruz kalmaları beklenmektedir .

(Sidenote: sıra yanıtlayıcı 'düşünün Bu benim tercih CM, ve olduğunu. Çok kolay yukarı ve birlikte çalışan almak için - Ek olarak, pencereler güzel birlikte geliyor yanıtlayıcı' de destekleyen ya Kukla veya şef çok daha kolaydır..)


5
İyi dedi. Ansible'ı evde ahududu pi kurmak gibi önemsiz şeylerde kullanıyorum çünkü süreci belgelemek için uygun bir yol.
tedder42

2
Kesinlikle! Chef'e girmek benim için büyük bir kariyer kazancı oldu. İşte gerçek şey: birkaç yıl içinde CM, genç SysAd işleri hariç herkes için gerekli / beklenen olacak.
gWaldo

2
Tamamen kabul etti. CM sistemlerinin sadece bir parçası olan kurulum otomasyonuna çok fazla odaklanılmaktadır. İnsanlar M'nin ne anlama geldiğini unutur - yönetim. 1 sunucuda yaptığınız çeşitli yapılandırma değişikliklerini nasıl takip edersiniz? Sunucu sayısı önemli değil. Bu 1 sunucu öldüğünde, şüphesiz tam olarak yeniden oluşturabildiğiniz için mutlu olursunuz.
ETL

5

Kukla veya Şef gibi bir yapılandırma yönetimi aracı uygulamayı düşünüyorum. Bu makul midir, yoksa aracı öğrenme yükü avantajlardan daha ağır mıdır?

Ne kadar zaman ve para harcamanız gerektiğine ve yakmakta olduğunuz paranız olup olmadığına bağlı olarak makul olur.

Bir konfigürasyon yönetim aracı (herhangi biri) günümüz piyasasında değerli bir beceri haline geliyor.

Bir CM aracını öğrenmek ve uygulamak için zaman harcamak, işiniz veya çevreniz açısından en etkili şey olmayabilir, ancak beceri setinize göre faydalı olabilir.

Yönetilebilirlik ve uygulama maliyeti arasındaki devrilme noktası nerededir?

Çoğu konfigürasyon yönetim aracı, kurulumu ve gitmesi daha zor olan uyarı ile ücretsiz olarak mevcuttur.

Bu soruları cevaplamak biraz zor çünkü bu sunucuları yönetmek için günlük olarak ne yaptığınıza bağlı. Hiç bir şey yapmanız gerekmiyorsa, bir yapılandırma yönetimi aracı toplamda aşırı olabilir.

Altyapınızı yalnızca öngörülebilir ve temel bir duruma zorlamanız gerekiyorsa, SaltStack veya Ansible gibi bir şeyin temellerini almak çok fazla zarar vermeyebilir.

Kişisel deneyimime göre, Salt sunuculara önyükleme yapmak ve önyükleme yapmak çok kolaydır ve çok temel uzaktan yürütme ve raporlama için kullanılabilir, bu da ortamınızda zaten uygulanmadıysanız kullanışlı olabilir.

Unutmayın, önyargılıyım. Her CM aracını kendiniz değerlendirmelisiniz.


4

@EEAA'nın dediği gibi - sunucu sayısı önemsizdir. Tek bir makinede yapılandırma yönetimini kullanmanın avantajlarından yararlanabilirsiniz:

  • belgelenmiş kurulum (CM komut dosyaları ile belgelenmiştir)
  • güvenilir dağıtım (kurulumunuzu tekrar tekrar [yeniden] uygulayabilirsiniz
  • kurulumun esnekliği (mevcut sunucu dolandırıcılığı - yenisini döndür)
  • yeniden kullanma (ikinci bir sunucuya sahip olduğunuz bir noktaya geldiğinizde - zaten ilkinden geri dönüştürebileceğiniz CM komut dosyalarınız vardır)
  • yükseltmeler (yeni bir kurulum gibi, sadece farklı bir platformun üstünde)

Orada nadiren çalıştığım ve tüm küçük detayları unuttuğum için tüm kişisel sunucularım için CM uygulamak zorunda olduğumu söyleyebilirim. CM komut dosyalarına sahip olmak zaman alıcı gibi görünebilir (geri ödeme) buna değer. Uzun vadede işleri kurmak için harcayacağınız zamandan daha fazla tasarruf edersiniz.


3

Kukla ve Ansible ile deneyimim var. Ansible, prosedürel olduğu gibi IMO daha basittir, Kukla ise açıklayıcıdır. Her ikisinin de artıları ve eksileri var, ancak Kukla'nın şifreli hataları nedeniyle yeterince saç çektim.

Temiz ve yeniden kullanılabilir yapılandırma oluşturmak istiyorsanız her ikisi de çok çalışma gerektirir. Bulutlar veya kümeler gibi en az iki çok benzer sunucunuz varsa maliyetler gerçekten işe yaramaya başlar.

Bununla birlikte, bağımsız sunucular için bile bazı kullanımları vardır - yönetici kullanıcılarını, standart (yerel varyasyonlarla) sshd, postfix veya snmpd yapılandırmalarını ayarlayabilir ve bunları, politikaya uyma veya kabuk şoku güvenlik açığını test etme gibi basit bir bilgi toplama için kullanabilirsiniz.

Ayrıca, EEAA tarafından belirtildiği gibi, bir sunucuyu temel durumdan çalışma durumuna getirdiğini doğrularsanız, kurulumu belgelemek için bir değeri vardır. Sürüm kontrol sistemi (git) ile birleştirmek iyidir, böylece yaptığınız değişiklikler sürümlendirilir ve belgelenir. Bir takım yöneticiniz varsa bu çok değerlidir.


1

Kukla veya diğer herhangi bir yönetim sistemi, burada diğer cevaplarla vurgulanan büyük faydalar sağlar, ancak yönetim söz konusu olduğunda gümüş mermi yoktur.

Örneğin, karmaşık sistemler için kukla sınıfları oluşturmak çok fazla zaman ve çabaya mal olur ve bazen birçok tuzak olduğu için gözyaşı dökülür ve hata mesajları her zaman% 100 net değildir ve yazılım yükseltildiğinde, kukla sınıflarınızı herhangi bir yeni spesifikasyona uyacak şekilde uyarlamak için zaman harcamalısınız. veya bunun için en uygun yaklaşımın prosedürünü ve sonucunu belirleyin (örneğin kukla, bildirimsel ve yükseltme tipik olarak prosedüreldir)

Ayrıca, sınıflarınızda yapılan değişiklikleri kontrollü bir şekilde nasıl sunmayı planladığınızı ve tezahürlerinizin farklı sürümlerini nasıl koruyacağınızı anlamanız gerekir.

Bunun için zamanı geldiğinde yönetim çözümünüzü nasıl yükselteceğinizi de düşünmelisiniz.

Örneğin, kukla sınıfları yazmak için önemli miktarda zaman harcarsanız, gerçek faydaları elde etmek için çok sayıda tek tıklamayla kurulum yapmanız gerekir.

Hareketsiz ve uygun yerlerde araştırmanızı öneririm, yani yapılandırma dosyalarının dağıtımı başlamak ve oradan almak için iyi bir yer olabilir.

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.