Przybliżamy chmurę wielodostępną

Wielozadaniowość definiuje sposób, w jaki aplikacje są budowane i wdrażane teraz i w przyszłości. Czy można zaufać chmurze publicznej? Tak, bo chmura publiczna jest pod wieloma względami bezpieczniejsza niż własne centrum danych. Ale czy fakt, że wielu klientów korzysta z tego samego fizycznego sprzętu nie stwarza zagrożenia dla bezpieczeństwa? Czy każdy system wielodostępny nie jest z natury mniej bezpieczny?

Przybliżamy chmurę wielodostępną

Gremlin/Getty Images

Na czym polega wielodostępność?

Po pierwsze, ustalmy, co rozumiemy przez środowiska wielodostępne (ang. multi-tenant) i co rozumiemy przez środowiska z dostępem pojedynczym (ang. single-tenant). Jak można podejrzewać, odpowiedź nie jest tak jednoznaczna, jak mogłoby się wydawać.

Przyjrzyjmy się podstawowej, nie chmurowej aplikacji działającej w centrum danych. Rysunek 1 przedstawia taki system.

Zobacz również:

  • Cyfrowa obsługa klienta – jakie rozwiązanie wybrać?
Przybliżamy chmurę wielodostępną

Rys 1. Aplikacja typu single-tenant.

Dwaj klienci uruchamiają odrębną instancję aplikacji na odrębnych i oddzielnych serwerach fizycznych. Oba serwery mogą znajdować się w tym samym centrum danych i współdzielić tę samą infrastrukturę sieciową, ale nie współdzielą żadnych innych zasobów fizycznych. Ponieważ oba serwery działają na odrębnych instancjach komputerowych (z oddzielnymi procesorami, pamięcią i pamięcią masową), bardzo trudno jest, w zasadzie niemożliwe, aby informacje od klienta po lewej stronie kolidowały z informacjami od klienta po prawej stronie.

Jeśli jednak zamierzamy dodać trzeciego klienta do tej konfiguracji, potrzebujemy trzeciej instancji aplikacji, a to wymaga zakupu i ustawienia trzeciego serwera fizycznego, z odpowiednią konfiguracją sprzętową i oprogramowaniem zainstalowanym, zaktualizowanym i skonfigurowanym. Ogólnie rzecz biorąc, dodanie nowego klienta jest zadaniem, które jest powolne, uciążliwe i bardzo kosztowne. Plusem jest fakt, że klienci są oddzielone przez fizyczne ściany sprzętu.

Jest to model aplikacji typu single-tenant, tj. z pojedynczym dostępem.

Wirtualizacja typu wielodostępowego

Porównajmy powyższy model single-tenant z modelem przedstawionym na rysunku 2.

Przybliżamy chmurę wielodostępną

Rys. 2. Rysunek 2. Model fizyczny wielodostępowy, wirtualny single-tenant.

Na rysunku 2 mamy tych samych dwóch różnych klientów korzystających z dwóch różnych instancji aplikacji. Jednak w tym przypadku każda z nich działa na dwóch oddzielnych serwerach wirtualnych, które w rzeczywistości znajdują się na tym samym serwerze fizycznym. Jest to przykład wielodostępowości z wykorzystaniem wirtualizacji serwerów, która jest w użyciu od późnych lat 80. i wczesnych 90-tych. Idea polega na tym, że każda aplikacja rezyduje na oddzielnym „logicznym” serwerze, ale dwa serwery wirtualne rezydują na tym samym fizycznym sprzęcie.

Model ten poprawia zdolność do przenoszenia aplikacji i przenoszenia oprogramowania łatwiej niż model single-tenant. Teraz, gdy pojawia się nowy klient, nie trzeba konfigurować całego nowego serwera fizycznego z odpowiednim sprzętem i oprogramowaniem, wystarczy uruchomienie nowej instancji serwera wirtualnego. Jest to proste polecenie lub wywołanie API i zazwyczaj jest łatwe do wykonania. Tak długo, jak fizyczny serwer ma wystarczającą pojemność, można uruchomić wiele serwerów wirtualnych z prostego wywołania API. Nowy sprzęt jest konieczny tylko wtedy, gdy wymagane są dodatkowe zasoby fizyczne.

