![]() | ![]() |
![]() |
| ![]() |
| ||||||||||||||||||||||||||||||||||||||||||||||
Virtuelizacija i servisno orijentisana arhitektura
Sa nivoa jednog servera, virtuelizacija se diže na nivo kompletne IT infrastrukture, ali se i spušta na nivo kućnih, stonih računara
Samo reč ili... Kada se pre tridesetak godina pojavila, virtuelizacija zaista jeste bila samo reč, uobličena misao nepoznatog autora. Tek kada su u ovu reč uložena sredstva velikih kompanija, postala je stvarnost. Zašto je taj novac ulagan, koje su prednosti virtuelizacije i šta ona uopšte predstavlja? Zamislite veliku kompaniju današnjice. U njenim kancelarijama i laboratorijama veliki je broj računara. Kako vreme odmiče, da bi se nosile sa postavljenim zadacima, potrebne su sve jače i jače mašine. U redu, računari postaju manji veličinom, ali njihov broj veoma brzo raste. Optimizacijom se može postići samo konačno mnogo, te su najveći bili primorani da ulažu u nove tehnologije. Jedan od načina da se smanji ukupan broj računara, te da se uštedi novac namenjen njihovoj nabavci i održavanju jeste i virtuelizacija. Ključne karakteristike virtuelizacije su: • apstraktni sloj između hardvera i aplikacija koje se koriste, • smanjenje cene i složenosti sistema, • izolacija računarskih resursa zarad povećanja sigurnosti i pouzdanosti, • uklanjanje redundantnosti i optimizacija upotrebe IT infrastrukture. Sada je nešto lakše definisati pojam virtuelizacije, kao radni okvir ili metodologiju deljenja resursa računarskog hardvera na više softverskih sistema primenom nekih od tehnika deljenja poput hardverskog ili softverskog particionisanja, preko time-sharing sistema, emulacije i mnogih drugih.
Virtuelizacija je tako, na sebi svojstven način, pomirila dve krajnosti u pogledu organizacije IT sistema – centralizovan sistem naspram decentralizovanog. Umesto da se nabavljaju novi računari sa savremenim perifernim uređajima, korišćenjem virtuelizacije u upotrebu se stavlja centralni hardver na sloju ispod virtuelnih mašina i na taj način se obavlja centralizacija čitavog sistema. Osnovna korist od ovoga jeste to što takva celina sada može mnogo lakše da se održava. Potrebno je samo na jednom računaru instalirati sigurnosne zakrpe, nove verzije aplikacija ili dodatne alatke i svi korisnici sistema preko virtuelnih mašina imaće iste uslove za rad. Osnovne prednosti ovakvog metoda sada su jasno uočljive. Ne samo da je smanjana ukupna cena potrošena za hardver, kao i cena održavanja hardverskog sistema, već je i povećano iskorišćenje skupo plaćenih servera, olakšana je migracija softvera bez podrške, jer se sada nalazi na jednom računaru i korisnik ga poziva po potrebi. Ako dodamo i to da je sada moguće na istoj mašini koristiti više operativnih sistema i to bez muka koje su korisnici ranije imali, zatim činjenicu da su greške u softveru sada lakše uočljive, samim tim i lakše otklonjive, jasno je da je virtuelizacija izuzetan metod, kako ekonomski tako i po efikasnosti. Kako to radi Da bi se na računaru kreirale virtuelne particije, sistemu sa prve slike dodaje se tanki softverski sloj po imenu Virtual Machine Monitor, skraćeno VMM. Ovaj sloj je odgovoran za upravljanje hardverskim resursima i arbitraciju zahteva operativnih sistema korisnika, odnosno aplikacija koje su na njima pokrenute. Jednostavno rečeno, VMM predstavlja virtuelni skup procesora, memorije, hard diska i mreže ka svakom od korisnika. Osnovne funkcije koje ovaj softver obavlja su emulacija hardvera prema operativnim sistemima korisnika, izolacija rada pojedinačne virtuelne mašine u odnosu na ostale, alokacija potrebnih resursa svakoj virtuelnoj mašini, uz održanje balansa među zahtevima, i enkapsulacija aplikacija ili njihovih paketa kako bi postali portabilni za različite sisteme korišćenjem virtuelnih mašina. Konkretno, zamislite računar na kojem su instalirani Windows i neka distribucija Linux operativnog sistema. U tom, standardnom slučaju često ima mnogo posla oko migracije podataka. Ako biste slučajno želeli migraciju aplikacija jer ste navikli na neki program ili prosto platili puno novca da biste ga koristili, naići ćete na prepreku nekompatibilnosti dva sistema. Virtuelizacija tu uskače kao izuzetno rešenje. Konkretna aplikacija sada se izvršava na virtuelnoj mašini, nezavisnoj od operativnog sistema i pomoću koje je moguće preneti (portovati) željenu aplikaciju na bilo koje od radnih okruženja koje korisnik upotrebljava. Počevši od 2006. godine, dva najveća proizvođača procesora, Intel i AMD, nude hardversku podršku virtuelizaciji. Većina proizvođača softvera je za VMM ili hypervisor uzela proizvod po imenu Xen, proizveden na Univerzitetu Kembridž u Velikoj Britaniji. To je open source projekat koji sada vodi kompanija po imenu XenSource, koja je i sa Microsoftom potpisala ugovor o strateškom partnerstvu. Napredak u proizvodnji savremenih procesora i memorijskih kontrolera donosi virtuelizaciji znatno poboljšanje. Povećanje broja jezgara i Hyperthreading mogućnosti rešenja iz Intela i AMD-a direktno olakšavaju softverskim kompanijama pravljenje kako novih virtuelnih mašina tako i odgovarajućih servera i VMM-a, ali i ubrzavanje izvršavanja aplikacija na ovim virtuelnim serverima. Virtuelizacija na desktop računarima Ako ste na prvu loptu pomislili da je virtuelizacija namenjena samo serverima i velikim kompanijama, niste u pravu. U poslednje dve godine mnogo se radilo na polju virtuelizacije na desktop računarima, a poslednje procene velikih kompanija govore da će do 2011. godine samo ovo tržište biti vredno dve milijarde dolara. Na krilima serverske virtuelizacije, desktop verzija je već prisutna, i to pre svega u obliku takozvane aplikacione virtuelizacije. Korišćenjem ovog metoda pokrenuti programi odvajaju se od desktop računara na nižem sloju, čime se eliminišu konfiguracioni problemi prenosa delova aplikacija sa sistema na sistem. Proizvodi koji koriste ovakvu metodologiju virtuelizuju interakciju između određenog programa i resursa podržanog operativnog sistema, recimo fajl-sistema ili, u slučaju Windowsa, system registry baze podataka. Ne samo da su aplikacije odvojene od operativnog sistema, već je i podržano pokretanje onih programa za koje je podrška prekinuta, koji se u stranoj terminologiji označavaju rečju legacy. To konkretno znači da je, ukoliko je odgovarajući softverski paket instaliran, na vašem računaru moguće pokrenuti nekoliko operativnih sistema u isto vreme i prebacivati se sa jednog na drugi samo klikom na taster miša. Ovako, gube se problemi nekompatibilnosti aplikacija sa (novijim) desktop operativnim sistemima.
Proizvodi kompanije ClearCube verovatno su najpoznatiji. Korišćenjem njenih servera i tankih klijenata – portova u jednoj bolnici u američkoj državi Oklahoma, troškovi održavanja sistema umanjili su se pet puta (!), dok je tehnička podrška imala 40% manje poziva. Ukoliko se doda da softversku podršku ovoj kompaniji od 2006. pruža VMWare, jasno je da ClearCube ima dobru inicijativu. U novijim revizijama sistema, moguće je i dodavati bežične korisnike koji pomoću svog PDA uređaja ili pametnog telefona mogu da budu hostovani na nekoj od blejd jedinica. Nešto drugačiju uslugu nudi kompanija po imenu Kidaro, koja je svoju virtuelizacionu tehnologiju kompletno inkorporisala u softver, ali i na maleni USB stick, razvijen pod imenom KidaroToGo. Ovaj uređaj, prikačen na bilo koju radnu stanicu, korisniku odmah pruža udobnost na koju je navikao na svom računaru, pružajući mu odmah mobilnost podataka, transparentnost i okrenutost proizvoda ka korisniku, centralno vođen ali prilagođen radni prostor u sistemu korporacije. Inače, pre dve nedelje Microsoft je otkupio firmu Kidaro. Još jedan od načina virtuelizacije desktopa je takozvani desktop streaming. Princip je relativno prost. Prvo se napravi image operativnog sistema, a zatim i odgovarajuća „kopija” svake od aplikacija koje se standardno koriste na računaru i kombinuju po potrebi. Na ovaj način, više nije potrebno imati posebni image za svaku od kombinacija aplikacija na OS-u. Korišćenjem tankih klijenata-portova, moguće je preko mreže preneti i u njihov lokalni bafer (hard disk, fleš memorija, SSD) upisati sve potrebne podatke, od image kopije kombinacije aplikacija do posebnih dodatnih programa koje konkretni korisnik upotrebljava. U ovakvim procesima najvažniji su resursi mreže, zbog čega je zahtev brza konekcija. Kako se žični i bežični transfer korišćenjem Ethernet, WiFi, Bluetooth ili USB standarda sve više ubrzava, tako se i potrebno vreme od uključenja uređaja do punog komfora koji pruža desktop računar smanjuje na gotovo neprimetnu razliku. Najveća svetska softverska kompanija je ovde našla svoju ulogu i preko svog SoftGrid sistema mnoge opskrbljuje desktop streaming modelom virtuelizacije. Microsoft je tako pokušao i da podigne rejting Viste ponudivši napredne mogućnosti virtuelizacije u svom softveru, želeći tako da na posredan način podigne rejting pomalo posrnulog OS-a. Brak iz ljubavi ili koristi Na pomolu je spoj kakav IT još nije video, koji najavljuje pojednostavljenje korišćenja računara i samim tim i širenje trenda njegove upotrebe u svetu. Pred oltar će stupiti pomenuta virtuelizacija i SOA (Service-Oriented Architecture). Pošto smo upoznali prvog bračnog druga, red je da nam se predstavi i drugi. SOA je stil arhitekture softvera za stvaranje i korišćenje poslovnih procesa, upakovanih u servise (services). Ovaj stil omogućava da posebne aplikacije dele podatke i resurse i tako zajedno učestvuju u procesima nekog većeg sistema. Tesna povezanost između tih aplikacija i operativnog sistema kao i programskih jezika omogućava odvajanje funkcionalnosti u posebne servise i njihovo kasnije kombinovanje u zaokružene celine. Transfer se odvija preko mrežnih protokola, a komunikacija između servisa odvija se razmenom poruka ili koordinacijom aktivnosti između dve ili više jedinica. Ako uvidimo da virtuelizacija donosi lakoću održavanja i smanjenje cene sistema uz povećanje fleksibilnosti a SOA nudi lakše korišćenje aplikacija i brz odziv na potrebe poslovanja, jasan je njihov spoj. Velike kompanije poput BEA Systems, IBM, Microsoft, Sun Microsystems i IBM već rade na ovoj zajednici. Zahvaljujući SOA, programeri koji rade u poslovnom okruženju više neće razvijati aplikacije odvojeno, već kombinovanjem prostih servisa koje mogu uvek iznova da koriste. To praktično znači da neće biti pisana niti jedna linija kôda. To veoma lepo zvuči, ali se susrećemo s problemom hardvera koji će tako nešto opsluživati, jer takav hardver košta veoma mnogo i teško se održava. Virtuelizacija tu uskače kao rešenje, deleći virtuelno hardverske resurse i tako omogućavajući SOA potrebnu hardversku moć. Nažalost, virtuelizacija još nije dovoljno moćna da pruži punu podršku SOA principu. Njena uloga najbolje se inkorporira u middleware sektoru i servisima nižeg sloja. Middleware je softver koji povezuje aplikacije ili aplikacione komponente u cilju razmene podataka i najčešće se koristi kao softverski sloj iznad baza podataka, radi lakšeg i bržeg rada sa transakcijama. Servisi nižeg sloja su već korišćen princip i njegovi najznačajniji predstavnici jesu .NET i Java platforme. Zadatak koji virtuelizacija ima jeste da omogući aplikaciji da se raširi na više servera, a ne samo na više instanci virtuelnih mašina. Međutim, komunikacija između servera ima probleme sa kašnjenjem i zahteva mreže veoma velikih brzina, koje još nemamo. Imajući to u vidu, moraćemo da se strpimo još neko vreme dok ova saradnja ne postane potpuna stvarnost. • • • Više je nego jasno koliko je značajna virtuelizacija, kako sama, tako i u sprezi sa SOA i drugim savremenim trendovima. Povezivanje različitih uređaja na različite operativne sisteme je stvarnost, a samim tim je i migracija podataka jednostavna. Ostao je lakši deo posla – da se sklopi slagalica i u potpunosti olakša stvaranje i održavanje složenih aplikacija korišćenjem prostih komponenti. Zamislite kako jednog dana u ne tako dalekoj budućnosti sa svog smartphone uređaja GPRS-om zadajete kućnom računaru da vam rekompresuje novi film, dok se bavi renderingom neke scene u 3ds Maxu. Ili, još bolje, zamislite da se aplikacija na vašem prenosnom računaru izvršava koristeći resurse svih računara koje imate u lokalnoj mreži! Momir ĐEKIĆ |
![]()
![]()
![]()
![]()
![]()
| ||||||||||||||||||||||||||||||||||||||||||||||||
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |