Pula zasobów (Resource Pooling) to sposób organizowania infrastruktury informatycznej, w którym fizyczne lub wirtualne zasoby są gromadzone we wspólnej puli i dynamicznie przydzielane wielu użytkownikom w zależności od ich aktualnego zapotrzebowania.
Zamiast przypisywać konkretny serwer, procesor czy przestrzeń dyskową na stałe do jednego użytkownika, dostawca utrzymuje wspólną pulę zasobów. System może następnie automatycznie przydzielać jej odpowiednią część poszczególnym klientom.
Resource pooling jest jedną z podstawowych cech cloud computingu, ponieważ pozwala efektywniej wykorzystywać infrastrukturę i łatwiej dostosowywać ilość dostępnych zasobów do aktualnego obciążenia.
Jak działa resource pooling?
Załóżmy, że dostawca chmury posiada dużą liczbę serwerów, procesorów, pamięci RAM i dysków.
Zamiast przypisywać każdy serwer na stałe do jednego klienta, tworzy wspólną pulę zasobów.
Jeżeli jeden klient potrzebuje więcej mocy obliczeniowej, system może przydzielić mu większą część dostępnych zasobów. Gdy zapotrzebowanie spadnie, zasoby mogą zostać zwolnione i wykorzystane przez innych użytkowników.
Schemat można uprościć do:
wspólna pula zasobów → dynamiczny przydział → wielu użytkowników → automatyczne dostosowanie do zapotrzebowania
Dzięki temu infrastruktura może być wykorzystywana bardziej efektywnie niż w modelu, w którym każdy użytkownik posiada na stałe własne, niewykorzystywane w pełni zasoby.
Jakie zasoby mogą być współdzielone?
Pula zasobów może obejmować różne elementy infrastruktury, między innymi:
- moc procesorów CPU,
- pamięć RAM,
- przestrzeń dyskową,
- przepustowość sieci,
- zasoby GPU,
- maszyny wirtualne,
- bazy danych,
- zasoby centrów danych.
To, w jaki sposób zasoby są dzielone i przydzielane, zależy od technologii oraz konkretnej usługi.
Resource pooling w chmurze
Pula zasobów jest szczególnie ważna w chmurze obliczeniowej.
Dostawca chmury posiada ogromną infrastrukturę, z której korzystają jednocześnie tysiące lub miliony klientów. Dzięki wirtualizacji i automatycznemu zarządzaniu zasobami może przydzielać ich odpowiednią ilość poszczególnym użytkownikom.
Klient nie musi nawet wiedzieć, na którym fizycznym serwerze działa jego aplikacja. Interesuje go przede wszystkim dostępna moc obliczeniowa, pamięć, przestrzeń dyskowa czy przepustowość.
To jedna z przyczyn, dla których usługi chmurowe mogą być skalowane znacznie łatwiej niż tradycyjna infrastruktura.
Resource pooling a wirtualizacja
Wirtualizacja jest jedną z technologii umożliwiających efektywne wykorzystanie puli zasobów.
Jeden fizyczny serwer może zostać podzielony na wiele maszyn wirtualnych. Każda z nich może otrzymać określoną ilość procesora, pamięci RAM i przestrzeni dyskowej.
Jeżeli jedna maszyna nie wykorzystuje przydzielonych zasobów w pełni, infrastruktura może zostać zaprojektowana tak, aby pozostałe zasoby mogły być wykorzystywane przez inne maszyny.
W ten sposób jeden fizyczny serwer może obsługiwać wielu klientów.
Resource pooling a multi-tenancy
Pula zasobów jest również związana z pojęciem multi-tenancy, czyli współdzielenia infrastruktury przez wielu użytkowników.
W modelu multi-tenant wielu klientów korzysta z tej samej podstawowej infrastruktury, ale ich dane i środowiska są od siebie logicznie odseparowane.
Przykładowo jeden fizyczny klaster serwerów może obsługiwać aplikacje wielu przedsiębiorstw. Każdy klient widzi swoje zasoby i dane, mimo że fizycznie infrastruktura może być współdzielona.
Odpowiednia izolacja jest tutaj kluczowa z punktu widzenia bezpieczeństwa.
Zalety puli zasobów
Najważniejszą zaletą resource pooling jest lepsze wykorzystanie infrastruktury.
Jeżeli każdy użytkownik otrzymałby własny serwer wykorzystywany tylko w 20%, znaczna część mocy obliczeniowej pozostawałaby niewykorzystana.
Wspólna pula pozwala wykorzystać wolne zasoby dla innych użytkowników.
Może to przynieść:
- wyższą efektywność infrastruktury,
- łatwiejsze skalowanie,
- niższe koszty jednostkowe,
- większą elastyczność,
- automatyzację przydzielania zasobów,
- lepsze wykorzystanie sprzętu.
Resource pooling a skalowanie
Pula zasobów ułatwia skalowanie aplikacji.
Jeżeli zapotrzebowanie na moc obliczeniową wzrośnie, system może przydzielić aplikacji dodatkowe zasoby z dostępnej puli.
Przykładowo sklep internetowy może potrzebować znacznie większej mocy w czasie wyprzedaży niż w zwykły dzień. W środowisku chmurowym dodatkowe zasoby mogą zostać przydzielone automatycznie lub na żądanie.
Po zakończeniu okresu zwiększonego ruchu niepotrzebne zasoby mogą zostać zwolnione.
Resource pooling a koszty
Współdzielenie zasobów pozwala dostawcy infrastruktury zwiększyć stopień wykorzystania posiadanego sprzętu.
Ma to znaczenie ekonomiczne, ponieważ serwery, centra danych, systemy chłodzenia i infrastruktura energetyczna są kosztowne.
Jeżeli większa liczba klientów może korzystać z tej samej infrastruktury, koszt przypadający na pojedynczego użytkownika może być niższy.
Nie oznacza to jednak, że każdy klient zawsze płaci mniej. Cena zależy od modelu rozliczeń, wykorzystania zasobów i polityki konkretnego dostawcy.
Resource pooling a bezpieczeństwo
Współdzielenie infrastruktury oznacza konieczność odpowiedniego zabezpieczenia poszczególnych środowisk.
Dane jednego klienta nie mogą być dostępne dla innego klienta tylko dlatego, że korzystają oni z tej samej fizycznej infrastruktury.
Dlatego dostawcy stosują między innymi:
- izolację maszyn wirtualnych,
- kontrolę dostępu,
- szyfrowanie,
- segmentację sieci,
- mechanizmy uwierzytelniania,
- monitoring infrastruktury.
Bezpieczeństwo izolacji jest jednym z podstawowych wymagań w przypadku współdzielonej infrastruktury chmurowej.
Resource pooling a IaaS, PaaS i SaaS
Resource pooling jest wspólnym elementem wielu modeli usług chmurowych.
W przypadku IaaS wspólna pula może obejmować serwery, procesory, pamięć i przestrzeń dyskową.
W PaaS użytkownik korzysta z platformy, która sama wykorzystuje infrastrukturę znajdującą się w puli zasobów.
W przypadku SaaS użytkownik korzysta z gotowej aplikacji, ale jej działanie również może opierać się na współdzielonej infrastrukturze.
Oznacza to, że resource pooling działa często na niższych warstwach infrastruktury, nawet jeżeli użytkownik końcowy nie ma z nim bezpośredniego kontaktu.
Pula zasobów a inwestor
Resource pooling ma również znaczenie z punktu widzenia inwestowania w sektor technologiczny.
Efektywne wykorzystanie infrastruktury pozwala dostawcom chmury obsługiwać większą liczbę klientów bez proporcjonalnego zwiększania liczby fizycznych zasobów.
Ma to wpływ na:
- wykorzystanie centrów danych,
- koszty infrastruktury,
- marże przedsiębiorstw,
- skalowalność usług,
- zapotrzebowanie na serwery i energię.
Wraz z rozwojem sztucznej inteligencji znaczenie efektywnego zarządzania zasobami staje się jeszcze większe, ponieważ zadania związane z AI mogą wymagać dużych ilości mocy obliczeniowej, szczególnie GPU.
Podsumowanie
Pula zasobów (Resource Pooling) to model, w którym zasoby infrastruktury są gromadzone we wspólnej puli i dynamicznie przydzielane wielu użytkownikom zgodnie z ich aktualnym zapotrzebowaniem.
Jest to jedna z podstawowych cech cloud computingu i ważny element takich technologii jak wirtualizacja oraz multi-tenancy.
Najważniejszą korzyścią resource pooling jest możliwość efektywniejszego wykorzystania infrastruktury, łatwiejszego skalowania i dostosowywania zasobów do aktualnego obciążenia. Dzięki temu dostawcy chmury mogą obsługiwać wielu klientów na wspólnej infrastrukturze, zachowując jednocześnie logiczną izolację ich środowisk.


