Įpilant žibalo iš debesų

Istorija kupina paminėjimų apie tuos, kurie atsisakė pripažinti kai kurių dalykų ateityje akivaizdumą. Nežvelkime taip toli, kaip 1878 m., kaip E. Vilsonas elektrą laikė visai neperspektyvia (apie tai žr. >>>>>). Paimkim „Digital“ (kompanija buvo padalinta į dalis, kai 1998 m. ją įsigijo „Compaq“) įkūrėją Ken Olsen‘ą, kuris 1977-ais tvirtino: „Nėra jokios priežasties kiekvienam namuose turėti kompiuterį“.

Dar yra gyvų tų, iš IT srities, kurie prisimena, kad 1,44 MB duomenų saugojimas 3,5 colio skersmens diskeliuose buvo pasiekimo viršūnė (o mano sandėliuke tebesimėtė pirmos kartos 5 GB „vinčesteris” – tokio svorio, kad viena ranka sunkiai ilgai beišlaikysi). Dar yra girdėjusių apie perfokortas – tik aš noriu pasakyti, kad IT irgi vystėsi, patobulėjo per tuos 30 m., prabėgusių nuo anų nerūpestingų laikų. Ir vėl atsidūrė kryžkelėje - iš įmonių buveinių sprendimams išsikeliant į debesis.

Bet pakanka ir šiepiančių dantis: atseit, lokalūs sprendimai yra labiau kontroliuojami, labiau pritaikomi savitiems poreikiams, suteikiantys daugiau galimybių ir, ypač, saugesni – ir kad „mes“ visai nesiruošiame jų atsisakyti. Bet tai tas pats, kaip sakyti, kad žibalinės lempos šviečia geriau, yra patikimesnės (nes veikia ir nesant elktros) ir patvaresnės sprogimo atžvilgiu (tik nepriduriant, kad bent kartą per metus šalyje nuo jų kildavo gaisras). Nesakau, kad jos (žibalinės lempos) išnykę (o štai juk ir Rusijos saugumas užpirko nemažą kiekį mechaninių spausdinimo mašinėlių, nepaisant, kad jos brangesnės už lazerinius spausdintuvus) – joms likusi niša. Bet ateitis yra debesims – dėl kainos, integracijos, išplečiamumo, papildomo funkcionalulo ir, kas svarbiausia, atitikmens verslo poreikiams.

Tai pat susipažinkite:
BlueMIX debesijos pradmenys (PPT prezentacija)
Pradiniai prezentacijos pavyzdžių tekstai

Debesies architektūra
Publikuota 2009 m. vasarį

Debesies architektūra – tai internetinė kūrimo bei naudojimosi technologija, abstraktus sudėtingos struktūros apibūdinimas. "Debesis" yra Interneto metafora, nusižiūrėjus į tai, kaip jis vaizduojamas kompiuterių tinklų diagramose. Debesies architektūra tai stilius, kai kompiuterinės galimybės imamos kaip "servisai", kuriuos vartotojai gali pasiekti iš Interneto (debesies), nieko konkretaus apie juos nežinodami. Ši koncepcija apima SaaS (programinę įrangą kaip servisus), Web 2.0 ir nuotolines programas (kaip "Google Apps").

Šios koncepcijos ištakos yra ties 1960-aisiais, kai John McCarthy išreiškė nuomonę, kad "skaičiavimai vieną dieną gali tapti vieša galimybe"; terminas "debesis" (cloud) jau buvo naudojamas paskutinio 20 a. dešimtmečio pradžioje apibūdinant plačius ATM tinklus. 2007 m. kovo mėn. "Dell" JAV pateikė prašymą registruoti prekinį ženklą "cloud computing", tačiau 2008 m. rugpjūčio 6 d. jis buvo atšauktas.

Labai svarbų vaidmenį šioje srityje suvaidino "Amazon", modernizavusi savo duomenų centrus, ir pastebėjusi kad ši nauja technologija pakėlė vidinį efektyvumą, 2002 m. užtikrinusi prieigą prie savo sistemų per "Web services". 2007 m. jos naudojamumas padidėjo ją perėmus "Google", IBM ir nemažai universitetų, įsitraukusių į stambų tyrimų projektą beveik tuo pat metu, kai šis terminas (cloud computing) ėmė plisti žiniasklaidoje. 2008 m. "Gartner" rugpjūčio mėn. pastebėjo, kad "organizacijos pereina nuo kompanijoms priklausančios aparatinės ir programinės įrangos prie į servisus orientuotų modelius".

