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?
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.
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.
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.