W rzeczywistości model ten był podstawą do rozpoczęcia cloud computing. Wirtualizacja serwerów pozwoliła dostawcom chmury sprzedawać wirtualne instancje serwerów bezpośrednio firmom, a także umożliwić im uruchamianie i zatrzymywanie instancji na żądanie. Taka była podstawa usługi EC2 w AWS, a ostatecznie równoważne usługi w Microsoft Azure, Google Cloud Platform i innych chmurach publicznych. Nowe instancje mogą być wynajmowane klientom na pewien czas, a następnie zwalniane i udostępniane innym firmom do użytku.

Klienci są oddzieleni wirtualnymi ścianami sprzętowymi, które wyglądają jak ściany sprzętowe, ale są symulowane przez oprogramowanie do wirtualizacji. I choć dodawanie klientów jest łatwiejsze, to nadal wymaga uruchamiania nowych instancji wirtualnych serwerów, co zużywa zasoby.

Model ten nazywany jest modelem fizycznym multi-tenant (wielodostępowym), wirtualnym single-tenant. Nazwa pochodzi od tego, że każda wirtualna instancja jest przypisana do jednego klienta z jego własną instancją oprogramowania (virtual single-tenant), podczas gdy wszystkie wirtualne instancje działają na wspólnym fizycznym sprzęcie (physical multitenant).

Oprogramowanie dla systemów wielodostępnych

Porównajmy teraz oba powyższe modele z rysunkiem 3.

Przybliżamy chmurę wielodostępną

Rys. 3. Rysunek 3. Fizyczny model wielodostępny (multi-tenant), wirtualny model wielodostępny (model SaaS).

Rys. 3. Rysunek 3. Fizyczny model wielodostępny (multi-tenant), wirtualny model wielodostępny (model SaaS).

W tym modelu wielu klientów współdzieli tę samą instancję aplikacji, a wszystkie one działają na tych samych serwerach fizycznych i w tej samej infrastrukturze fizycznej. W tym przypadku oprogramowanie zapewnia separację jednego klienta od drugiego - nie ma fizycznej separacji. Klienci są oddzieleni jedynie przez oprogramowanie.

Model ten nazywany jest fizycznym modelem multi-tenant (wielodostępnym), wirtualnym modelem multi-tenant. Jest on bardziej znany jako model oprogramowania jako usługi (SaaS).

W tym przypadku dodanie nowego klienta jest bardzo proste. Nie jest wymagany sprzęt wirtualny lub fizyczny. Tak długo, jak sprzęt bazowy ma wystarczające zasoby, można dodać dodatkowego klienta po prostu aktualizując bazę danych, lub dodając wpis do pliku konfiguracyjnego. Dodawanie nowych klientów jest szybkie, łatwe i niedrogie.

Czy wielodostępność jest bezpieczna?

Czy model single-tenant jest bezpieczniejszy niż multi-tenant? Trudno odpowiedzieć na to częste pytania. Oba modele mogą być bezpieczne i oba mogą być niebezpieczne. Jeśli chodzi o ryzyko z zewnątrz, jeden model jest tak samo bezpieczny jak drugi. Oba wymagają bezpiecznych procesów i procedur w celu ochrony przed złymi aktorami.

Ale co z przypadkowymi lukami w zabezpieczeniach? Co, na przykład, z przypadkowym ujawnieniem danych jednego klienta innemu klientowi? Z pewnością źle zaprojektowana wielodostępna aplikacja SaaS niesie ze sobą ryzyko narażenia danych dla innych klientów, którzy korzystają z tego samego współdzielonego środowiska.

Aby się o tym przekonać, spójrzmy na rysunek 4.

Przybliżamy chmurę wielodostępną

Rys. 4. Rysunek 4. Kwestie związane z bezpieczeństwem klientów różnią się w zależności od rodzaju subskrypcji.

Przyjrzyjmy się najpierw prawdziwej aplikacji typu single-tenant, takiej jak pokazana w lewej górnej części rysunku 4. Aby dane klienta mogły zostać przypadkowo ujawnione innemu klientowi, dane te muszą przemieszczać się pomiędzy fizycznymi serwerami. Nie jest to łatwe i trudno sobie wyobrazić, jak mogłoby do tego dojść przypadkowo. W systemie typu single-tenant prawdopodobieństwo wystąpienia przypadkowych problemów z bezpieczeństwem jest mniejsze.

