Puppet Enterprise a bezpłatna lalka Open Source: która jest dla Ciebie odpowiednia?


Przeprowadziłeś więc badania i zdecydowałeś się na Puppet jako narzędzie do zarządzania konfiguracją (CM) i automatyzacji. Ale występuje w 2 smakach: komercyjny produkt korporacyjny i bezpłatna wersja open source. Czy w tym przypadku można pokonać opłatę za darmo? Zagłębmy się w szczegóły, które pomogą Ci podjąć decyzję.

Open Source ≠ za darmo

Po pierwsze, uwaga dotycząca oprogramowania open source: większość, jeśli nie wszystkie narzędzia CM na rynku są open source. Ich kod źródłowy jest w pełni modyfikowalny i redystrybuowany, co daje organizacjom elastyczność w modyfikowaniu oprogramowania w celu dopasowania go do unikalnych wymagań. Tak więc, chociaż open source jest równoznaczny z wolnością oprogramowania, niekoniecznie oznacza to darmowość. Zazwyczaj podstawowa funkcjonalność jest dostępna w standardzie, a inne funkcje premium są dostępne do zakupu (np. freemium). Ostatecznie wszystko sprowadza się do tego, w jaki sposób dostawca zdecyduje się strategicznie spakować swoje rozwiązanie. Weźmy jako reprezentatywny przykład arcywroga/odpowiednika Open Source Puppet Open Source Chef.

— Zaraz, zaraz... " pytasz. "Chef ma darmową wersję open source swojego produktu?"

W rzeczywistości tak jest - choć może nie być to łatwo widoczne lub tak o tym określone. Według Chefa, nie sprzedaje wersji open source swojego rozwiązania, ponieważ "istnieje tylko jeden całkowicie darmowy, w pełni Open Source, Chef Server. Słusznie, chociaż funkcje takie jak konsola zarządzania i funkcje replikacji są dostępne tylko za opłatą (lub są poważnie ograniczone). Podobnie Puppet Enterprise jest wyposażony w dodatkowe funkcje i oficjalne wsparcie ze strony Puppet Labs, którego nie ma w darmowej wersji open source.

Platforma marionetkowa

Puppet został napisany w Ruby i używa deklaratywnego języka podobnego do Ruby Domain-Specific Language (DSL) w swoim środowisku wiersza poleceń (czysta obsługa Ruby została od tego czasu zakończona). Wykorzystuje idempotentny model master-agent składający się z centralnego serwera kontrolującego zwanego - odpowiednio - Puppet Master oraz floty węzłów kontrolowanych przez agenta.

Idempotencja jest ważną zasadą przy omawianiu narzędzi CM: oznacza to, że możesz bezpiecznie uruchomić Puppet wiele razy i wprowadzi on jakiekolwiek zmiany w systemie tylko wtedy, gdy stan systemu nie jest zgodny ze skonfigurowanym stanem. Inną ważną koncepcją, którą należy zrozumieć, jest to, że Puppet DSL (Domain Specific Language) jest deklaratywny: Oznacza to, że wystarczy opisać żądany stan końcowy systemu, a Puppet posortuje kroki potrzebne do osiągnięcia tego celu. W przeciwieństwie do języka imperatywnego, nie musisz zastanawiać się nad wszystkimi krokami wymaganymi do osiągnięcia pożądanego stanu końcowego. Puppet obsługuje wszystkie główne systemy operacyjne - Linux, *nix, Windows i MacOS. Jest to niewątpliwie główny czynnik napędzający jego powszechne przyjęcie, ponieważ wiele konkurencyjnych rozwiązań jest dostępnych tylko na platformach *nix.

Marionetka typu open source

Puppet o otwartym kodzie źródłowym jest darmowy i otwarty na modyfikację i dostosowywanie. Otrzymujesz kompleksowe narzędzie z podstawowymi możliwościami i funkcjonalnością CM od razu po wyjęciu z pudełka i - jeśli posiadasz zestaw umiejętności - możesz je modyfikować i ulepszać bezpośrednio poprzez bezpośrednią modyfikację kodu źródłowego. Uzyskujesz dostęp do ogromnej kolekcji modułów: jednostek kodu wielokrotnego użytku, które można z kolei wykorzystać do rozszerzenia Puppet na całą infrastrukturę, automatyzując między innymi zadania, takie jak konfigurowanie bazy danych, serwera WWW lub serwera poczty. Na przykład, jeśli automatyzujesz udostępnianie i wdrażanie nowego serwera WWW Apache, nie ma potrzeby pisania własnego zestawu poleceń Puppet od zera - po prostu przejdź do repozytorium modułów PuppetForge i pobierz wszystko, czego potrzebujesz z biblioteki 3,500+ modułów.

