Otvoreno nebo Microsoft Azurea

Autor Tomislav Tipurić | Objavljeno u Cloud | Objavljeno 19. lipanj 2014, 14:12

0

O Azureu i njegovim funkcionalnostima već smo podosta pisali u ranijim brojevima. Ipak, kao javna cloud platforma on predstavlja ključan dio Microsoftove cloud priče te ćemo u nastavku dati kratak pregled kako se pojedini njegovi elementi uklapaju u Microsoftovu sliku računalstva u oblaku…

Azure portal – centralno mjesto za upravljanje svime što koristite

Azure portal – centralno mjesto za upravljanje svime što koristite

Microsoft je Azure prvi puta javno pokazao na PDC konferenciji 2008. godine, pod nazivom Windows Azure. Bila je to platforma sačinjena od računalne snage (compute), prostora za pohranu (storageblob i table) i servisne sabirnice (App Fabric). Načelno je bio zamišljen kao Platform-as-a-Service (PaaS) tehnologija namijenjena pokretanju aplikacija koje zahtijevaju visoku skalabilnost. Kako se tržište mijenjalo, mijenjao se i Azure, dobivao nove funkcionalnosti, postajao sve otvorenija cloud platforma da bi mu se prije nekoliko tjedana promijenio i naziv – postao je Microsoft Azure, bježeći od naziva Windows upravo kako bi se pokazala sva sila drugih tehnologija koje je moguće na njemu pokretati.

U nastavku ćemo napraviti kratki pregled osnovnih tehnologija koje sačinjavaju Azure platformu, kao i najčešćih mogućih scenarija primjene.

Osnovne Azurne tehnologije – Compute

