Galerija

Decentralizovani računarski oblak, evo kako…

Računarski oblak, to je širok pojam, i može mnogo toga da predstavlja. U svakom slučaju označava neki mrežni resurs udaljen od korisnika. Minimalni nivo predstavljaju mrežni servisi za sladištenje podataka, mada je onaj mnogo interesatniji izvršni ili aplikacijski. Izvršni oblak je neki resurs koji ne zahteva grafičku interakciju, može biti server baze podataka, server za grafičko renderovanje programu za 3D animaciju ili računar vremenske prognoze. Aplikacijski oblak, to je najzanimljiviji deo i on je onaj deo koji je u interakciji sa korisnikom. Izvršni i aplikacijski oblaci se uglavnom prožimaju, iako su logički odvojeni, u realnoj implementaciji mogu biti preklopljeni i vrteti se na istim fizičkim izvršnim jedinicama, takmičeći se za iste hadverske resurse kao što su procesor ili memorija.

Nije cloud sve što je centralizovano. Ima i druga varijanta

Nije cloud sve što je centralizovano. Ima i druga varijanta

Ono što me u ovom slučaju zanima je problem realne implementacije oblaka, ova dva poslednja, naročito. Ne verujem da postoji idealan model koji je dobar svima, ali mislim da bi jedna vrsta oblaka trebalo da bude statistički predominantna u odnosu na drugi. Dva modela o kojima ću govoriti su centralizovani i decentrelazovani. Pod tim ne razmatram fizičku lokaciju, već izvršnu topologiju. Amazon EC2 oblak, je školski primer centralizovanog oblaka. To ne znači da ima samo jednu kolekciju servera na samo jednoj geografskoj lokaciji, naprotiv, ima ih na nekoliko mesta, ali njegova logička centralizacija se sastoji u tome što je Amazon sam sebi dovoljan. Korisnik plaća određenu količinu procerskog i memorijskog opsega i Amazon dodeljuje parče svoje izvršne snage na najoptimizovaniji mogući način. Ako zahteva ima više nego resursa, Amazon će jednostavno dokupiti nove hardverske resurse i to je to. Ko bi trebalo da bude korisnik tog modela? Pa, uglavnom, firme koje zahtevaju visok nivo stabilnosti sistema. Amazon garantuje da će redovno voditi računa o ispravnosti i prisustvu svih kupljenih resursa. Firme sa velikim obrtom, firme koje imaju veliko i važno ime, firme koje zasnivaju svoje komercijalne tranzakcije na pouzdanosti aplikacijskog oblaka, imaju potrebe za ovakvim modelom. No, Amazon oblak je dosta skupo rešenje, i postoji veliki broj srednjih i malih firmi, kao i neograničena vojska krajnjih korisnika kod kuće, koja bi isto tako imala potrebu za povremenim težim i jačim resursima koji su izvan domašaja računara koje poseduju, a komercijalna vrednost takvih zadataka ne bi bila takva da bi dogradnju lokalnog kompjutera učinilo isplativim. Šta nam onda ostaje? Ostaje logička ideja o decentralizovanom oblaku. Dakle, svako bi svoj lični računar stavio na raspolaganje čitavom svetu. Bilo da je Windows, Mac ili Linux. Instalirao bi mali softver sličan Bit Torrentu, koji bi signalizirao svetu koliko slobodnih resursa ima svaki pojedinačni računar. Kada taj računar ništa ne bi radio, a to je 90% vremena, ako bi se računar ostavljao uključen i noću, mogao bi da radi nešto što je nekom potrebno, ma gde taj neko bio. Svaki bi račuar objavio mreži koliko u datom trenutku ima slobodne memorije i količinu računarske snage. Decentralizovani sistem servera menadžera i dispečera bi povezivali one koje imaju neki zadatak sa onima koji imaju slobodne resurse i računari bi radili neprestano nešto. To je komplikovanije izvesti nego smisliti, jer heterogena masa kućnih ličnih računara nalazi se u različitim uslovima i stanjima. Mali kvarovi kao na primer 0.1% nepouzdanosti memorije ili diska, virusi, razne verzije operativnih sistma sa raznim softverskim konfliktima, nisu male prepreke. Ali, to bi se moglo prevazići. Svi čvorovi računara radnika bi hronično izvršavali poseban softver za auto-dijagnostiku i neprestavno prijavljivali svoje stanje menadžerima, koji bi ih povremeno isključivali sa mreže dok se situacija ne popravi. Što se tiče virusa, računari radnici bi trebalo da izvršavaju svoje operacije u zaštićenom i izolovanom segmentu operativnog sistema, bez ikakvog mešanja sa ostatkom, sa veoma malim korišćenjem funkcija samog operativnog sistema. Njihov posao bi bio računarske, a ne interakcijske prirode. Slično rešenje bi se moglo postići da se reši konfliktualnost softverskih konfiguracija. Programi-radnici trebalo bi da budu sami sebi dovoljni, bez zavisnoti od verzije lokalnih sistemskih biblioteka. A ako ni to ne bi bilo dovoljno, mogao bi korisnik da ima neki minimalni operativni sistem, u multi-boot režimu uz Windows, na primer, koji bi startovao, nakon što bi prestao da koristi kompjuter za svoje potrebe. Taj sistem bi mogao biti dovoljno mali, siguran i pouzdan. Naravno, aplikacije koje bi koristile sve to, morale bi ili da razviju sopstvenu infrastrukturu za sve to, ili bi koristile jednu od gotovih sistema za decentralizovani oblak. Uspeg ovog sistema bi najviše zavisio od količine softverskih kuća koje bi prilagodile svoj aplikacioni softver da koriste decentralizovani oblik. Sama infrastruktura nije toliki problem, ima već nekoliko rešenja za to.

Evo jednog primera za ilustraciju koncepta. Program za video konverziju umesto da koristi 8 jezgara jednog računara, mogao bi da podeli film od 90 minuta na 90 delova i pošalje na 90 strana sveta, da svaki udaljeni računar konvertuje po jedan minut, i da pošalje nazad rezultirajući fragment. Na kraju bi glavni program sve to spojio u jednu celinu, i konvertovao film 90 puta brže nego da je to radio lokalno.

Tako bi bio rešen tehnički nivo. Na biznis nivou, moglo bi postojati više nivoa. Kao prvo, mogao bi se uvesti sistem kredita. Svako bi skupljao određen broj računarskih sati dok nudi svoj računar drugima. I to bi mogao da iskoristi kada bi njemu bilo potrebno da koristi druge za svoje potrebe. Dakle, sistem kompenzacije, bez plaćanja. Drugi model bi mogao biti iznajmljivanje resursa firmama koje plaćaju. Dakle, srednje i male firme bi plaćale vlasnicima broj računarskih sati, po nižim cenama, nego recimo da plaćaju Amazonu. Ali sve to potpuno anonimno. Niko nikada ne bi znao ko šta, kome i zbog čega izvršava. Potpuno analogno Bit Torrenu za razmenu fajlova. Niko nikada ne prati koje parče kog fajla kome daje ili od koga uzima u datom trenutku. To su nebitini detalji. Samo je bitno ko je i koliko dao svoje memorije i svog procesora u jedinici vremena.

Sve ovo već postoji, ne radi se o maštanju, ali je dosta slabo rasprostranjeno iz više razloga. Glavni razlog je u složenosti. Programeri bi trebalo da podešavaju sopstvene aplikacije da koriste ovakvu razgranatu strukturu. Dok kod file sharinga, koji je jako raširen, nije potrebna nikakva adaptacija. Dovoljno je staviti fajlove na raspolaganje drugima. Sa programima to ne ide tako automatski. Iz istog razloga zašto višejezgarni procesori ne mogu automatski da rade paralelno, dok se softver ne promeni. Drugi razlog je paranoja. Jedno je deliti fajlove sa drugima, a drugo sopstveni procesor. Percepcija kod laika je da kad vam neko izvršava nešto na vašem računaru, a da vi ne znate šta je, da to može biti opasno. No, svaki strah ima svoje limite. Ako bi neko mogao tako da zarađuje i strah nekako prođe. Nisam se previše zadubio u ovaj svet, ali mi izgleda vraški zanimljiv i mislim da postoji određeni neiskorišćeni potencijal. Zamislite da možete da zarađujete samo zbog toga što imate kompjuter i što ga držite uključen. Zvuči zaista zanimljivo. Fale firme posrednici koje bi to organizovale na biznis nivou. Eto nove ideje za novi biznis koji ne zahteva velike investicije.

Ako želite da odslušate, prilog počinje na 11 min 40 sek

Ja pišem vama, a vi meni recite šta mislite. Voleo bih da saznam o…

Advertisements

One comment on “Decentralizovani računarski oblak, evo kako…

  1. Povratni ping: Praktična iskustva sa Amazon oblakom | Markus Maki

Zatvoreno za komentare.