Jako dojrzała, sprawdzona w branży technologia, Puppet cieszy się sporą i aktywną społecznością użytkowników, mnóstwem darmowej, doskonałej dokumentacji i innymi powiązanymi zasobami online, takimi jak wiki i listy mailingowe. Jednak Open Source Puppet nie ma sprytnego graficznego interfejsu użytkownika do zarządzania dostępnego w ofercie Enterprise — powszechnie uważanego za najlepszy w swojej klasie. To prawda, że CLI może nadal robić wszystko, co może GUI, ale ten ostatni znacznie ułatwia życie - szczególnie dla początkujących próbujących nauczyć się systemu. Doświadczeni pracownicy operacyjni, którzy pragną szybkiego, wizualnego sposobu wdrażania i monitorowania wdrożeń dla dużych konfiguracji, doceniają również scentralizowany pulpit nawigacyjny GUI. W rzeczywistości wiele osób decyduje się na implementację Foremana jako kompetentnego, darmowego graficznego interfejsu użytkownika do interfejsu z Puppet. Wcześniej szczegółowo omówiliśmy Foremana, więc koniecznie zapoznaj się z naszym podejściem do popularnej platformy orkiestracji. Biorąc pod uwagę powyższe, Open Source Puppet jest używany głównie w mniejszych infrastrukturach i wdrożeniach.

Aby uzyskać więcej informacji na temat Foremana, zapoznaj się z naszym porównaniem Foreman vs. SaltStack.

Marionetkowe przedsiębiorstwo

Biorąc pod uwagę, że otrzymujesz podstawową funkcjonalność Puppet za darmo w wersji open source, dlaczego u licha miałbyś zdecydować się na wersję Enterprise? Zawsze są kompromisy, gdy decydujesz się na budowanie lub kupowanie. Wiele przedsiębiorstw zaczyna od wersji open source tylko po to, aby zdać sobie sprawę, że nie mają czasu ani zasobów na utrzymanie wdrożenia lub potrzebują dodatkowych możliwości, które muszą zbudować i utrzymywać samodzielnie.

