ratkom.net: potraga za nepoznatim

bespuća oblačnog računarstva, prostor privremene singularnosti

Archive for September 19th, 2010

[cc] O programiranju u oblacima, javnim, privatnim i heterogenim i zanimljivim aplikacijama…

leave a comment »

Neki dan sam imao priliku držati predavanje na sve popularnijoj COMBIS konferenciji u Novom Vinodolskom na teum “Public vs. Private Cloud”. Dobro, ne baš tako, ali dotakli smo se općetitih modela izbora te pogledali što pojedini vodeći vendori rade po tom pitanju. Iako bi bilo logično zastupati jednu od strana, sve više se nameće potreba I scenarij u kojem se koriste OBA modela paralelno, u nekakvom heterogenom modelu. Niti scenarij traži samo javni oblak, niti se scenarij može realizirati samo u privatnom obliku. Naravno da se tu model komplicira I više nije tako elegantan kao kod javnog oblaka, ali… ako to zadovoljava vašu potrebu, čemu inzistirati na savršenosti?

Dobar primjer kombinacija su javni infrastrukturni oblaci, od kojih je najpoznatiji Amazon (odnosno Amazon Web Services). Iako je krenuo kao standardni IaaS model (znate: kreirate si račun, otvorite konzolu, instancirate server, spojite se na njega…) koji podržava mnoštvo infrastrukturnih kombinacija, većina ljudi I dalje misli da je to jedini način kako ga možete iskoristiti. Ne samo da je oblak prilično prilagodđen uporabi u raznim scenarijima (npr. Virtual Private Cloud), nego je i potpuno otvoren za vašu poslovnu I privatnu uporabu … koristeći programska rješenja koje sami kreirate ili ih kreiraju drugi ponuditelji rješenja.

Za one bolje upućene, Amazon ima jedno od najelegantnijih API sučelja, značajno smanjujući problematiku rada s resursima koji se nalaze u oblaku.

Oni koji rade s Microsoft platformom znaju da je Amazon izdao zanimljiv AWS SDK za .NET koji vam omogućuje programatsko korištenje Amazon resursa (Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon SimpleDB itd).

image

AWS se, kao i kod drugih SDKova za neki oblak jednostavno integrira u razvojni alat (na primjer, Microsoft AZURE funkcionira na isti način, pogledajte u Installed templates odrednicu Cloud), uključivo i lokalnu simulaciju javnog oblaka kako bi mogli testirati svoj uradak.

Iako na blogu rijetko pišem o programiranju, fascinira jednostavnost kojom, na primjer, možete isčitati svoje instance:

// Print the number of Amazon EC2 instances.
               AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client(
                   appConfig["AWSAccessKey"],
                   appConfig["AWSSecretKey"]
                   );
               DescribeInstancesRequest ec2Request = new DescribeInstancesRequest();

               try
               {
                   DescribeInstancesResponse ec2Response = ec2.DescribeInstances(ec2Request);
                   int numInstances = 0;
                   numInstances = ec2Response.DescribeInstancesResult.Reservation.Count;
                   sr.WriteLine("You have " + numInstances + " Amazon EC2 instance(s) running in the US-East (Northern Virginia) region.");
                   sr.WriteLine("<br />");
               }
Rekao bih da u ovakvom pristupu vidim cijeli niz zanimljivih javnih (ali I privatnih) aplikacija koje koristeći SDK koriste resurse koji su im dostupni (dakle, bilo da je to računalo, storage, baza podataka itd…). ovo bi rješilo naočigled jednostavne stvari kao što je recimo skaliranje aplikacija ili pohrana podataka na jeftiniji oblak…

Dobar primjer kojeg koristim je GladiNet, odnosno Gladinet Cloud Desktop, kojeg koristim kako bi se spojio na razne pružatelje cloud usluga na meni jednostavan I transparentan način – računalo vidi moje prostore u oblacima mapirane u file strukturu računala.

image

 

Na slici je mapiran moj Live Sky Drive kroz Gladinet Drive, odnosno, broj providera na koje se možete spojiti je priličan – Gladinet radi sva mapiranja za vas, a na vama je da odaberete gdje I kako ćete se spojiti…

image

Time vaš Desktop postaje koordinacijko sredstvo razmjene informacija (što god da imate u mapama) između raznih providera usluga na oblaku, te vode brigu o tome ako se što promjeni u sučelju API ili ako… što god.

Sinkronizacije mogu biti automatske, pa tako možete imati i automatski backup u oblak ili više njih. No ovdje me ne fascinira toliko funkcionalnost aplikacije koliko dokaz da na ovakav način možete jednostavno miješati javnu i privatnu infrastrukturu. Programeru bi bilo prilično jednostavno priključiti logiku koja skalira serversko rješenje kada vidi da se odziv aplikacije smanjuje ili nedostaje diska ili previše korisnika pristupa onpremise rješenju ili… smislite sami.

Gotovo da znam nekoliko aplikacija koje su se prošlih mjeseci vrtile po medijima jer su se srušile, bile nedostupne, bile spore,… a koje tu problematiku ne bi ni vidjele da su imale… male jednostave nadogradnje koje koriste resurse u oblaku. Jest, koštalo bi dodatnih 300 – 400 kn tjedno, ali, valjda se više popije kave na dan.

Dalje, sve ostalo je gotovo drag&drop :)

Written by ratkom

19/09/2010 at 11:17

Follow

Get every new post delivered to your Inbox.