Jesteś programistą, architektem systemu lub kierownikiem działu IT i szukasz rozwiązania, które obniży koszty, zwiększy skalowalność i zabezpieczy aplikacje w chmurze?
Jeśli tak jest, odpowiedzią może być multi-tenancy.
W tym poście przyjrzymy się podstawom wielodostępności, alternatywnym technikom jej wdrażania oraz kluczowym czynnikom, które należy wziąć pod uwagę. W tym przewodniku znajdziesz wszystko, czego potrzebujesz, aby zacząć.
Czym dokładnie jest multitenancy?
Pojedyncze oprogramowanie może obsługiwać wielu klientów (dzierżawców) w ramach koncepcji architektury oprogramowania dla wielu dzierżawców. Każdy najemca ma własne dane, konfigurację i UI i jest logicznie oddzielony od innych.
Oznacza to, że dane każdego najemcy różnią się od danych innych najemców i nie są dostępne dla innych najemców. W oprogramowaniu opartym na chmurze, gdzie wielu klientów korzysta z tej samej infrastruktury, często stosuje się obsługę wielu dzierżawców.
Multi-tenancy jest koncepcją od jakiegoś czasu, ale wraz z rozwojem cloud computing, ostatnio stało się bardziej znane. W oprogramowaniu opartym na chmurze multi-tenancy to potężna technika pozwalająca zaoszczędzić wydatki, zwiększyć skalowalność i elastyczność.
Dlaczego to jest ważne?
Multi-tenancy ma swoje korzenie w tradycyjnych konstrukcjach mainframe, kiedy kilka programów i użytkowników współdzieliło jedną platformę sprzętową do przetwarzania. Wraz z wprowadzeniem współczesnej wirtualizacji wspomaganej sprzętowo wzrosła popularność wielodostępności.
Możliwość udostępniania sprzętu w wielu instancjach oprogramowania, takich jak maszyny wirtualne i ich aplikacje, stała się krytyczną funkcją oprogramowania opartego na chmurze.
Multi-tenancy jest powszechnie stosowane w lokalnych centrach danych i hostowanych infrastrukturach, takich jak kolokacja i wspólne usługi IT, umożliwiając kilku użytkownikom współdzielenie ograniczonej lub współdzielonej infrastruktury sprzętowej.
Ze względu na możliwość obniżania kosztów, zwiększania skalowalności i zwiększania bezpieczeństwa oprogramowania opartego na chmurze, wielodostępność stała się podstawowym paradygmatem projektowania oprogramowania.
Jak to osiągnąć?
Wirtualizacja, konteneryzacja i cloud computing to tylko niektóre podejścia i technologie stosowane do obsługi wielu najemców.
Wirtualizacja umożliwia działanie wielu wirtualnych komputerów lub systemów operacyjnych na jednej fizycznej maszynie, umożliwiając tworzenie różnych izolowanych środowisk.
Z drugiej strony konteneryzacja umożliwia tworzenie lekkich, izolowanych i przenośnych środowisk, które korzystają z tego samego jądra systemu operacyjnego.
Przetwarzanie w chmurze to wysoce skalowalna i elastyczna architektura, która umożliwia wielu użytkownikom współdzielenie puli zasobów komputerowych na żądanie.
Technologie te, w połączeniu z różnymi technikami zarządzania i zabezpieczeń, umożliwiają rozwój środowiska dla wielu dzierżawców, które zapewnia izolację, bezpieczeństwo i wydajność każdego dzierżawcy.
Różnica między pojedynczym najemcą a wieloma najemcami
Podstawowe rozróżnienie między środowiskami z jednym dzierżawcą i wieloma dzierżawcami polega na tym, że klient w środowisku z jednym dzierżawcą ma dedykowaną instancję aplikacji i infrastrukturę pomocniczą, podczas gdy wielu klientów współużytkuje tę samą aplikację i infrastrukturę w środowisku z wieloma dzierżawcami.
Dane każdego klienta są oddzielone od danych innych klientów w środowisku z wieloma dzierżawcami, ale korzystają oni z tej samej bazy kodu i infrastruktury. Zmniejsza to koszty dostawcy w sytuacjach wielu dzierżawców, ponieważ mogą oni obsługiwać kilku klientów za pomocą jednej instancji programu.
Z drugiej strony ustawienia pojedynczej dzierżawy zapewniają większą kontrolę, dostosowywanie i bezpieczeństwo, ponieważ każdy klient ma swoje dedykowane zasoby, a działania jednego klienta nie wpływają na działania innych.
Korzyści z wielu najemców
- Oszczędności kosztów: Ponieważ wielodostępność umożliwia wielu klientom współdzielenie tej samej infrastruktury, zarówno sprzedawca oprogramowania, jak i klienci mogą zaoszczędzić pieniądze.
- Ulepszona skalowalność: Wielodostępność umożliwia dostawcom oprogramowania proste skalowanie infrastruktury w celu spełnienia wymagań klientów bez konieczności wdrażania nowego sprzętu i oprogramowania dla każdego klienta.
- Zwiększona elastyczność: Multi-tenancy daje zarówno producentowi oprogramowania, jak i konsumentom większą swobodę. Klienci mogą zmieniać swoje zużycie zgodnie z potrzebami, podczas gdy dostawcy oprogramowania mogą oferować różne poziomy usług i schematy cenowe.
- Lepsze bezpieczeństwo: Ponieważ wielu najemców izoluje dane każdego dzierżawcy i uniemożliwia innym dzierżawcom dostęp do nich, bezpieczeństwo jest zwiększone.
- Ulepszone wykorzystanie zasobów: Multi-tenancy umożliwia dostawcom oprogramowania najlepsze wykorzystanie ich zasobów sprzętowych, co skutkuje lepszą wydajnością i wydajnością.
Podejścia do wielu najemców
Oddzielne bazy danych
W ramach tego podejścia każdy najemca ma swoją bazę danych. Jest to najprostsze rozwiązanie i zapewnia całkowitą segregację danych pomiędzy najemcami. Każdy najemca ma pełną kontrolę nad swoją bazą danych i może ją konfigurować według własnych upodobań.
Ta strategia może być jednak kosztowna, ponieważ każda dzierżawa wymaga swojej instancji bazy danych. Ponadto administrowanie kilkoma bazami danych może być skomplikowane i czasochłonne.
Wspólna baza danych, oddzielny schemat
Wszyscy dzierżawcy w tej technice współużytkują jedną bazę danych, ale każdy dzierżawca ma swój odrębny schemat w tej bazie danych. Ponieważ wszyscy dzierżawcy współużytkują jedno wystąpienie bazy danych, ta technika umożliwia efektywne wykorzystanie zasobów.
Ułatwia również zarządzanie i konserwację, ponieważ istnieje tylko jedna baza danych do obsługi.
Wdrożenie może być jednak trudniejsze, ponieważ każdy schemat dzierżawy musi być starannie tworzony i konserwowany, aby zapewnić wystarczającą separację danych. Ta metoda jest idealna dla scenariuszy, w których najemcy mają porównywalne struktury danych ale wymagają separacji danych.
Wspólna baza danych, wspólny schemat
Wszyscy dzierżawcy w tym modelu współużytkują jedną bazę danych i jeden schemat w ramach tej bazy danych. Jest to najbardziej wydajna pod względem zasobów opcja, ponieważ do administrowania wymaga tylko jednej instancji bazy danych i jednego schematu.
Jednak utrzymanie wystarczającej segregacji danych między dzierżawcami może być trudne. Ta metoda jest odpowiednia dla scenariuszy, w których dzierżawcy mają identyczne struktury danych i nie wymagają całkowitej izolacji danych.
Różne kwestie dotyczące wielu najemców
Izolacja danych
Izolacja danych jest jednym z najważniejszych aspektów wielodostępności.
Aby uniknąć niepożądanego dostępu, dane każdego najemcy muszą być przechowywane osobno i bezpiecznie. Osiąga się to często za pomocą logicznych lub fizycznych technik separacji, takich jak różne bazy danych, schematy lub tabele.
Niezwykle ważne jest zapewnienie rozdzielenia danych w celu ochrony prywatności i bezpieczeństwa danych każdego najemcy.
Wejście najemcy
Proces wprowadzania nowego dzierżawcy do systemu z wieloma dzierżawcami nazywany jest wdrażaniem dzierżawcy. Ta procedura musi być starannie zarządzana, aby upewnić się, że nowi najemcy są prawidłowo wdrażani, jednocześnie powodując jak najmniej przerw w pracy obecnych najemców.
Obejmuje to dostarczanie nowych zasobów, tworzenie nowych kont i konfigurowanie środowiska najemcy.
Uproszczona procedura onboardingu może pomóc obniżyć wydatki i poprawić efektywność zarządzania najemcami.
Wydajność
Wielodostępność może obniżyć wydajność systemu, zwłaszcza jeśli najemcy współdzielą zasoby, takie jak moc obliczeniowa, pamięć lub pamięć masowa. Ze względu na efekt głośnego sąsiada działania jednego najemcy mogą mieć wpływ na wyniki innych najemców.
Ostrożna alokacja zasobów i monitorowanie mogą pomóc w ograniczeniu tego problemu i zagwarantować, że wydajność każdego najemcy nie ulegnie pogorszeniu.
Personalizacja
Zdolność każdego najemcy do personalizowania swojego otoczenia w celu spełnienia jego wymagań nazywana jest dostosowywaniem. Dostosowanie może zwiększyć wartość systemu z wieloma dzierżawcami dla każdego dzierżawcy, ale może również zwiększyć złożoność i koszty administracyjne.
Osiągnięcie równowagi między dostosowywaniem a standaryzacją może pomóc w zapewnieniu skalowalności i konserwacji systemu, przy jednoczesnym spełnieniu specyficznych wymagań każdego najemcy.
Przykłady wielu najemców
Publiczna chmura dla wielu dzierżawców
Klienci korzystający z wielu dzierżawców w chmurze publicznej wykorzystują instancje zasobów i usług, aby zbudować architekturę odpowiednią do hostowania aplikacji biznesowej.
Każdy zasób lub usługa w chmurze współdzieli podstawowy sprzęt i przepustowość sieci, i chociaż ta strategia może zapewnić konsumentom dedykowane zasoby, jest to raczej wyjątek niż reguła.
Aby osiągnąć wielodostępność, dostawcy chmury publicznej stosują szereg metod, w tym podejścia oparte na maszynach wirtualnych i kontenerach.
Sprzęt — maszyna wirtualna i kontener
Wiele maszyn wirtualnych i kontenerów wirtualnych można generować i hostować na jednym serwerze za pomocą wirtualizacji sprzętowej, przy czym każda maszyna wirtualna obsługuje oddzielną aplikację lub usługę zarządzaną przez innego interesariusza, dział lub klienta.
Wielodostępność sprzętu jest powszechna w współczesne dane centrach i środowiskach kolokacji, a także jest kluczowym czynnikiem umożliwiającym przetwarzanie w chmurze.
Wielodostępność SaaS
Ponieważ dostawcy oprogramowania jako usługi (SaaS) są często kategoryzowani jako dostawcy chmury, jest to wersja wielodostępnej chmury publicznej.
Na przykład dostawca SaaS może obsługiwać jedną instancję swojego programu na pojedynczej instancji bazy danych i zapewniać dostęp online kilku klientom. W takim przypadku dane każdego najemcy są posegregowane i niewidoczne dla innych najemców.
Multi-tenancy można również wprowadzić w systemach wielowarstwowych, takich jak SAP.
Prywatna chmura dla wielu dzierżawców
Multi-tenancy w prywatnej chmurze. Chmura prywatna jest podobna do chmury publicznej pod względem wielodostępności, ale chmura prywatna jest dedykowana jednej firmie lub grupie, podczas gdy chmura publiczna obsługuje potrzeby wielu klientów lub organizacji.
Bezserwerowa wielodostępność
Przetwarzanie bezserwerowe to usługa w chmurze, która wykorzystuje zdarzenia do ładowania i uruchamiania kodu klienta przed odrzuceniem infrastruktury podczas wykonywania kodu.
Wiele programów może dzielić tę samą funkcję, a funkcja ładuje się i działa na dowolnej dostępnej współdzielonej infrastrukturze sprzętowej.
Jakie są możliwe wady?
Jedną z głównych wad jest możliwość wycieku danych. Ponieważ kilku dzierżawców korzysta z tej samej infrastruktury, luka w zabezpieczeniach w aplikacji jednego dzierżawcy może zagrozić danym wszystkich pozostałych dzierżawców.
Inną wadą jest możliwość hałaśliwego efektu sąsiedztwa, w którym nawyki użytkowania jednego najemcy mogą obniżyć wydajność aplikacji innych najemców.
Ponadto modyfikacje i integracje mogą być trudne do wdrożenia, a niektórzy dzierżawcy mogą wymagać odrębnych ustawień lub wersji programów, które są niezgodne z wersjami innych dzierżawców.
Wreszcie, multi-tenancy może nie być odpowiednie dla wielu aplikacji, szczególnie tych wymagających wysokiego poziomu szybkości lub rygorystycznej segregacji danych.
Przyszłe kierunki dla wielu dzierżawców w oprogramowaniu opartym na chmurze
Przyszłość wielu najemców rysuje się w jasnych barwach, ponieważ oprogramowanie oparte na chmurze wciąż się rozwija i dostosowuje. Coraz popularniejsze staje się przetwarzanie bezserwerowe, które pozwala na bardziej szczegółową alokację i zużycie zasobów.
Może to poprawić wielodostępność, umożliwiając większą izolację i wykorzystanie zasobów. Mikrousługi i kontenery, które zapewniają większą elastyczność i modułowość, to kolejna droga dla wielu dzierżawców.
Ponadto technologie uczenia maszynowego i sztucznej inteligencji mają potencjał optymalizacji alokacji zasobów i wydajności w systemach wielodostępnych.
Wreszcie, przyszłość multi-tenancy w oprogramowaniu opartym na chmurze zmieni się w wyniku ulepszeń technologicznych i zmieniających się wymagań biznesowych.
Dodaj komentarz