Oto niektóre z najpopularniejszych powodów, dla których duże organizacje wybierają Puppet Enterprise:

  1. Pakowanie - Puppet Enterprise zawiera ponad 40+ projektów open source (MCollective, Facter, Hiera itp.) w prostym instalatorze. Pozwala to zespołom zaoszczędzić cenny czas na pakowanie i zarządzanie zależnościami dla wdrożeń Puppet.
  2. Skalowalność od razu po wyjęciu z pudełka — Puppet Enterprise jest stabilny, przetestowany i wzmocniony oraz zawiera instalator z wieloma wzorcami dla dużych wdrożeń.
  3. Interfejs użytkownika - intuicyjne, wizualne środowisko zawierające obszerną kolekcję bardzo przydatnych funkcji — pulpity nawigacyjne do łatwego monitorowania, zaawansowane możliwości raportowania, możliwości alertów, ujednolicony instalator i możliwość wdrażania agentów za pomocą zaledwie kilku kliknięć myszką. I znowu, GUI jest znacznie bardziej przydatnym interfejsem zarówno dla początkujących, którzy chcą nauczyć się Puppet, jak i zapracowanych ludzi, którzy chcą uniknąć wpisywania powtarzających się poleceń.
  4. Puppet Apps: a. Puppet Node Manager — klasyfikator węzłów oparty na regułach, który grupuje węzły na podstawie kluczowych cech, takich jak system operacyjny, lokalizacja graficzna i jednostka biznesowa. b. Puppet Code Manager — wykorzystuje technologię r10k do wdrażania zmian w infrastrukturze w sposób testowalny i programowy. W połączeniu z narzędziami Jenkins i Beaker firmy Puppet Labs do testowania akceptacyjnego można zastosować praktyki ciągłego dostarczania do kodu infrastruktury. c. Puppet Configuration Manager — uzyskiwanie wglądu w relacje konfiguracji węzłów w celu zapewnienia niezawodnych wdrożeń. Możesz wizualizować i łatwo mapować relacje między zasobami w węźle na potrzeby rozwiązywania problemów.
  5. Możliwości tylko dla przedsiębiorstw a. Kontrola dostępu oparta na rolach — ważna dla dużych, rozproszonych zespołów kontrola dostępu oparta na rolach umożliwia bezpieczne delegowanie zadań do poszczególnych osób i grup. Puppet Enterprise integruje się bezpośrednio z usługami katalogowymi, takimi jak Active Directory i Open LDAP. Przeczytaj nasz kompletny przewodnik na temat kontroli dostępu opartej na rolach tutaj. b. Raportowanie - Raportowanie serwera Puppet gromadzi szeroką gamę wskaźników dotyczących stanu i wydajności serwera Puppet, w tym aktywnych żądań, czasu trwania żądania, czasu wykonania i obciążenia kompilacji. c. Inspekcja zdarzeń - Przetwarza tysiące informacji generowanych przez Puppet Enterprise i wizualizuje zmiany według węzłów, klas i zasobów, dzięki czemu wiesz dokładnie, co się zmieniło, Gdzie i jak
  6. Obsługiwane moduły: Klienci korporacyjni mogą zadzwonić do pomocy technicznej, gdy potrzebują pomocy dotyczącej dowolnego z obsługiwanych modułów Puppet. Obsługiwane moduły obejmują krytyczne usługi, takie jak Apache, MySQL, NTP, F5, Windows Registry, Docker, AWS i inne. Niektóre moduły, takie jak moduły SQL Server i VMware vSphere, są dostępne tylko dla Puppet Enterprise.
  7. Automatyczna aprowizacja: obsługa automatycznego udostępniania kontenerów, chmury, maszyn wirtualnych i systemu fizycznego.
  8. Oficjalne wsparcie Puppet Labs: Przedsiębiorstwa często unikają ofert open source z powodu postrzeganego braku oficjalnego sponsoringu i wsparcia korporacyjnego. Dla średnich i dużych klientów korporacyjnych z setkami lub tysiącami węzłów do zarządzania spokój ducha wynikający z oprogramowania wspieranego przez dostawcę jest niezbędny. Aktualizacje produktów, konserwacja i szkolenia są dostępne od razu po wyjęciu z pudełka z Puppet Enterprise, z opcjami pomocy technicznej dostępnymi zarówno w formacie Standard (9-17, 5 dni w tygodniu), jak i Premium (24x7x365).
  9. Dostęp do usług profesjonalnych: Usługi profesjonalne mogą pomóc we wdrożeniu oprogramowania Puppet Enterprise, uaktualnieniach, dostosowywaniu i edukacji. Ponadto konsultant ds. usług profesjonalnych Puppet Labs może ocenić Twoją infrastrukturę Open Source Puppet i przedstawić zalecenia dotyczące najlepszych praktyk, które pomogą w migracji do Puppet Enterprise.

Oczywiście minusem wszystkich tych korzyści jest to, że będzie Cię to kosztować. Puppet Enterprise jest warstwowy na podstawie liczby zarządzanych węzłów i wybranego planu pomocy technicznej. Ceny wahają się od 112 USD za węzeł/rok w przypadku standardowego planu pomocy technicznej do 199 USD za węzeł/rok w przypadku planu premium. Dla porównania, standardowa subskrypcja na 100 wirtualnych węzłów Red Hat Enterprise Linux Server wyniosłaby 39 950 USD rocznie. Więcej szczegółów na temat cen można znaleźć na stronie z cenami Puppet Lab.

Streszczenie

W takim przypadku opłata za bezpłatne pokonanie tylko wtedy, gdy dodatkowe funkcje i korzyści Puppet Enterprise wymienione powyżej nie mają zastosowania w Twoim przypadku użycia. Mniejsze, skoncentrowane na programistach konfiguracje i "jednorazowe" projekty najlepiej nadają się do Open Source Puppet, ale wymagają większej biegłości technicznej, aby skutecznie zarządzać. I chociaż brakuje mu kompetentnego graficznego interfejsu użytkownika, Open Source Puppet można rozszerzyć o bezpłatne narzędzia, takie jak Foreman, do łatwego, wizualnego zarządzania węzłami i zasobami. Z drugiej strony, przedsiębiorstwa, które potrzebują wsparcia i możliwości zarządzania klasy korporacyjnej, bez wątpienia będą lepiej obsługiwane przez oszczędzający czas graficzny interfejs użytkownika Puppet Enterprise, gotową skalowalność, dokładnie przetestowane wersje oraz solidne aplikacje i funkcje. między innymi.

*specjalne podziękowania dla Puppet Labs za szczegółowe informacje o produkcie i aktualizacje/wyjaśnienia dotyczące informacji zawartych w tym artykule.

Powiązane artykuły