Wprowadzenie nowego rodzaju kontenera, typu Data Storage, pozwala na ulepszenie struktury systemu plików dla projektów tworzonych w UniCloud. Dzięki temu wzrasta niezawodność i możliwość dopasowania konfiguracji do skomplikowanych projektów. Poniżej przedstawiamy rodzaje pamięci dostępne w UniCloud do składowania danych:
- lokalny system plików
- kontener master
- kontener złożony
- kontener dedykowany typu storage
- zewnętrzny serwer
Lokalny system plików
Ten rodzaj pamięci masowej używany jest do przechowywania danych utrzymywanych w czasie cyklu życia kontenera, które nie muszą być współdzielone z innymi węzłami. Jest to odpowiednik katalogu utworzonego wewnątrz serwera. W ramach dostępnego w UniCloud standardu docker, otrzymujemy efektywną metodę ochrony danych na przykład podczas operacji aktualizacji kontenera.
Do głównych zalet lokalnego systemu plików należy łatwość kontroli i pełna lokalna dostępność ( brak wpływu sieci na dostępność).
Wśród zastosowań tego rodzaju zapisu można wymienić: pliki dziennika, których nie powinno się usuwać, albo pliki konfiguracyjne load balancerów.
Główny kontener (master)
Ten typ pamięci masowej staje się najbardziej efektywny gdy nie trzeba eksportować danych do innych środowisk, a jedynie udostępniać je na poziomie pojedynczej warstwy węzłów. W takim przypadku osobny kontener z danymi nie jest wymagany i wystarczającym jest użycie początkowego (master) węzła jako serwera pamięci masowej. Przykładem zastosowania jest udostępnienie folderu z grafikami dla całej warstwy węzłów. Zapewnia to dostępność tych samych treści dla wszystkich kontenerów , a jednocześnie eliminuje konieczność synchronizacji w przypadku zmiany zawartości i utrzymywania danych na każdym węźle.
Ten sposób pozwala na uniknięcie duplikacji danych co w prosty sposób ogranicza miejsce na dysku zmniejszając całkowity koszt utrzymywania środowiska. Ponadto, dzięki temu że nie używa się oddzielnego węzła do składowania danych (dane utrzymywane są w głównym kontenerze warstwy), nie są wymagane dodatkowe elementy środowiska, a więc również nie są wymagane dodatkowe fundusze na ich utrzymywanie.
Kontener złożony
Platforma UniCloud umożliwia traktowanie dowolnego węzła jako serwera danych, a więc pozwala na przypisanie mu obok głównej roli również dodatkowej roli magazynu składowania danych. Korzystanie z tego typu kontenerów złożonych najlepiej sprawdza się przy obsłudze prostych projektów.
W ten sposób można wykorzystać funkcjonalność współdzielonej pamięci masowej bez nadmiernej komplikacji topologii, co odbywa się dzięki włączeniu dedykowanego węzła. Dodatkowo, dzięki użyciu serwera który i tak jest uruchomiony, na ogół pozwala zaoszczędzić środki finansowe w porównaniu do stosowania rozwiązań opartych o dedykowane kontenery typu storage. Należy także mieć na uwadze, że zazwyczaj dla aplikacji pliki lokalne dostępne są szybciej niż te udostępnione przez sieć. Przykładowo, jeśli masz dwa węzły, z których jeden udostępnia zawartość statyczną a drugi się do niej odwołuje na żądanie, najlepszym rozwiązaniem wydaje się przechowywanie danych w pierwszym kontenerze aby zapewnić szybszą dystrybucję i uwolnić sieć od bycia „wąskim gardłem”.
Kontener dedykowany typu storage
W przypadku bardziej złożonych i obciążonych projektów, warto skonsolidować udostępniane dane w jednym kontenerze aby zarządzanie nimi stało się prostsze i bardziej elastyczne. Można dzięki temu kontrolować uprawnienia dostępu na poziomie węzłów, np. nadać uprawnienia RO dla jednego węzła i RW dla innego. Stosowanie kontenerów dedykowanych typu storage dostępnych w UniCloud zalecane jest przy udostępnianiu plików w wielu warstwach a nawet środowiskach w ramach jednego konta. Są one zoptymalizowane do przechowywania plików pod kątem wydajności i możliwości powiększania przestrzeni dyskowej.
Oprócz tego, użycie osobnego kontenera do przechowywania danych daje następujące korzyści:
- użycie niezależnego kontenera, który sporadycznie może być wysoko obciążony, pozwala na prawidłową obsługę żądań bez wpływy na działanie aplikacji, co miałoby miejsce podczas szczytowych obciążeń w przypadku pojedynczego węzła spełniającego kilka ról
- w razie konieczności, można usunąć całą zawartość projektu pozostawiając tylko zebrane dane i zacząć budować środowiska od nowa, dzięki czemu większość ustawień środowiska, takich jak uprawnienia dostępu i współdzielenia mogą pozostać niezmienione, co znacznie upraszcza reintegrację projektu
- przechowywanie danych pozwala na łatwiejsze współdzielenie między różnymi klonami projektu (środowiskami) dedykowanymi dla różnych etapów cyklu życia aplikacji (rozwój, testy, produkcja)
- montowanie folderu z zaplanowanymi kopiami baz danych do kontenera typu storage dla umożliwienia automatycznego wykonywania backupów utrzymywanych na zdalnym serwerze co znacząco poprawia stan bezpieczeństwa danych podczas aktualizacji oprogramowania
Tego typu struktura może być skutecznie wykorzystana w przypadku konieczności współdzielenia plików konfiguracyjnych przez węzły w różnych warstwach i/lub środowiskach. Tak więc kontenery typu storage mogą być używane również jako pamięć zewnętrzna i mogą być udostępnione również w internecie.
W ten sposób można udostępniać treści zewnętrznym usługom i deweloperom (nadając odpowiednie prawa dostępu) lub uzyskać szybki dostęp do danych poprzez hostowany serwer NFS. Korzystając z tej opcji można zbudować nawet własne rozwiązanie współdzielące dane między chmurami lub własnymi środowiskami. Wymagane jest poprawne skonfigurowanie serwera NFS.
Serwer zewnętrzny
Montowanie serwera zewnętrznego jest przeznaczone do nawiązania połączenia z zewnętrznym serwerem NAS, współdzielącym dane poprzez NFS. Proces integracji w UniCloud jest dość prosty ponieważ nie wymaga przeprowadzenia dodatkowej konfiguracji
Tak więc, jeśli dysponujesz własnym, skonfigurowanym serwerem pamięci masowej, możesz zamontować jego zasoby i udostępniać dane pomiędzy różnymi warstwami, środowiskami a nawet kontami. W przeciwnym razie możesz utworzyć własne, wysokowydajne i niezawodne miejsce przechowywania danych korzystając z dedykowanych kontenerów typu storage. Ponieważ są one udostępniane w ramach platformy UniCloud, można je wykorzystywać natychmiast po utworzeniu, bez konieczności przeprowadzania dodatkowych czasochłonnych konfiguracji.
Wnioski
W zależności od wymagań projektu, można dowolnie wybrać najbardziej odpowiednią opcję dla potrzeb przechowywania i udostępniania danych w chmurze UniCloud. Zapraszamy do testowania i użytkowania naszych innowacyjnych technologii!