Następnie spójrzmy na aplikację wielodostępną z serwerem wirtualnym, takiej jak pokazana w prawym górnym rogu rysunku 4. Aby dane mogły zostać przypadkowo ujawnione w tym modelu, muszą one pokonać silną granicę wirtualizacji. Choć trudno sobie to wyobrazić, nie jest to niemożliwe. W rzeczywistości, kilka lat temu, podatności Meltdown i Spectre ujawniły wadę w wirtualizacji serwerów, która mogła spowodować tego typu ekspozycję, ale została ona szybko znaleziona i naprawiona.

W prawdziwej aplikacji typu multit-enant - aplikacji SaaS - takiej jak pokazana na dole rysunku 4, istnieje większa szansa, że błąd oprogramowania może spowodować ujawnienie danych pomiędzy klientami. Dzieje się tak, ponieważ separacja pomiędzy klientami istnieje całkowicie w warstwie aplikacji, bez separacji w bazowym sprzęcie lub wirtualizacji. Teoretycznie, błąd w oprogramowaniu może spowodować nieoczekiwane ujawnienie danych innego klienta.

To ryzyko, jednak z pewnością, wszelkie luki związane z przypadkową ekspozycją danych pomiędzy dzierżawcami zostałyby bardzo szybko naprawione przez renomowane firmy.

Dlaczego warto korzystać z modelu wielodostępnego?

Skoro rozwiązania single-tenant jest teoretycznie bezpieczniejszy niż multi-tenant, to po co w ogóle używać rozwiązań wielodostępnych?

Po pierwsze, jak można wywnioskować z powyższych przypadków użycia, systemy wielodostępne są łatwiejsze do rozbudowy i ułatwiają dodawanie nowych klientów. Koszt przyrostowy dodania nowego klienta w systemie single-tenant jest bardzo wysoki, ponieważ obejmuje koszt nowego sprzętu, ustawienia, konfiguracji, utrzymania, oprogramowania, aktualizacji, itp. W przeciwieństwie do tego, koszt przyrostowy dodania nowego klienta w prawdziwym wielodostępnym systemie SaaS jest prawie zerowy; on-boarding może być dosłownie tak prosty, jak dodanie jednego wiersza do bazy danych. Systemy Multitenant SaaS pozwalają dostawcom na wbudowanie funkcjonalności „wypróbuj, zanim kupisz” w swoje aplikacje, a także na wdrożenie prawdziwie darmowych poziomów przy jednoczesnym zachowaniu rentowności. Jest to praktycznie niemożliwe w przypadku pełnej aplikacji i sprzętu typu single-tenant.

W systemie wielodostępnym znacznie łatwiej jest dodać zasoby do działającej aplikacji, gdy musi obsługiwać dodatkowe obciążenie. Przykładowo, jeśli dana aplikacja wymaga określonej liczby serwerów do obsługi obciążenia, co należy zrobić w przypadku skokowego wzrostu ruchu. W systemie z wirtualnym sprzętem typu multit-enant, można łatwo dodać dodatkową pojemność serwera w ciągu kilku sekund. W przypadku prawdziwej aplikacji typu single-tenant, zakup, instalacja i konfiguracja serwerów fizycznych może zająć dni lub tygodnie.

Dlatego pojemność aplikacji typu single-tenant należy dokładnie planować z wielomiesięcznym wyprzedzeniem. Ewentualna nadwyżka pojemności jest pozostawiona bezczynnie przez większość czasu, zwiększając koszty operacyjne aplikacji.

W systemie wielodostępnym można dodać pojemność w razie potrzeby poprzez uruchomienie większej ilości serwerów wirtualnych. Ponieważ sprzęt w infrastrukturze multi-tenant jest współdzielony, nadmiar pojemności jest amortyzowany na wielu klientów.

Przyszłość to wielodostępność

Przyszłość nowoczesnych aplikacji to aplikacje wielodostępne działające w środowiskach wirtualnych multi-tenant na środowiskach sprzętowych multi-tenant. Aplikacje typu single-tenant będą coraz rzadsze i pozostaną głównie w środowiskach centrów danych znajdujących się na miejscu. Kwestie bezpieczeństwa systemów wielodostępnych są po prostu częścią ogólnych ram bezpieczeństwa dla wszystkich aplikacji.

Wielozadaniowość jest podstawą chmury publicznej. Jest to szkielet wszystkich głównych produkcyjnych środowisk operacyjnych i definiuje sposób, w jaki aplikacje są budowane i wdrażane teraz i w przyszłości.

Źródło: Info World InfoWorld

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200