Zaraz rozpocznę nowy projekt, który częściowo będzie wymagał wdrożenia wielu identycznych węzłów około trzech różnych klas:
- Węzły danych , w których będą uruchamiane fragmenty MongoDB.
- Węzły aplikacji , w których będą uruchamiane instancje aplikacji Ruby on Rails i starszej aplikacji ASP.NET MVC.
- Przetwarzanie węzłów , które będą uruchamiać zadania żądane przez węzły aplikacji.
Wszystkie węzły będą działały na instancjach Ubuntu 10.04, chociaż będą miały zainstalowane inne pakiety.
Znam trochę szefa kuchni z poprzednich projektów, choć nie uważam się za eksperta. Starając się zachować należytą staranność, badałem alternatywne możliwości. Mamy wielu pracowników, którzy są długoletnimi użytkownikami Puppet i zachęcili mnie do obejrzenia.
Mam jednak problem z oceną obu opcji. Szefowie kuchni i Marionetki mają wiele terminów związanych z tą samą domeną - pakiety , zasoby , atrybuty i tak dalej, i mają wspólną historię, która wynika z różnych podejść do tego samego problemu. W pewnym sensie są bardzo podobne. Ale wiele informacji porównawczych, które znalazłem, takich jak ten artykuł , jest trochę nieaktualnych.
Gdybyś dzisiaj rozpoczynał ten projekt, jakie pytania zadałbyś sobie, decydując, czy powinieneś użyć Chef czy Puppet do zarządzania konfiguracją? (Uwaga: nie chcę odpowiedzi na pytanie „Czy powinienem używać szefa kuchni czy marionetki?”)