Debesis pašalina daug ribų ir gali būti tikra globalizacijos forma; ir todėl yra daugelio geopolitinių klausimų tema, nes jo paslaugų tiekėjai turi užtikrinti daugybę reguliacinių globalios rinkos reikalavimų. To ištakos ties Internato pradžia, kai laisvūnai mąstytojai jautė, kad kibererdvė yra išskirtinė vieta, reikalaujanti savų įstatymų ir teisinių institucijų. Neal Stephenson tai įžvelgė kaip nedidelės salos duomenų uostą Kinakuta mokslinės fantastikos romane "Cryptonomicon".

Nors ir buvo bandymų sutvarkyti teisinius klausimus, paslaugų tiekėjai (pvz., "Amazon") stengiasi įtikti vietinėms pagrindinėms rinkos (kaip JAV ir Europos sąjunga) įrengdami lokalias infrastruktūras ir leisdami kleintams rinkti "leidžiamumo zonas" (availability zones).

Rizika

Siekdamas išvengti duomenų prieigos prie savo duomenų, reikia įsigilinti į tiekėjo saugumo politiką. "Gartner" išvardija 7 su saugumu susijusius klausimus:

  1. Privilegijuoti vartotojai – kas turi išskirtinę prieigą prie duomenų, kaip samdomi ir prižiūrimi tie administratoriai;
  2. Reguliaciniai sutikimai – užsitikrinimas, kad tiekėjas nusiteikęs priimti išorinį auditą ir rūpinasi saugumo sertifikatais;
  3. Duomenų lokacija – pasidomėjimas, ar tiekėjas leidžia valdyti duomenų saugojimo vietą;
  4. Duomenų segregacija – pasitikrinimas, kad šifravimas galimas visose fazėse ir jis sukurtas patyrusių profesionalų;
  5. Atstatymas – išsiaiškinimas, kas nutiks duomenims jų pažeidimo atveju; ar užtikrinamas pilnas duomenų atstatymas ir kaip ilgai jis trunka;
  6. Tiriamasis palaikymas – užklausimas, ar tiekėjas turi galimybę nustatyti kokią nors nelegalią ar netinkamą veiklą;
  7. Ilgaamžiškumas – sužinojimas, kas nutiks tiekėjui nutraukus veiklą; kaip bus gražinti duomenys ir kokiu formatu.

Praktiškai, geriausias būdas nustatyti duomenų atstatymą yra bandymas juos gauti – paprašyti senų duomenų ir pažiūrėti, kaip ilgai tai užtrunka. Patikrinti duomenų saugumą yra sunkiau; vienas būdų pačiam šifruoti duomenis.

Privalumai

  • Sumažinamos kliento kapitalines investicijos ir todėl pažemina pradinį "slenkstį", nes infrastruktūra priklauso tiekėjui. Paslaugos prieinamos arba skirtos galutiniams vartotojams bei smulkiam verslui;
  • Neprisirišimas prie įrangos ir vietos – prieiga galima iš visur nepriklausomai nuo naudojamos įrangos (PK, mobilių);
  • Daugiavartotojiška nuoma – bendras resursų ir kaštų pasidalijimas tarp daugelio vartotojų užtikrinant infrastruktūros centralizaciją vietovėse su mažesniais kaštais (nekilnojamas turtas, elektra, aptarnaujantis personalas ir pan.) bei įrangos didesnę apkrovą (lokalios sistemos dažnai tepanaudoja 10-20% skirtų resursų).
  • Greitas adaptavimas, išplečiamumas – pagal poreikį išskiriami ar sumažinami resursai (CPU, atmintis ar tinklo pralaidumas);
  • Monitoringas – stebimas produktyvumas;
  • Patikimumas padidinamas pertekliniais resursais (vienok, pagrindinės paslaugos turėjo sutrikimų nuo perkrovų ir IT vadybininkai mažai ką galėjo pagelbėti);
  • Saugumas – padidėja dėl centralizuoto valdymo ir koncentruoto saugumo specialistų dėmesio.
  • Nenutrūkstamumas pasiekiamas per efektyvesnį resursų naudojimą, efektyvesnes sistemas ir pan.
Cloud Computing

Debesies platforma

Ji vadinama keliais pavadinimais: platforma pagal pareikalavimą (on-demand) arba platforma kaip paslauga (PaaS).

Pasižiūrėkime, kaip naudojamas aplikacijų platformos. Kai programavimo komanda sukuria vidinę aplikaciją, dauguma jai reikalingos infrastruktūros jau egzistuoja. Operacinė sistema užtikrina programos veikimą, sąveiką su duomenimis ir kitais kompiuteriais. Panašiai yra ir su debesies aplikacijomis.