Prva važna komponenta jest računalna snaga, odnosno Compute. Jednostavnije bi bilo reći da se radi o oblicima pokretanja servisa i aplikacija. Prva kategorija su Azure Virtual Machines, odnosno virtualne mašine koje pokreću Windows ili Linux operativne sustave. Drugi, popularniji, naziv za ovu tehnologiju je Infrastructure-as-a-Service ili IaaS. Postoji, jasno, poveća biblioteka (Library) gotovih predložaka, a uvijek možete postaviti i svoj vlastiti .vhd. Microsoft u Azureu podržava Windows Server od verzije 2008 R2 na dalje te Linux distribucije Canonical UBUNTU (12.04.1, 12.10 i 13.04), Open Logicov CENTOS (6.3+), Oracle Linux (6.4+), SUSE Linux Enterprise (SLES 11 SP3+) i openSUSE (13.1+). Kada kažemo podržane Linux distribucije mislim na one za koje Microsoft daje podršku u vidu pomoći pri instalaciji, otklanjanju nastalih problema i slično. Na Azureu se mogu pokretati praktički sve distribucije koje u sebi imaju drivere i Azure Agenta (obje komponente su dostupne kao Open Source). Tako ćete na Azureu bez ikakvih problema zavrtjeti i Red Hat, ako vam je to želja. Uz spomenute osnovne verzije predložaka u vidu operativnog sustava, Azure vam nudi i brojne kombinacije predložaka s predinstaliranom bazom podataka ili čak Visual Studiom, ovisno o tome što vam treba. Ako vam Microsoftovi predlošci nisu dovoljni, brojne druge možete pronaći na VMDepotu (http://vmdepot.msopentech.com).Valja napomenuti da uvijek možete napraviti i svoj vlastiti.

Popis svih featurea Microsoft Azurea

Popis svih featurea Microsoft Azurea

Druga kategorija je tehnologija naziva Cloud servisi koja zapravo predstavlja nekadašnju srž Azurea, poznatiju pod nazivom Platform-as-a-Service ili PaaS. Njezina implementacija sastoji se od 2 tipa rola: web i worker čija su tehnološka izvedba zapravo virtualne mašine s posebnom verzijom Windows Server operativnog sustava. Za razliku od „običnih“, ranije spomenutih, virtualnih mašina, ove su takoreći samo održive, odnosno, nije potrebno o njima brinuti, ažurirati ih, kontrolirati procese i slično. Ipak, zbog toga što se radi o tzv. upravljanom (managed) okruženju postoje stvari koje s njima ne možete izvesti. Tako primjerice sve što taka jedna rola zapiše na sebe tokom svog izvođenja nestaje s nje onog trenutka kada se dogodi greška ili pak ažuriranje sustava te se ona ugasi ili ponovno pokrene. Da bi se vaše aplikacije nesmetano vrtjele u Azure Cloud servisima one moraju biti za njih pisane tj. moraju paziti da svaka pojedina instanca bude stateless, tj. da nikakve podatke ne čuva lokalno, u memoriji ili na disku, virtualne mašine. Ono što ćete dobiti zauzvrat je nevjerojatna skalabilnost i samoodrživost – PaaS od vas ne traži apsolutno ništa nego kvalitetan aplikacijski kod – sve je drugo na njemu i unutarnjim mehanizmima platforme. Za zaključiti je da je ovo platforma za nove aplikacije koje zahtijevaju visoku skalabilnost.

Treću kategoriju predstavljaju web stranice ili cloud web hosting, naziv koji se relativno nedavno pojavio u IT industriji. Radi se zapravo o usluzi koja vam omogućuje jednostavno smještanje vaših web aplikacija ili web stranica, bilo da su pisane korištenjem Microsoftovih ili pak open source tehnologija poput php-a, rubya ili phytona. Azure Web sites poprilično je popularna usluga, prvenstveno zbog činjenice da svaki korisnik može besplatno smjestiti 10 webova (bez vlastite domene), a skaliranje ide preko dijeljenih (shared) instanci koje multiplikatorom od 1 do 6 možete dovesti do cijele, vlastite virtualne mašine te, po potrebi, dalje skalirati.

Četvrta su kategorija Azure Mobile servisi, najmlađa Azure usluga pomoću koje je iznimno jednostavno stvoriti pozadinske usluge (backend) za vaše mobilne aplikacije, tzv. Mobile-Backend-as-a-Service (MBaaS).

Azure Mobile Services – sve što vam treba za kvalitetan mobilni backend

Azure Mobile Services – sve što vam treba za kvalitetan mobilni backend

Kud s podacima?

Opcije pohrane podataka druga su značajna skupina Azure usluga. Prvu opciju predstavlja Azure Blob Storage, bezgranična hrpa prostora u koju možete pohraniti bilo što. Kada kažemo bilo što, to stvarno i mislimo. Radi se o binarnoj pohrani u koju se može koristiti za datoteke (primjerice fotografije i video zapise), ali i za vhd-ove ili pak neke druge podatke. Glavna je značajka Azure Bloba zapravo njegova iznimno niska cijena. Dok ovo pišemo, mjesečni trošak 1 GB-a geo-redundantnog (repliciranog u drugi podatkovni centar) iznosi 0,085 dolara. Uz to plaćate i transakcije, kojih 100.000 košta pola centa. Ulazni promet u podatkovni centar (upload) se ne naplaćuje, a izlazni (download) iznosi 0,12 dolara po gigabajtu.

Druga opcija za pohranu jest Azure Table storage. Ovdje se već radi o namjenskom prostoru za pohranu relativno specifičnih podataka. Azure tablice Microsoftova su implementacija NoSQL pohrane. Radi se zapravo o parovima kombinacija ključ-vrijednost (eng. Key-value pairs) koju su pohranjeni na način da budu brzo dohvatljivi kako bi osigurali iznimnu skalabilnost sustava. Drugi nazivi za ovu priču su Big Table ili pak Dynamo DB kod Microsoftovih konkurenata.

Treća način pohrane bio bi kombinacija SQL Server baze podataka unutar virtualne mašine koja piše po vhd-u, smještenom u Blob storageu. Ovaj se scenarij najčešće primjenjuje kod migracije postojećih sustava u Azure. Nećemo trošiti puno vremena na ovu priču – stvar je poznata, SQL Server se kao jedna od najkvalitetnijih relacijskih baza pokreće u virtualnoj mašini sa svim svojim funkcionalnostima koje inače ima na fizičkoj mašini ili pak virtualnoj mašini na nekom hipervizoru. Održavanje, backup, visoka dostupnost – sve je na vama.

Ukoliko ne želite razmišljati o virtualnoj mašini, a želite relacijsku bazu, Azure ima i uslugu naziva SQL Database, koja predstavlja pravu cloud implementaciju relacijske baze, tzv. Database-as-a-Service. Kod ove opcije brinete jedino o strukturi baze podataka i podacima koje u nju smještate. Za sve ostalo zadužen je Azure što je izvrsna opcija u kombinaciji s cloud servisima, ali i samostalno, ako želite biti sigurnu da je vaša baza uvijek dostupna.

Poveži me…

Što se tiče mrežnih funkcionalnosti Azurea, valjalo bi spomenuti Virtual Network i VPN. Naime, virtualne mašine u Azureu možete povezivati u vaše virtualne mreže, dodjeljivati im željeni IP range, slagati u podmreže te tako doslovno napraviti presliku vaše lokalne infrastrukture, ukoliko to želite. Ako pa tako stvorenu vritualnu mrežu i bilo kojem trenutku želite povezati s vašom lokalnom infrastrukturom možete se poslužiti VPN-om te će tako virtualne mašine u vašoj virtualnoj mreži moći dobiti isti IP range. Zgodno zar ne?

Azure Virtual Networks – primjer hibridne arhitekture izmišljene tvrtke Contoso

Azure Virtual Networks – primjer hibridne arhitekture izmišljene tvrtke Contoso

A što možemo sad s time?

Prošlo smo kroz kratki tutorial Azurea. Sad je vrijeme da vidimo što zapravo možemo sa svim tim tehnologijama, tj. koji su najčešći scenariji primjene.

Što se tiče Storagea, postoji već niz aplikacija/rješenja koja su ga u stanju koristiti out-of-the-box. Microsoftof StoreSimple primjerice, komad je hardvera koji u sebi sadrži SAN storage na kojem drži podatke kojima korisnici u nekoj organizaciji najčešće pristupaju. Sve ostale podatke pohranjuje u Azure Storage. Kada pristupite nekom podatku, on će se cacheirati, a ostali će mu korisnici onda pristupati direktno s lokalnog storagea. Isto tako, SQL Server je sposoban svoje backupe stavljati na Azure, kao i System Center 2012 Data Protection Manager. Jasno, sve vaše aplikacije bile bi u stanju koristiti Azure storage, uz male dorade. Pitate se, zašto bi to tko radio? Zbog cijene, spomenute u prethodnom dijelu.

Drugi su scenarij VM-ovi na zahtjev – kad vam treba nova virtualna mašina na Azureu ju možete stvoriti u 10 minuta, koristiti za što vam treba i kasnije izbrisati, ako vam više ne treba. Puno je tu različitih opcija, primjerice dev/test scenariji, koji znaju zahtijevati i više desetaka VM-ova na nekoliko sati. Druga su opcija postavljanje gotovih aplikacija poput SharePointa ili SQL Servera. Microsoft u ovom slučaju nudi i podršku te mogućnost prenošenja vlastite licence koju ste kupili u modelu koji vam na to daje pravo (ovo najčešće znači da imate kupljen tzv. Software Assurance). Jasno, Azure podržava i migraciju vaših postojećih aplikacija u Azure virtualne mašine, bilo Linux, bilo Windows. Jasno, cijeli proces migracije ovisit će o niz faktora, a da biste posao uspješno odradili morate biti vičan sistemski inženjer (ili imati takovog među svojim zaposlenicima).

Treći scenarij iznimno je jednostavan, a radi se o postavljanju web stranica i web aplikacija koristeći uslugu Azure Web Sites. Sve što vam radi na lokalnom IIS-u ili pak kod vašeg trenutnog hostera radit će i na Azureu, a podržani su i brojni drugi scenariji.

A nove aplikacije?

Svi scenariji koje smo gore opisali tiču se nekakvih već postojećih aplikacija ili pak čistih infrastrukturnih stvari u vidu pohrane podataka. Postavlja se pitanje što je s novim aplikacijama? Ako pišete novu aplikaciju (web aplikaciju, mobilni backend, web servis…) dobro proučite Azure – u velikom broju slučajeva on će biti odličan izbor. Ranije smo opisali komponente koje možete upotrijebiti u vidu računalne snage.

Cloud servisi odnosno Azure PaaS najčešće su odličan izbor za nove, skalabilne aplikacije zbog toga što je razvoj iznimno brz (velika količina gotovih komponenti koje se mogu iskoristiti), manje je prostora za pogrešku, a nema nikakvog održavanja infrastrukture. Ukoliko vam pak od Azurea treba samo mobilni backend, tj. zapravo radite aplikaciju za pametne telefone i tablete, a podatke želite negdje pohranjivati i obrađivati, tada se možete poslužiti Azure Mobile Servisima. Tu su jasno i Azure Web Sites za jednostavnije web aplikacije i web stranice.

Ukoliko pak PaaS koncept ima previše ograničenja i ne može udovoljiti vašim potrebama, na raspolaganju su vam i dalje virtualne mašine. No to bi, kod novih aplikacija, trebala biti zadnja opcija, nakon što ste isprobali sve ostalo.

Zahtjevnije primjene

Uz već spomenute mogućnosti Azurea, zanimljiva je i njegova upotrebljivost kod zahtjevnih obrada podataka. Uz pomoć Windows Servera s HPC Packom moguće je iskoristiti snagu velike količine virtualnih mašina kako bi se paralelno obrađivale velike količine podataka što je iznimno primjenjivo pri izradi simulacija ili pak obradi videa. Ovo je i strašno isplativo zbog činjenice da ćete spomenute virtualne mašine plaćati po minuti samo i isključivo za vrijeme trajanja obrade.

Druga važna stvar su Big Data algoritmi, za koje je Hadoop sinonim današnjice. Svi koji su probali znaju koliko je teško izgraditi i održavati Hadoop klaster. Azure tu uskače s uslugom naziva HDInsight, koja korisnicima omogućuje izvršavanje MapReduce jobova u oblaku bez brige o klasteru i infrastrukturi.

Za svakoga… barem nešto

Azure je kroz protekle tri godine dobio pozamašnu količinu funkcionalnosti koja raste iz mjeseca u mjesec te ju je nemoguće skratiti opisati u tekstu koji bi stao u ovu temu broja. Ipak, smatramo da su opisani scenariji iznimno interesantni te da bi svaka tvrtka, velika ili mala morala moći pronaći makar jedan kojim već danas može unaprijediti svoje poslovanje.

Objavljeno u posebnom izdanju časopisa Mreža povodom WinDays14 konferencije

Komentiraj