Jakie narzędzia administracyjne daje mi chmura obliczeniowa?
Przygotowałem już słowniczek najważniejszych pojęć związanych z zagadnieniami chmury obliczeniowej oraz opisałem różnice pomiędzy serwerem dedykowanym, VPS-em i serwerem w chmurze. Tym razem chcę podejść do tematu od strony czysto praktycznej. Opowiem, z jakich dodatkowych usług może skorzystać administrator chmury i do czego te narzędzia będą potrzebne.
Oprócz podstawowych elementów, takich jak moc obliczeniowa czy przestrzeń dyskowa, chmura obliczeniowa oferuje też dodatkowe usługi. Są to narzędzia pozwalające m.in. na backupowanie, klonowanie i wykonywanie tzw. snapshotów. Do dyspozycji administratora oddane są też kontenery, schedulery, sieci prywatne i narzędzia monitorujące. Dzięki takiemu zestawowi narzędzi praca administratora staje się lżejsza.
Jak w praktyce narzędzia dostępne dla administratora chmury ułatwiają życie
To od administratora zależy, jak chmura będzie służyć w firmie, w której pracuje. Admin sam wybiera też, jakich dodatkowych narzędzi będzie potrzebować. Kilka z nich jest jednak niezbędnych. Opisane poniżej narzędzia pozwalają między innymi na zaplanowane wykonywanie kopii zapasowych, a także wygodne i proste przywrócenie backupu.
Za pomocą kontenerów grupuje się instancje, co pozwala na sprawniejsze zarządzanie zasobami i ich możliwie optymalne wykorzystanie przy użyciu np. load balancera i Autoskalera. Scheduler z kolei zautomatyzuje niektóre czynności, takie jak np. tworzenie kopii zapasowych i zwiększanie dostępnej mocy w zależności od pory dnia. Dzięki temu system nie wymaga każdorazowo ingerencji administratora.
Sieci prywatne z kolei zwiększają bezpieczeństwo, izolując wybrane instancje od sieci publicznej. Monitoring zaś w porę ostrzega przed niebezpieczeństwami i pozwala przeciwdziałać problemom, a analiza logów pozwala administratorowi na znaczne szybsze wykrycie usterki i minimalizację spowodowanych przez nią strat.
Zanim zaczniesz lekturę tego materiału - rzuć okiem na mój starszy wpis “Chmura nie jest homogeniczna: co znajdziesz w jej środku i jak możesz to wykorzystać w swojej pracy?”
Backup to podstawa
Podstawowym narzędziem towarzyszącym pracy administratora w chmurze jest funkcja tworzenia backupów. O konieczności tworzenia kopii zapasowych, zwłaszcza w infrastrukturach firmowych, nie trzeba nikogo przekonywać - cykliczne wykonywanie kopii i jej odpowiednie zabezpieczenie to po prostu obowiązek każdego administratora.
Czasy, w których uruchomienie takich usług jak backup danych wymagałoby jakiejś głębszej wiedzy informatycznej, odeszły. Stało się to za sprawą chmur obliczeniowych oraz ich nowoczesnych i przyjaznych paneli administracyjnych. Obecnie znaczna część dostępnych paneli administracyjnych jest przejrzysta i intuicyjna - aby to udowodnić, poniżej wymienię kroki, jakie należy poczynić w celu konfiguracji kopii zapasowej w Oktawave przy pomocy naszego panelu:
- z poziomu instancji przechodzimy do zakładki Schedulery;
- ustawiamy nazwę dla kopii, jej typ oraz cykl;
- parametr Akcja ustawiamy jako Utworzenie kopii zapasowej (wtedy będziemy mogli określić lokalizację gdzie przetrzymywana będzie kopia);
- zatwierdzamy proces.
Efektem będzie przeniesienie instancji w postaci backupu do usługi obiektowego systemu przechowywania danych (czyli OCS).
Import maszyny z kopii zapasowej jest również prosty i intuicyjny. Aby tego dokonać, należy przejść do menu Usługi, znaleźć pozycję o nazwie Import/Export i wybrać polecenie Import. W nowym oknie wystarczy wpisać nazwę utworzonego backupu, ścieżkę dostępu i gotowe.
Zbawienne snapshoty
W pracy administratora nieodzowny może okazać się snapshot, czyli kopia migawkowa typu copy-on-write. To nieco inny typ backupowania, który rejestruje przyrostowo wszystkie zmiany, jakie zachodzą na pamięci masowej we wszystkich dyskach podpiętych do konkretnej instancji serwerowej.
Snapshot nie wymaga każdorazowo kopiowania instancji jeden do jednego lub zapisywania wszystkich danych do kopii zapasowej. Co więcej, snapshoty tworzą wiele punktów przywracania. Dzięki snapshotom możliwe jest szybkie przywrócenie do życia stanu infrastruktury z danego momentu czasowego, co staje się szczególnie istotne np. w trakcie publikacji nowej wersji aplikacji do środowiska produkcyjnego.
Trzeba pamiętać, że długotrwałe działanie takiej migawki sprawia, że plik z danymi powiększa się przyrostowo i im dłużej działa snapshot, tym więcej miejsca zajmuje tego typu kopia. Może to wiązać się z większymi kosztami i nie zawsze będzie ekonomicznie uzasadnione.
Klonowanie maszyny jako forma kopii zapasowej
Naturalnie w charakterze backupu może również wystąpić klon maszyny, czyli snapshot typu split-mirror. Taki klon maszyny tworzy fizyczną kopię wszystkich danych, czego efektem jest nowa instancja - identyczna jak pierwotna.
Do wykonać kopi zapasowej w postaci sklonowanej maszyny, wystarczy przejść do zakładki instancji i z jej górnej części wybrać opcję Klonuj - to wszystko. Po opis tego działania wzbogacony o ilustracje odsyłam do naszej bazy wiedzy.
Kontenery, czyli grupowanie instancji
Kontenery w cloud computingu pozwalają administratorom na grupowanie poszczególnych instancji, co pozytywnie wpływa na komfort pracy, ale przede wszystkim umożliwia dalsze zarządzanie nimi jako grupą. Można porównać je do folderów na dysku twardym komputera domowego - tylko zamiast plików, przechowuje się w nich całe maszyny wirtualne.
Load balancer
Dzięki kontenerom można grupować w jednym miejscu instancje obsługujące np. tę samą aplikację. Kontenery, co jest jedną z ich największych zalet, umożliwiają włączenie usługi rozkładania ruchu. Load balancer przekierowuje ruch na inne instancje znajdujące się wewnątrz danego kontenera, aby nie dopuścić do przeciążenia którejś z nich.
Pogrupowanie instancji w kontenerze pozwala na płynne przekazywanie dostępnych zasobów w zależności od aktualnych potrzeb, co pozwala na ich optymalne wykorzystanie. Administrator może też wybrać, jak ma wyglądać przekierowanie ruchu, czyli np. będzie on kierowany w pierwszej kolejności do instancji z najmniejszą liczbą połączeń lub alternatywnie do instancji o najkrótszym czasie odpowiedzi.
Autoskaler
Load balancer zajmuje się przekierowaniem ruchu do instancji obecnych w kontenerze. Autoskaler zajmuje się z kolei dynamiczną zmianą parametrów samej instancji. Połączenie load balancera i Autoskalera jest gwarancją płynności i stabilności działania usług w każdych okolicznościach.
Wyszczególnić można dwa rodzaje Autoskalera:
- wertykalny: zmiana i dostosowanie ilości pamięci RAM i liczby CPU,
- horyzontalny: zmienianie liczny instancji w kontenerze obsługującym daną usługę.
Trzeba pamiętać, że włączenie Autoskalera powoduje stałe monitorowanie obciążenia kontenerów i znajdujących się w nich instancji. Autoskaler pozwala zmienić (bez konieczności potwierdzenia) klasę instancji OCI - w dół i w górę (downscalling, czyli zmiana klasy maszyny w dół wymaga restartu). Pozwoli to też na zmianę przydzielonej pamięci.
Reakcję Autoskalera na zadane obciążenie można ustalić w panelu każdej instancji - można wybrać automatyczne działanie (wertykalne lub horyzontalne), lub np. wyłącznie ustalić powiadomienie e-mail przy obciążeniu przekraczającym 80% mocy i trwającym dłużej niż kwadrans.
Przy autoskalingu kontenerów można zaznaczyć minimalną i maksymalną liczbę instancji OCI. Minimalna granica służy temu, by nagły skok ruchu nie sparaliżował usługi, a maksymalna zapobiega wyczerpaniu budżetu przy prawdziwie wysokim wzroście.
Uwaga! Domyślnie Autoskaler jest wyłączony.
Scheduler, czyli pomocnik automatyzacji
Scheduler to kolejny podstawowy, ale też obowiązkowy element chmury. Dla administratora to jedno z podstawowych narzędzi znacznie ułatwiających pracę.
Funkcją schedulera jest automatyczne wykonywanie zadanych czynności, w tym akcji na instancjach lub całych kontenerach. W zależności od oferty dostawcy usług można za pomocą schedulera ustawić takie akcje, jak:
- tworzenie kopii zapasowych o określonych godzinach;
- włączanie i wyłączanie całej floty wirtualnych serwerów;
- odłączanie wybranej instancji od kontenera.
Akcje zaplanowane w schedulerze mogą być jednorazowe lub cykliczne (powtarzanie co określoną liczbę dni lub nawet tygodni). Tworząc nową pozycję, wybiera się datę i godzinę, kiedy ma zostać po raz pierwszy uruchomiona.
Sieci prywatne
Kolejnym z narzędzi oddanych w ręce administratora chmury są sieci prywatne. Wygodne tworzenie takich sieci stało się zwiększającym bezpieczeństwo standardem. Firmowa infrastruktura narażona jest na wiele zagrożeń, a stosowanie sieci prywatnych eliminuje wiele z nich. W Oktawave sieci prywatne skrótowo nazywamy OPN (Oktawave Private Network). Tworząc sieci prywatne, administrator buduje strefy odizolowane od siebie.
Sieci prywatne pozwalają na zablokowanie dostępu do wybranych instancji z zewnątrz, dzięki czemu np. maszyna obsługująca bazę danych nie będzie dostępna z sieci publicznej. Co więcej, każda instancja może być przypisana jednocześnie nie do jednej, a do wielu wirtualnych sieci prywatnych. Więcej o samym tworzeniu i zarządzaniu OPN-ami można przeczytać w naszej bazie wiedzy.
Monitoring chmury i analiza HAR
Nie mniej istotna od sieci prywatnych jest kwestia monitoringu. Poprawna konfiguracja tego narzędzia znacznie ułatwi administratorowi wykrywanie problemów i zacznie skróci czas potrzebny na naprawienie wszelkich usterek. Istotne jest, aby narzędzie monitoringu oferowane przez dostawcę chmury oferowało różnego typu statystyki, sporządzało przejrzyste wykresy itp.
Dzięki analizie pliku HAR (będącego archiwum interakcji pomiędzy przeglądarkami, a stroną internetową), która jest dostępna w Oktawave, administrator dokładnie wie, co wpłynęło na czas ładowania firmowej strony czy świadczonej usługi. Osoba obsługująca chmurę dowie się również, które fazy pobierania strony trwają najdłużej - mamy podział między innymi na odpytanie DNS, odbieranie danych, czy wysyłanie danych HTTP.
Warto mieć na uwadze, że wszystkie dane analityczne są zapisywane osobno dla każdorazowej analizy. Daje to adminowi możliwość sprawdzenia, co spowodowało problemy w załadowaniu strony/usługi kilka godzin wcześniej.
Na ilustracji widać podgląd przykładowego pliku HAR. Po więcej informacji dotyczących monitoringu odsyłam tutaj.
Podsumowanie
Wymienione powyżej usługi wzbogacające chmurę obliczeniową to rozsądne minimum narzędzi, z których powinien korzystać każdy administrator. Sam administrator wie najlepiej, które z narzędzi są faktycznie przydatne w jego codziennej pracy, ale narzędzia do backupu, klonowania i wykonywanie tzw. snapshotów to absolutne minimum. Każdy administrator powinien też umieć wykorzystać kontenery, schedulery, sieci prywatne i narzędzia monitorujące.
Wszystkich zainteresowanych dalszym pogłębianiem swojej wiedzy w tym zakresie odsyłam do innych publikacji na łamach Spider’s Web, które poruszają praktyczne aspekty zarządzania chmurą. Jeśli interesuje Was aspekt API, to warto zapoznać się z tekstem “Chmura obliczeniowa dla programisty. O czym każdy koder wiedzieć musi”.
Polecam również tekst "Uruchamiamy serwer Minecrafta i HLDS", po lekturze którego sami się przekonacie, że nawet te na pozór bardziej harcore'owe rzeczy nie są wcale takie trudne. Na tle ostatnich wydarzeń w kraju warto też wspomnieć o tekście "Zaszyfruj chmurę, czyli jak zapewnić poufność swoich danych".
PS Pamiętajcie, że każdy nowy użytkownik Oktawave dostaje na start 25 zł, by móc przetestować swoją maszynkę. Więcej na ten temat znajdziecie tutaj.
-----
Maciej Kuźniar, prezes Oktawave sp. z o.o. oraz główny architekt. Pasjonat technologii związanych z przetwarzaniem i przechowywaniem danych, posiadający 12 lat doświadczenia w pracy dla klientów klasy enterprise (banki, telekomy, FMCG). Autor koncepcji technologicznie wspierających rozwój startupów oraz rozwiązań architektonicznych gwarantujących wysokie HA i SLA dla systemów IT.
--
Zdjęcie tytułowe pochodzi z serwisu Shutterstock.