Debesies platformos gali būti sugrupuotos į tris kategorijas:

  1. Programinė įranga kaip paslauga (SaaS): aplikacija-naršyklė (klientas)-vartotojas.
    SaaS aplikacija vykdoma debesyje (t.y. per internetą pasiekiamuose tiekėjo serveriuose). Vartotojo sąsajos priemonė paprastai yra naršyklė (pvz., Salesforce.com);
  2. Prisijungtos paslaugos: papildomos funkcijos-aplikacija-vartotojas.
    Įmonėje veikianti aplikacija gali išplėsti savo galimybes panaudodama reikalingas funkcijas iš debesies. Pvz. MS Exchange nuoma, užtikrinanti iš debesies paimtus brukalų nufiltravimą, archyvavimą ir kt.;
  3. Debesies platformos: aplikacija-platforma-aplikacija-programuotojas.
    Jos suteikia paslaugas aplikacijų kūrimui. Vietoje aplikacijos kūrimo savo bazėje, ji kuriama debesyje. Šiuo atveju – galutinis vartotojas yra programuotojas.

Bet kurią aplikaciją galime suvokti kaip susidedančią iš trijų dalių (prie jų dar reikia paminėti ir Programavimo įrankius):

  1. Pagrindo: beveik visos aplikacijos naudoja kokią nors sisteminę programinę įrangą (OS), užtikrinančią įvairias sistemines funkcijas: standartines API, tinklą, prieigą prie failų ar DB.
    Pvz., OS: Windows, Linux, Unix; Technologijos: .NET Framework, Java EE ir kt.
  2. Infrastruktūros: aplikacijos neretai panaudoja kituose kompiuteriuose esančias paslaugas: nutolintus atminties masyvus, integracines paslaugas, identifikavimo priemones ir pan.
    Pvz., saugyklos: failinė sistema ar Sharepoint dokumentų biblioteka, DB; Integracinės priemonės: pranešimų siuntimas, IBM "WebSpere", MS "BizTalk" ir pan.; Identifikavimas: MS Active Directory ar kitos LDAP priemonės;
  3. Aplikacijos paslaugas: vis dažniau aplikacijos tampa orientuotos į paslaugas (servisus), funkcijas, kurias gali panaudoti kelios aplikacijos.
    Gali būti su standartiniais paketais pateiktos paslaugos (SAP, Oracle Applications, MS Dynamics…) arba įmonės viduje sukurti servisai.

Taigi, aplikacijų platforma gali būti pakankamai sudėtinga, o dar reikia atsiminti, kad ji visą laiką vystosi.

Reikia atkreipti dėmesį, kad įmonės ir debesies platformos nėra tapačios: įmonės platformos yra daugiausia skirtos įmonės masto aplikacijoms palaikyti, o debesies platformos – teoriškai viso pasaulio ir gerokai didesnį vartotojų kiekį.

Debesies pagrindas (foundation) – sąsajų rinkiniai pagrindinėms funkcijoms. Kaip operacinė terpė, geriausiai žinoma yra "Amazon" EC2 (Elastic Computer Cloud), suteikianti virtualiose mašinose (VM) veikiančių "Linux" prieigas. Klientai jose gali naudoti bet kokias priemones, pvz., vienas gali rinktis Java EE ir MySQL, o kitas – "Ruby on Rails" (RoR).

Tačiau lokalios priemonės yra ribojamos. Tačiau suteikdamas mažiau laisvės, tiekėjas gali lengviau optimizuoti savo aplinką. Kiekviena lokalių priemonių grupė orientuojasi į tam tikrą aplikacijų rūšį. Pvz., Google "AppEngine" palaiko "Python" Web aplikacijas, o Force.com orientuojasi į duomenis orientuotas verslo aplikacijas, todėl sukūrė savą "Apex" kalbą. Panašiai debesies aplikacijas palaiko ir "Microsoft" – kaip "CRM Live" dalį "Dynamics CRM" platformoje. "Microsoft" tikisi ir toliau vystyti šį sritį suteikiant galimybę naudotis įprastomis .NET kalbomis ir įrankiais. Ir netgi ketinama užtikrinti aplikacijų portabilumą tarp įmonės ir debesies paltformų.

