Obecnie najbardziej dojrzałym narzędziem do zarządzania konfiguracją jest Puppet. Ale wiem, że pewnie się zastanawiasz, dlaczego Puppet jest tak popularny i co sprawia, że jest wyjątkowy w porównaniu z innymi narzędziami do zarządzania konfiguracją.Na tym blogu „Co to jest marionetka” odpowiem na te pytania i pomogę podążać ścieżką .
Co to jest lalka?
Puppet to narzędzie do zarządzania konfiguracją, które służy do wdrażania, konfigurowania i zarządzania serwerami. Wykonuje następujące funkcje:
- Definiowanie odrębnych konfiguracji dla każdego hosta oraz ciągłe sprawdzanie i potwierdzanie, czy wymagana konfiguracja jest na miejscu i nie jest zmieniana (jeśli zmieniona Puppet powróci do wymaganej konfiguracji) na hoście.
- Dynamiczne skalowanie w górę i w dół maszyn.
- Zapewnienie kontroli nad wszystkimi skonfigurowanymi maszynami, dzięki czemu scentralizowana (oparta na serwerze głównym lub repozytorium) zmiana jest automatycznie propagowana do wszystkich.
Puppet wykorzystuje architekturę Master Slave, w której Master i Slave komunikują się za pośrednictwem bezpiecznego, zaszyfrowanego kanału za pomocą SSL. Architektura lalek jest szczegółowo wyjaśniona w moim Samouczek lalek Blog.
Obejrzyj ten film na Puppet, aby lepiej zrozumieć.
Co to jest Puppet? | Szkolenie DevOps | Edureka
Teraz, gdy wiesz, czym jest Puppet, pozwól nam zrozumieć przyczyny popularności Puppet.
Co to jest marionetka - kluczowe wskaźniki
Poniżej kilka faktów na temat Puppet:
- Duża zainstalowana podstawa: Puppet jest używany przez ponad 30 000 firm na całym świecie, w tym Google, Red Hat, Siemens itp., A także kilka uniwersytetów, takich jak Stanford i Harvard Law School. Średnio 22 nowe organizacje dziennie używają Puppet po raz pierwszy.
- Duża baza programistów: Marionetka jest tak szeroko stosowana, że wiele osób się do niej rozwija. Puppet ma wielu współpracowników do swojego podstawowego kodu źródłowego.
- Długa historia handlowa: Puppet jest używany komercyjnie od 2005 roku i jest stale udoskonalany i ulepszany. Został wdrożony w bardzo dużych infrastrukturach (ponad 5000 maszyn), a wnioski dotyczące wydajności i skalowalności wyciągnięte z tych projektów przyczyniły się do rozwoju Puppet.
- Dokumentacja: Puppet ma dużą witrynę wiki obsługiwaną przez użytkowników z setkami stron dokumentacji i obszernymi odniesieniami zarówno do języka, jak i typów zasobów. Ponadto jest aktywnie omawiany na kilku listach mailingowych i ma bardzo popularny kanał IRC, więc niezależnie od problemu z Puppetem, łatwo jest znaleźć odpowiedź.
- Wsparcie platformy: Puppet Server może działać na dowolnej platformie obsługującej ruby, np. CentOS, Microsoft Windows Server, Oracle Enterprise Linux itp. Nie tylko obsługuje nowe systemy operacyjne, ale może również działać na stosunkowo starych i nieaktualnych wersjach systemu operacyjnego i Ruby także.
Jest teraz oczywiste, że Puppet ma ogromny popyt na całym świecie. Ale zanim zagłębię się w Puppet, sprawiedliwe jest, że najpierw wyjaśnię, czym jest zarządzanie konfiguracją i dlaczego jest ważne.
Zarządzanie konfiguracją
Administratorzy systemów zwykle wykonują powtarzalne zadania, takie jak instalowanie serwerów, konfigurowanie tych serwerów itp. Mogą zautomatyzować to zadanie, pisząc skrypty, ale jest to bardzo gorączkowa praca, gdy pracujesz nad dużą infrastrukturą.
By rozwiązać ten problem, Zarządzanie konfiguracją został wprowadzony. Zarządzanie konfiguracją to praktyka polegająca na systematycznej obsłudze zmian, tak aby system zachował integralność w czasie. Zarządzanie konfiguracją (CM) zapewnia, że obecny stan projektu i kompilacji systemu jest znany, dobry i zaufany oraz nie opiera się na cichej wiedzy zespołu programistów. Umożliwia dostęp do dokładnego, historycznego zapisu stanu systemu na potrzeby zarządzania projektami i audytu. Zarządzanie konfiguracją pokonało następujące wyzwania:
- Dowiedzieć się, które komponenty zmienić, gdy zmienią się wymagania.
- Ponowne wykonanie implementacji, ponieważ wymagania uległy zmianie od czasu ostatniej implementacji.
- Przywracanie poprzedniej wersji komponentu w przypadku wymiany na nową, ale wadliwą wersję.
- Zastąpienie niewłaściwego komponentu, ponieważ nie można było dokładnie określić, który komponent wymaga wymiany.
Zrozummy jego znaczenie poprzez przypadek użycia.
Najlepszym przykładem, jaki znam, jest giełda nowojorska (NYSE). „Usterka” oprogramowania uniemożliwiła NYSE handel akcjami przez prawie 90 minut. Doprowadziło to do milionów dolarów strat. Problem spowodował nowa instalacja oprogramowania. To oprogramowanie zostało zainstalowane na 8 z 20 terminali handlowych, a system został przetestowany poprzedniego wieczoru. Jednak rano nie działał poprawnie na 8 terminalach. Więc trzeba było wrócić do starego oprogramowania. Można by pomyśleć, że była to porażka procesu zarządzania konfiguracją NYSE, ale w rzeczywistości był to sukces. W wyniku prawidłowego procesu zarządzania konfiguracją NYSE wyszło z tej sytuacji w ciągu 90 minut, co było dość szybkie. Gdyby problem trwał dłużej, konsekwencje byłyby poważniejsze.
Mam nadzieję, że wiesz, jak ważne jest zarządzanie konfiguracją. Etap zarządzania konfiguracją można uznać za podstawę metodyki DevOps. Pozwala na częstsze wydawanie oprogramowania w najbezpieczniejszy i najbardziej niezawodny sposób.
Następnie zobaczmy kilka zastosowań Puppet.
What Is Puppet - Applications Of Puppet
Zrozummy zastosowania Puppet na podstawie studium przypadku. Jeśli jesteś entuzjastą pokera lub kiedykolwiek grałeś w gry online, to na pewno słyszałeś o Zyndze. To największy na świecie twórca gier społecznościowych. Infrastruktura Zynga wykorzystuje dziesiątki tysięcy serwerów zarówno w chmurze publicznej, jak i prywatnych centrach danych. Na początku używali procesu ręcznego, w tym kickstarterów i post-instalacji, aby udostępnić setki serwerów online.
Teraz zobaczymy, jakie problemy napotkali podczas tego procesu:
- Skalowalność i spójność - Zynga przeżywała fenomenalny rozwój, a jej infrastruktura musiała dotrzymywać kroku branży. Rozwiązania oparte na skryptach i ręczne podejścia nie były wystarczające dla ich potrzeb.
- Infrastruktura przenośna - Firma Zynga potrzebowała sposobu na wykorzystanie spójnego podejścia do zarządzania konfiguracją zarówno w infrastrukturze chmury publicznej, jak i we własnych centrach danych.
- Elastyczność - Biorąc pod uwagę różnorodność różnych właściwości gier Zynga, ważne było, aby zespół mógł szybko dopasować odpowiednią konfigurację do właściwej maszyny.
- Wgląd w infrastrukturę - Wraz z dojrzewaniem organizacji ważniejsze stało się posiadanie zautomatyzowanej metody wizualizacji właściwości każdej maszyny.
Firma była na tyle sprytna, że szybko zdała sobie sprawę z potrzeby zautomatyzowanego procesu, zanim jeszcze osiągnęła szybkie skalowanie, i wtedy pojawił się Puppet. Zrozummy, jak Puppet przyczynia się do ich organizacji.
- Szybkość odzyskiwania - Zespół operacyjny może szybko wdrożyć odpowiednią konfigurację w odpowiednim pudełku. Jeśli system zostanie nieprawidłowo skonfigurowany, Puppet automatycznie przywróci go do ostatniej stabilnej stan,lub podać szczegóły niezbędne do szybkiej ręcznej naprawy systemu.
- Szybkość wdrażania - Puppet zapewnił znaczne oszczędności czasu w sposobie, w jaki zespół operacyjny świadczy usługi dla studiów gier.
- Spójność serwerów - Struktura oparta na modelach Puppet zapewnia spójne wdrożenia. Według Mark Stockford, wiceprezes ds. Produkcji , Zynga „Widać, że zaoszczędziliśmy czas. Piękno korzystania z Puppet polega na tym, że pozwala nam dostarczać spójne konfiguracje na naszych serwerach w krótkim czasie za każdym razem ”.
- Współpraca - Podejście oparte na modelach ułatwia współdzielenie konfiguracji w całej organizacji, umożliwiając programistom i zespołom operacyjnym współpracę w celu zapewnienia niezwykle wysokiej jakości świadczenia nowych usług. Kilkanaście osób z zespołu Zyngi zostało przeszkolonych w Puppet.Ta wiedza została rozpowszechniona w całym zespole i zespołach operacyjnych w każdym indywidualnym studiu gier.
Blog After What is Puppet , kliknij tutaj, aby odwiedzić mój następny blog na temat Puppet Tutorial który będzie zawierał architekturę Puppet i składniki Puppet. Wytłumaczę również kroki wdrażania MySQL i PHP przy użyciu Puppet. Puppet jest najczęściej używanym narzędziem do tworzenia DevOps w organizacjach z dużą infrastrukturą.
Jeśli znalazłeś to blog na „ Co to jest Puppet ' istotnych, Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka DevOps Certification Training pomaga uczniom zdobyć wiedzę na temat różnych procesów DevOps i narzędzi, takich jak Puppet, Jenkins, Nagios i GIT, do automatyzacji wielu kroków w SDLC.
co to jest przestrzeń nazw w C ++