Kilka pytań odnośnie systemów rozproszonych


(kod) #1

Dzień dobry, zainteresował mnie temat systemów rozproszonych i chciałbym prosić o nakierowanie w temacie.

Jak to działa w praktyce?
Czy jest to kwestia typowo dla programistów, czy jest to sprawa też dla administratorów sieci? Np.:
Dostawca tworzy aplikację, która wykonuje jakieś operacje w kilku procesach/wątkach, i przy pomocy balancera (niezależnej apliakcji) mogę jako administrator “wydelegować”(?) te procesy/wątki do jednostek klastra?
Czy raczej dostawca danej aplikacji musi dostarczyć oprogramowanie dla stacji, która pełni rolę balancera i oddzielnie oprogramowanie na jednostki klastra, a potem administrator wdraża i wszystko “ma działać”?
Czy jest możliwość uruchomienia aplikacji, która używa jednego procesu/wątku na czymś w stylu wirtualnego systemu operacyjnego, np.: aplikacja działa w jakimś wirtualnym w środowisku emulującym jeden system operacyjny, a tak naprawdę obliczenia są przekazywane na jednostki klastra?

Znacie może jakieś książki lub artykuły w Internecie, które możecie polecić, a naprowadzą mnie na temat w szerszej perspektywie? W szerszej tzn.: żeby potem samemu coś spróbować wdrożyć na jakimś klasterku z kilku rpi3.

Czy tutaj nie ma jakieś ogólnej recepty, wszystko robi się w oparciu o konkretną dokumentacje danej aplikacji?


(fakvat) #2

http://wazniak.mimuw.edu.pl/index.php?title=Systemy_rozproszone


(roobal) #3

Programista raczej zajmuje się programowaniem i nie obchodzi go co gdzie jest. Od tego są devopsi i sysopsi.

Nie ma jednoznacznej odpowiedzi jak to powinno wyglądać. Wszystko zależy co potrzebujesz. Możesz zbudować klaster z rozproszonym systemem plików na fizycznych maszynach z wykorzystaniem klastrowych narzedzi jak pacemaker i corosync. Możesz zbudować klaster na kontenerach lxd lub docker z ceph. Możesz wykorzystać load balancer, choć przy tego typu klastrach wykorzystuje się raczej kubernetesa lub swarm, etcd itp.


(kod) #4

Dzięki za odpowiedzi, a jest możliwość stworzenia na klastrze tak jakby maszyny wirtualnej. W sensie jednostki klastra dają moc obliczeniową, potem do jakiegoś komputera zarządcy wrzuca się obraz, a potem cały klaster działa jako środowisko do działania jednego systemu.

Po prostu chcę odpalić aplikację, która nie jest stworzona do działania w tego typu sieciach, a nie mam jednego mocnego sprzętu.


(roobal) #5

Nie wiem czy dobrze rozumiem. Chcesz zbudować klastee z fizycznych maszyn i w tym klastrze uruchomić VM czy chcesz stworzyć klastee z kilku VM? W obu przypadkach da się.

To co chciałbyś osiągnąć nazywa się OpenStack, jednak nie jest to tak proste w wykonaniu jak się wydaje.


(kod) #6

Na kilku maszynach fizycznych, jedna VM.
Nie jest to proste… Kurczę, wyzwanie karkołomne przy konfiguracji, czy pojawiają się płatności?


(roobal) #7

Możesz spróbować OpenStack. Ewentualnie inne rozwiązanie w zaleźności co chcesz osiągnąć.


(kod) #8

Dzięki za odpowiedzi. Temat do zamknięcia.