Debesies infrastruktūros servisai. Aplikacijos neretai naudoja tam tikras lokalias priemones duomenims saugoti. Nutolintos saugyklos debesyje būna skirtingų tipų. Pvz., "Amazon" S3 (Simple Storage Service) suteikia bazines nestruktūrizuotos saugyklos funkcijas. Programuotojas gauna paprastą modelį: objektai, kurie yra tiesiog baitų rinkiniai, saugomi kaušuose (buckets). Aplikacijos gali kurti, skaityti ir šalinti objektus bei "kaušus". Objektai negali būti modifikuojami, tačiau juos galima visiškai pakeisti naujais. Kitokio tipo požiūris yra suteikiant labiau struktūrizuotų duomenų palaikymą. MS "SQL Server Data Services (SSDS) duoda konteinerį, kuriame yra viena ar daugiau esybių (entity), kurių kiekviena turi tam tikrą savybių (properties) kiekį. Aplikacija gali pateikti užklausas konteinerio duomenims paimti – panaudodama operatorius ==, !=, <. >, AND, OR, NOT. Įdomu, kad tai nėra reliacinė duomenų bazė, o užklausų kalba nėra SQL. Panašiai informaciją tvarkyti leidžia ir "Amazon" "SimpleDB", kuri yra domenų, elementų ir reikšmių hierarchija, kurios užklausų kalba taipogi ne SQL.

Integraciniams servisams persikeliant į debesį, atsiranda eilė naujų technologijų. Pvz., "Amazon" SQS (Simple Queue Service), užtikrinanti apsikeitimą pranešimais per eiles. Ir čia matome, kas nutinka, kai panašus servisas iš įmonės persikelia į debesį: kadangi SQS replikuoja pranešimus į daugelį eilių, aplikacija nėra garantuota, kad matys visus pranešimus iš visų eilių, o taip pat neužtikrinama pranešimų pristatymas iš eilės. Kitas pavyzdys – "Biztalk Services", kuris užtikrina aplikacijų bendravimą per ugniasienę (firewall).

Taipogi aplikacijos turi mokėti nustatyti vartotojo tapatybę. Paprastai tam jos reikalauja, kad vartotojas pateiktų skaitmeninę savo identifikaciją, baitų rinkinį, leidžiantį atpažinti vartotoją. Šiuo metu egzistuoja kelios tapatybės nustatymo debesyje schemos. "Amazon" platformose (EC2 ir S3) reikalaujama pateikti "Amazon" identifikaciją, "AppEngine" pripažįsta "Google" identifikaciją, o "Microsoft" duoda "Windows Live ID". Šioje srityje aplikacijų programuotojams nesuteikiama laisvė rinktis.

Reikia pastebėti, kad debesies servisai gali gerokai daugiau, nei servisai įmonėje, pvz., tos pačios u-klausos metu ieškoti informacijos ir savo duomenų bazėje , ir Internete (kaip MS "Live Search") ar susieti duomenis su žemėlapiais (kaip "Google Maps" ar MS "Virtual Earth"). Yra ir daugiau servisų, kuriuos galima naudoti savo Web svetainėse, pvz., dalintis nuotraukomis ("Google Picasa" ir MS "Windows Live Photo Galery").

Vienok, naujos aplikacijų platformos nepasirodo labai dažnai, tačiau pasirodžiusios gali turėti didelį poveikį. Kol kas debesies platformos dar nesuteikia visų galimybių, kurios galimos įmonių platformose, tačiau reikalai neišvengiamai gerės, nes technologija tebesivysto. Ir kol kas debesies technologijos dar nėra daugelio specialistų akiratyje, tačiau požiūris į jas gali visiškai pasikeisti po kokių 5 m.

Tai pat susipažinkite:
BlueMIX debesijos pradmenys (PPT prezentacija)
Pradiniai prezentacijos pavyzdžių tekstai

Ankstesnės "Advanced HTML" skyrelio temos:
"Ruby" kalba
JavaScript atspindžiai
Didžiųjų duomenų mitas
Viešojo rakto kriptografija
Pelė uodega švystelėjo...
Tikroji Interneto pabaiga
CGI.pm biblioteka: sausainiai
Ką delne mums neša HTML 4.0?
MS SQL užklausų rezultatų puslapiavimas
Kaip valdyti piešinių pakrovimo tvarką
Kaip nukreipti į kitą WWW puslapį
Įlįskite į lankytojų kailį
Kaip sužinoti ekrano charakteristikas?
Pitonas, kandantis sau uodegą
Programavimo kalbų klegesys
Unix komandinės eilutė
Tiesa apie REST

JavaScript pradmenys
Didelių duomenų analizės terminai
Vaizdi rašysena - VB Script
Visata kaip kompiuteris
Pagalba paieškai (patarimai)
Vartiklis