Zarządzanie serwerami - jaka automatyzacja?

Hej, szukam narzędzi, które ułatwią mi zarządzanie większą liczbą serwerów (ok. 20 maszyn na Linuxie). Manualne ogarnianie każdego z nich zaczyna mnie przerastać. Myślałem o jakimś automatyzatorze, ale nie wiem, które rozwiązanie byłoby najwygodniejsze. Jakieś propozycje?

a bym zaczął od narzędzia do automatyzacji konfiguracji – pomaga na przykład aktualizować wszystkie maszyny naraz albo wdrażać jakieś zmiany. Możesz też skonfigurować backupy i monitorowanie. Jeśli chodzi o monitorowanie, warto rozważyć jakieś rozwiązanie, które pozwoli ci mieć podgląd stanu maszyn i dostawać powiadomienia, jak coś się dzieje. Z mojej strony polecam takie rozwiązania, które są łatwe do wdrożenia i konfiguracji, zwłaszcza przy takiej liczbie serwerów.

Poszukaj ewentualnie serwerów z Hetzner. Wchodząc z tego linka dostaniesz €20 na start - wystarczy na przetestowanie serwerów.

Jeśli manualne ogarnianie zaczyna Cię męczyć, to ewidentnie czas na automatyzację! Przy takiej liczbie maszyn idealnie sprawdzą się narzędzia do zarządzania konfiguracją. Kilka opcji, które możesz rozważyć:

  1. Ansible – mega popularny, dość prosty w obsłudze (nie wymaga agentów na serwerach, działa po SSH). Piszesz playbooki w YAML i jazda. Idealny na początek.
  2. Puppet – bardziej zaawansowany, ale wymaga trochę więcej konfiguracji. Sprawdza się przy większych środowiskach i jak potrzebujesz czegoś bardziej „enterprise”.
  3. Chef – podobny do Puppeta, ale konfiguracje piszesz w Ruby. Jeśli lubisz kodować, może być ciekawą opcją.
  4. SaltStack – szybki i skalowalny, fajny przy dynamicznych środowiskach. Obsługuje zarówno model master-agent, jak i bezpośrednią komunikację.

Jeśli nie chcesz od razu wchodzić w automatyzację konfiguracji, to ogarnij sobie chociaż jakieś narzędzie do zarządzania sesjami SSH, np. tmux + skrypty Bash, albo coś bardziej dedykowanego, jak Mosh.

A jak już wgryziesz się w temat, może Kubernetes? Ale to bardziej, jeśli planujesz jakieś konteneryzowanie. :wink: