Cloud computing (2.)

6. Poređenje sa sličnim tehnologijama

Cloud computing nije nova, revolucionarna tehnologija, niti je ideja potekla iz 21. veka. Slične tehnologije i poslovni modeli postojali su i ranije, tako da su temelji ovog načina pružanja usluga postavljeni daleko pre pojave Interneta u kakvom obliku ga danas poznajemo. Može se reći da ova ideja objedinjuje u sebi mnoge elemente ranijih oblika sličnih tehnologija, ali ipak potrebno je praviti razliku između Cloud-a i sledećih sistema:

6.1 Client-server model

Ovaj kompjuterski model (engl. „model of computing“) podrazumeva sistem u kome imamo distribuiranu, odnosno deljenu aplikaciju (engl. „distributed application“) između pružaoca usluge (server) i klijenta, odnosno korisnika usluge (client). Najčešće serveri i klijenti međusobno komuniciraju preko računarske mreže (Internet), ali mogu se fizički nalaziti i u istom sistemu. Server je računar na kome je softver koji služi da usluga (informacija, podatak) bude isporučena klijentu, tj. drugim rečima – server deli svoje resurse. Sa druge strane, klijent ne deli svoje resurse sa serverom, već samo upućuje zahteve.

Primer iz prakse je web sajt. Ukoliko korisnik u web browser-u poseti najpoznatiji svetski pretraživač Google u kome ukuca pojam koji želi da pronađe, server koji je u posedu kompanije „Google“ će primiti taj zahtev, obraditi ga, i na kraju poslati rezultate (preko mreže) nazad browseru na IP adresu10 sa koga je zahtev i stigao. Korisnik (klijent) će dobiti traženu uslugu u vidu spiska, odnosno rezultata pretrage za uneti pojam.

Mnoge poslovne aplikacije danas koriste klijent-server model, kao i najčešće korišćeni protokoli na Internetu: HTTP (Hyper Text Transfer Protocol), SMTP (Simple Mail Transfer Protocol) i DNS (Domain Name Server).

Specifični tipovi klijenata: web browseri, aplikacije za elektronsku poštu, programi za online razgovore (chat klijenti). Specifični tipovi servera: web, ftp i mail serveri, serveri baza podataka, itd.

   border=

Slika 2 – Klijent Server arhitektura

6.2 Peer-To-Peer arhitektura

Ovaj model bi se mogao prevesti kao Korisnik-Ka-Korisniku i on podrazumeva umrežavanje gde se delovi zahteva i opterećenje raspoređuju među korisnicima, odnosno računalima. Svaki računar (čvor) je jednako privilegovan, tj. ima ista ovlašćenja kao i svi ostali članovi mreže, za razliku od prethodnog primera klijent-server mreže.

   border=
U ovom modelu, svaki računar direktno omogućava svim ostalim računarima pristup do sopstvenih resursa kao što su procesor, prostor na disku ili mrežni propusni opseg (network bandwidth), a isto tako ima pristup ovim resursima kod ostalih učesnika.

Drugim rečima, svaki učesnik u ovoj komunikaciji je istovremeno i pružalac i korisnik usluga. Jedan od prvih i svakako najpoznatiji primer Peer-To-Peer mreže je servis „Napster“ preko koga su korisnici mogli da pronađu i preuzmu muzičke fajlove. Potrebno je još spomenuti da ova arhitektura može biti decentralizovana, ali isto tako može i imati „centralni“ server koji služi za indeksiranje fajlova, kao u slučaju „Napster-a“, što je prikazano na dijagramu iznad.

   border=

Slika 5Komunikacija između 2 člana P2P mreže

Na dijagramu prikazan je primer zahteva i preuzimanja fajla između dva računara u Peer-To-Peer mreži

6.3 Grid Computing

   border=
Najpribližniji prevod pojma „grid“ bi bio „mreža“, i nastao je početkom 90-ih godina prošlog veka kao metafora postizanja lake dostupnosti kompjuterske snage širokim masama, kao što je to slučaj sa lakoćom korišćenja strujne mreže (enlg. „Power grid“).

Podrazumeva mrežu računara koji su organozovani zajedno u cilju postizanja velike kompjuterske moći, načešće procesorske snage. Na ovaj način moguće je rešavati kompleksne probleme za koje bi inače bili potrebni superkompjuteri ili veliki računarski centri. Grid arhitektura prikazana je grafički na slici.

Ovakva mreža računara je heterogena i geografski dislocirana. Čvorovi se mogu nalaziti bilo gde, u bilo kom delu sveta, a jedino što je potrebno je veza sa Internetom. Takođe, resursima se može pristupati sa različitih platformi i različitih uređaja – desktop računati, notebook računari, smartphone uređaji, PDA uređaji i slično, pa zato kažemo da je ovakav sistem heterogen. Sličnost sa strujnom mrežom koja je spomenuta, ogleda se i u tome što se resursi koriste on-demand (na zahtev), kao i kod struje. Ukoliko su nam potrebni resursi, jednostavno uključimo uređaj u šteker u zidu, bez razmišljanja o tome kakva je struktura uređaja koji uključujemo ili odakle tačno dolazi struja koju koristimo. Na osnovu potrošnje, na kraju meseca nam dolazi račun i plaćamo samo ono što smo potrošili.

Grid Computing je našao svoju primenu u različitim oblastima ljudskog delovanja, odnosno u različitim naučnim i nenaučnim disciplinama: proučavanje Zemlje i svemira, biologija, inženjerstvo, umetnost, sociologija, itd. Dobro poznati primer upotrebe uz učešće korisnika širom sveta je čuveni projekat SETI@Home (Search For Extra-Terrestial Intelligence). U prevodu, naziv projekta označava „Potragu za vanzemaljskim oblicima inteligentnog života“ i predstavlja odličan primer kolaboracije širom planete i upotrebe grid computing biznis modela.

6.4 Utility Computing

Ovaj model podrazumeva iznajmljivanje (rentiranje) kompjuterskih resursa kao što su hardver, softver ili mrežni protok po sistemu on-demand (na zahtev) i as-required (kada je to potrebno). Drugim rečima, ono što smo ranije mogli nazvati „proizvod“, u Utility computing-u je „usluga“. Možemo reći da je ovaj model, zajedno sa ranije spomenutim „Grid computing-om“, preteča Cloud-a koji u sebi objedinjuje sve mogućnosti oba, ali na jednom višem nivou.

Bitno je spomenuti da Utility computing može biti implementiran bez Cloud computing-a. Pretpostavimo da provajder poseduje jedan superkompjuter i iznajmljuje procesorsko vreme desetini klijenata. Ovo jeste Utility computing, ali sa samo jednom lokacijom i bez upotrebe virtuelizacije ne možemo pričati o Cloud-u. Sa druge strane, Grid možemo posmatrati kao oslabljenu verziju Cloud-a jer ipak podrazumeva određeni nivo virtuelizacije. Ipak, znajući da je Grid sastavljen iz mnogo lokacija, mogućnost kolapsa celog sistema je veća, što nije slučaj sa Cloud-om jer ovaj može da se nosi sa tim rizikom zbog upotrebe redundantnosti svojih resursa, pa je samim tim sigurnost na dosta višem nivou. „Cloud Computing omogućava korisnicima i programerima da po sopstvenim potrebama podešavaju sopstvene aplikacije i servise, a da pritom ne moraju da znaju, ili imaju ekspertizu, o tehnologijama koje ih podržavaju. Ovo je korisna opcija jer mnoge kompanije nemaju mogućnost ili želju da se upliću u pitanja infrastrukture. Nasuprot tome, Utility computing pruža infrastrukturu on-demand (na zahtev) sa mogućnošću kontrole, skaliranja i podešavanja“.

   border=
Slika 7Utility Computing dijagram

SaaS – Software as a Service (Softver kao Usluga)

Ovo je jedan od servisnih modela Cloud Computing-a. Ideja koja je u osnovi ovog koncepta nije nova, kao što nije nova ni srž samog Cloud-a. Ipak, načini na koji ove nove usluge i poslovni modeli objedinjuju najbolje prakse iz poslovnog sveta jesu novi, i zbog toga postavljaju nove izazove i granice.

Koncept SaaS modela se ogleda u tome da provajder nudi klijentima kompletnu uslugu, kako softversku tako i hardversku, upakovanu u servise. Jednostavnije rečeno -proizvođači softvera su do sada prodavali svoja rešenja korisnicima koji su zatim taj softver instalirali, održavali i ažurirali u svojim kompanijama, na svojim radnim stanicama, serverima, sa svojom kompletnom IT infrastrukturom.

Nasuprot ovome, SaaS provajder već poseduje infrastrukturu, odnosno svoj DataCentar, kao i fizičke, tehničke i ljudske resurse potrebne za funkcionisanje DataCentra i Cloud-a. U tom okruženju on postavlja svoju aplikaciju koja je zatim na raspolaganju korisnicima širom sveta upotrebom browsera u koji se učitava kompletan provajderov interfejs za određenu aplikaciju, zajedno sa svim specifičnim podešavanjima na nivou korisnika. Korisnik se autentifikuje korisničkim imenom i šifrom, a provajder obezbeđuje sigurnost ovakve transakcije upotrebom nekih od kripcijskih algoritama. Jednostavan, i svima dobro poznat primer ovog modela je webmail, npr. Yahoo Mail ili Gmail.

Na slici ispod prikazan je SaaS model, odnosno razlika između klasične distribucije softvera koja je široko prihvaćena i distribucija u Cloud-u, gde je softver dostupan krajnjim korisnicima kao usluga, a ne kao softverski paket koji njihovo IT odeljenje fizički kupuje, instalira, održava i ažurira unutar kompanije.

   border=

Slika 8Razlika modela Software-as-a-Bits i Software-as-a-Service

Ovakav sistem stoji na raspolaganju krajnjim korisnicima 24 časa dnevno, 7 dana u nedelji, 365 dana godišnje. Gotovo svi provajderi Cloud usluga deklarišu svoj uptime (vreme nesmetanog i neprekinutog rada sistema) kao 99.99% vremena.

Pregled prednosti korišćenja SaaS modela sadrži sledeće stavke:

■ Brži razvoj i proces otklanjanja grešaka.

■ Jednostavniji i sigurniji proces ažuriranja poslovnih aplikacija (na strani provajdera).

■ Početni troškovi za ulaganje su svedeni na minimum.

■ Kompanije mogu da se fokusiraju na poslovni model, a ne na samu tehnologiju koja je skupa i komplikovana.

■ Viši nivo sigurnosti.

■ Poboljšanje performansi i dostupnost aplikacije sa bilo kog mesta koje ima pristup Internetu.

■ Jednostavan proces proširenja resursa i samim tim bolje prilagođavanje poslovnim promenama.

7. PaaS – Platform as a Sevice (Platforma kao usluga)

Platforma kao servis, skraćeno PaaS (Platform as a Service) je naziv koji označava model isporučivanja operativnih sistema kao servisa zajedno sa ostalim servisima, putem interneta bez skidanja i instalacije. PaaS je poznat i pod nazivom cloudware.

PaaS nudi različite kombinacije servisa u oblaku za podršku svih faza razvojnog ciklusa aplikacije. Ti servisi mogu biti: integrisano razvojno okruženje (IDE), kontrola izvornog koda, kontrola verzija, praćenje izmena koda, interaktivni testovi za više korisnika, podrška za razvoj aplikacija sa bogatim korisničkim interfejsom (RIA – Rich Internet Aplication), podrška za kolaboraciju i upravljanje razvojnog tima. PaaS je posebno zgodan kada se razvojni tim sastoji od članova koji se nalaze na različitim geografskim lokacijama. PaaS rešenja su razvojne platforme u kojima su razvojni alati smešteni u oblaku i kojima se pristupa pomoću web browser-a. Sa PaaS-om, razvijaoci mogu graditi aplikacije bez instaliranja bilo kakvih alata na svojim računarima i mogu isporučivati aplikacije bez veština za specijalizovanu administraciju sistema.

SaaS

   border=

Slika 9 – Servisni modeli

 

8. IaaS – Infrastructure as a Sevice (Infrastruktura kao usluga)

Infrastriktura kao servis, skraćeno IaaS (infrastructure as a service) je naziv koji se odnosi na isporučivanje infrastrukture kao servisa. U to spadaju: serveri, procesorska snaga, memorija, prostor na disku, mrežna oprema i ostale pogodnosti računarskih centara.

Glavne karakteristike IaaS-a su:

■ Hardver

■ Virtuelizacija

■ Plaćanje po upotrebi

■ Mrežna oprema

■ Izlaz na internet

Hardver

Fizička komponta infrastrukture oblaka je hardver. Pod hardverom se podrazumevaju serveri, ili mnogo servera, koji se danas masovno proizvode i čija pojedinačna cena ne mora biti velika.

Virtuelizacija

Ključna reč kod infrastrukture oblaka je virtuelizacija. Svi serveri u oblaku su virtuelizovani i ponašaju se kao jedna mašina. Tačan broj servera unutar farme servera je nevažan. Više ima smisla posmatrati okruženje kao celinu u kome se različite aplikacije bore za resurse, a da ne moraju da vode računa o tome da li će imati dovoljno resursa. Naravno, što se više resursa potroši kompanije koje pružaju usluge oblaka više zarađuju pa im je samim time u interesu da obezbede što je više moguće resursa. Pomoću virtuelizacije se postiže maksimalna horizontalna skalabilnost resursa.

Plaćanje po upotrebi

Umesto da kupuju sopstvene servere, softver, mrežnu opremu i ostale komponente informacionog sistema, korisnici to prepustaju nekoj drugoj kompaniji čiji je to posao. Korisnici plaćaju ono što koriste ali samo onoliko koliko koriste.

Mrežna oprema

Pod mrežnom opermom se podrazumevaju firlewall-ovi, load balancer-i, ruteri, switch-evi i ostale mrežne komponente koje su neophodne za funkcionisanje oblaka.

Izlaz na internet

   border=
Oblak ne može biti oblak ako nema izlaz na internet. Dakle izlaz na internet predstavlja neophodnu komponentu instrastrukture oblaka.

2010-cloud-computing-2-2010