20 03.2015

Framework Server Farmer

Gdy myślimy o administracji jednym serwerem, sprawa wydaje się prosta. Owszem, sprawna administracja wymaga pewnych kompetencji, szczególnie jeśli chodzi o zapewnienie odpowiedniego poziomu bezpieczeństwa. Ale nadal wydaje się to proste, w końcu jeden serwer łatwo "ogarnąć". Podobnie jeśli myślimy o dwóch-trzech serwerach - to kwestia percepcji administratora. Co jednak, kiedy tych serwerów jest czterdzieści, albo tysiąc?

Ten problem zauważyło już wiele osób i stworzyło wiele lepszych lub gorszych rozwiązań. Jedne (np. PuTTY Connection Manager, na zdjęciu poniżej) umożliwiają połączenie terminalowe z wieloma serwerami jednocześnie i dzięki temu ręczne zarządzanie tymi serwerami z poziomu jednego ekranu. Ma to duży sens dla kilkunastu lub kilkudziesięciu serwerów z różnymi usługami, lub wręcz serwerów zarządzanych na zlecenie różnych przedsiębiorstw. Nie jest to jednak podejście skalowalne, przy setkach serwerów problem się powtarza.

PuTTY Connection Manager

Innym podejściem są systemy do półautomatycznego zarządzania konfiguracją serwerów w oparciu o tworzone przez administratora reguły, takie jak Puppet lub Chef. Systemy takie są w stanie co kilka minut porównywać bieżącą konfigurację każdego z serwerów z konfiguracją pożądaną, opisaną w specjalnym języku. Proces zarządzania serwerami w oparciu o te systemy można w dużym uproszczeniu opisać w kilku punktach:

  1. Administrator tworzy szablon konfiguracji serwera poczty i publikuje go w specjalnym repozytorium.
  2. Administrator na serwerze X dodaje rolę serwera poczty.
  3. Puppet po chwili wgrywa na serwer X poprawną konfigurację serwera poczty i przygotowuje go do działania.

Tego typu systemy są zdecydowanie najlepszym wyborem dla korporacji, posiadających setki serwerów. Są to bowiem systemy skalowalne, nastawione na efektywne zarządzanie setkami lub tysiącami serwerów. Systemy te niestety mają również wady, które sprowadzają się do wysokiego kosztu ich uruchomienia i utrzymania:

  • infrastruktura potrzebna do działania tych systemów (ich mechanizmów kolejkowania zadań, repozytoriów konfiguracyjnych itp.) to typowo kilka serwerów - czyli często więcej, niż cała infrastruktura małego przedsiębiorstwa spoza branży IT razem wzięta
  • obsługa tych systemów (np. tworzenie szablonów konfiguracji poszczególnych usług) wymaga przyswojenia sporej dawki wiedzy przez administratora i jest to wiedza specyficzna dla wybranego systemu
  • w repozytorium konfiguracyjnym znajdują się różne hasła, klucze itp. - a więc dla każdego przedsiębiorstwa (lub każdej "domeny zaufania") musimy uruchomić osobną instancję systemu, na odrębnej infrastrukturze (tj. poświęcając kolejne serwery)

Wspomniane systemy nie nadają się więc do zarządzania w modelu outsourcingowym wieloma serwerami różnych przedsiębiorstw, z których każde posiada od jednego do kilku serwerów. O wiele lepiej nadaje się do tego framework Server Farmer, będący czymś pośrednim pomiędzy menedżerami połączeń z wieloma serwerami jednocześnie, a systemami do zarządzania konfiguracją typu Puppet. Aby zagwarantować jego wysoką jakość, jest on rozwijany w modelu open source, a więc jego kod źródłowy jest dostępny za darmo dla wszystkich zainteresowanych i każdy może spróbować z niego skorzystać.

Server Farmer

Czym różni się Server Farmer od dziesiątek innych rozwiązań? Krótko mówiąc, dostosowaniem do modelu działania, w którym jeden dostawca usług administracji serwerami obsługuje wiele niewielkich przedsiębiorstw spoza branży IT. A więc:

  • posiadających najczęściej jeden lub kilka serwerów, umieszczonych najczęściej w siedzibie firmy
  • czasem posiadających jeden serwer dedykowany w zewnętrznym data center
  • posiadających w miarę stałe potrzeby IT

Server Farmer oparty jest na czterech filarach: monitoringu, bezpieczeństwie, oszczędzaniu zasobów i centralnym zarządzaniu. Omówmy je pokrótce:

  1. Jego sercem jest ścisła integracja z centralnym systemem monitoringu serwerów i usług. Dzięki niej widzimy, że z Twoim serwerem dzieje się coś niespodziewanego, albo że po prostu Twoje potrzeby powoli zbliżają się do granicy jego fizycznych możliwości i jesteśmy w stanie szybko interweniować. Najważniejszym wymogiem IT od strony klienta jest bowiem najczęściej po prostu to, aby problemy IT nie przerywały mu pracy.
  2. Drugim, niemniej ważnym filarem jest ogólnie pojęte bezpieczeństwo. A więc przede wszystkim przemyślane zabezpieczenia przed utratą danych (tak aby koszt ich ochrony był zawsze adekwatny do potrzeb biznesowych), ale także bezpieczeństwo serwera względem aktywności hackerskiej. W ten sposób adresujemy drugi najważniejszy wymóg IT, którym jest spokojny sen klienta.
  3. Trzecim wymogiem IT ze strony klienta są rozsądne koszty obsługi IT, w tym zarówno rozsądne koszty pracy, jak i rozsądne koszty samych serwerów. Server Farmer pomaga centralizować powtarzalne na wszystkich serwerach usługi takie jak syslog (logowanie komunikatów na potrzeby administracji), czy mta (lokalny serwer poczty). Jeśli więc masz kilka serwerów, Server Farmer pozwoli Ci zarówno uprościć konfigurację usług na nich, jak i zaoszczędzić nieco na mocy obliczeniowej.
  4. Ostatnim filarem są automatycznie instalowane na serwerach klucze ssh pozwalające na zdalne zarządzanie serwerami z centralnego serwera konfiguracyjnego (podobnie jak w przypadku Puppeta, rola centralnego repozytorium nadal tutaj występuje, lecz w tym rozwiązaniu to centralny serwer ma klucze do zarządzanych serwerów a nie odwrotnie, dzięki czemu nie występuje już konieczność separacji tych repozytoriów pomiędzy przedsiębiorstwami).

Więcej informacji o projekcie Server Farmer:



Tomasz Klim
Administrator serwerów i baz danych, specjalista w zakresie bezpieczeństwa, architekt IT, przedsiębiorca. Ponad 15 lat w branży IT. Pracował dla największych i najbardziej wymagających firm, jak Grupa Allegro czy Wikia. Obecnie zajmuje się doradztwem dla klientów Fajne.IT, a w wolnych chwilach pisze artykuły. Chętnie podejmuje się ciekawych zleceń.


Wzbudziliśmy Twoje zainteresowanie?

Szukasz pomocy IT? formularz kontaktowy