Servisi AWS-a (EC2, S3…) i čemu to sve služi?

AWS je set individualnih servisa koji su međusobno povezani tako da čine jednu funkcionalnu celinu. Iako je, naravno, moguće koristiti samo pojedinačne servise, njihov pun smisao dolazi do izražaja tek kada se koriste zajedno.

Miloš Savić - 30. Septembar, 2015.

U prethodnom tekstu, Miloš Savić nam je doneo vodič zašto i kada treba izabrati AWS i kako se on to razlikuje od klasičnog hostinga, sada pročitajte nešto više o njegovim tehničkim osobinama.

AWS je set individualnih servisa koji su međusobno povezani tako da čine jednu funkcionalnu celinu. Iako je, naravno, moguće koristiti samo pojedinačne servise, njihov pun smisao dolazi do izražaja tek kada se koriste zajedno. Rešenja koja AWS nudi pokrivaju najčešće usluge koje su korisnicima potrebne, i iako ih je moguće nadomestiti nekim eksternim(“3rd party”) servisima, pokazalo se da, osim faktora cena, najbolje funkcionišu sa rešenjima iz sopstvenog okruženja.

Dva najpoznatija servisa su EC2 i S3.

EC2 — Elastic Compute Cloud

EC2 je cloud servis koji vam pruža mogućnost da zauzmete (provision) potreban broj virtuelnih mašina(EC2 instances) za svoje potrebe. Ovo je servis opšte namene, na koji se oslanjaju (ili kojim barataju) i drugi servisi iz AWS seta (RDS – Relational Database Service, odnosno relaciona baza podataka – je očigledan primer).

EC2 instance najčešće predstavljaju najveću i najvažniju stavku na vašem mesečnom računu. Jedna instanca predstavlja kompletan virtuelni računar, sa određenom snagom procesora, određenom radnom memorijom, dodeljenim prostorom na disku, instaliranim operativnim sistemom itd.

Instance se pokreću po potrebi, i naplaćuju po radnom satu i prema snazi mašine koja je pokrenuta, kao i prostorom na disku koji joj je dostupan. Pošto računar pored hardvera čini i softver, osnova nad kojom se pokreće mašina se naziva AMI – Amazon Machine Image – image koji sadrži kompletan operativni sistem, i osnovni set alata za rad sa njim. Jednom kada se instanca pokrene, dobijate svež operativni sistem po svom izboru, na koji se povezujete preko nekog remote access protokola (ssh ili rdp su direktni primeri), i dalje upravljate tom mašinom kao da ste za njenom tastaturom.

Šta će ta instanca raditi, koji softver će imati – ostavljeno je vama za planiranje. Postoje brojne opcije koje omogućavaju baratanje instancama – kopiranje, živo dodavanje hard diskova, čuvanje kompletnih rezervnih slika hard-diskova (snapshots), pravljenje šablonskih AMI-ja mašina, na osnovu kojih će se pokretati druge mašine i slično, skoro sve što vam može pasti na pamet.

Svaka instanca dobija svoju IP adresu na internoj Amazonovoj mreži (dostupnu samo u okviru nje), javnu dinamičku IP adresu (dostupnu svima), i FQDN(Fully Qualified Domain Name) adresu oblika ec2-xxx-yyy-zzz-ppp.compute-1.amazonaws.com, koja sadrži u sebi javnu dinamičku adresu. Ova adresa se ne menja dok se mašina ne ugasi, osim u slučaju da zahtevate od Amazona statičku adresu.

Ne-tako-davne izmene na EC2 servisu omogućavaju veću kontrolu nad vidljivošću mašina, tako da je moguće ostaviti instance nevidljivima za spoljašnji svet, ali dostupnim za mašine iz interne mreže (VPC) i slično. Ovakvo ponašanje se nekada moralo birati unapred – sada je podrazumevano.

S3 — Simple Storage Service

S3 predstavlja servis za čuvanje masivnih količina podataka. Podaci se šalju preko internog API-ja, konzole ili nekim od dostupnih alata. S3 se može zamisliti kao ogroman hard-disk, gde su podaci organizovane u tzv. kofe (buckets), i u okviru kofe u direktorijume.

U pozadini, međutim, direktorijumi ne postoje, svi fajlovi se nalaze na istom nivou, i dostupni su po svom imenu. S3 obezbeđuje neke specifične opcije za baratanje fajlovima, npr. brisanje fajlova nakon određenog vremena, arhiviranje na storage dubljeg nivoa (servis Glacier) itd. Takođe, garantuje se i bezbednost podataka, budući da se svi podaci smeštaju kao dve istovetne replike. Koliko su EC2 i S3 čvrsto spregnuti govori i podatak da se AMI-ji za EC2 čuvaju upravo na S3 servisu. Neki od poznatih servisa koji koriste S3 su i Tumblr, Dropbox, Netflix i drugi.

Drugi servisi

Ostali brojni servisi koji se koriste u sprezi sa EC2 i S3 kao osnovom pokrivaju širok spektar upotreba i tehnologija. Neki od njih koji mogu biti od značaja za startape su:

Postoji veliki broj drugih servisa specifične namene. Cloudfront je sistem za distribuiranje sadržaja sa tzv. ivičnih lokacija (edge locations), radi smanjenja opterećenja i troškova, i povećanja brzine prenosa. Virtual Private Cloud  omogućava izdvajanje vaših resursa u privatnu mrežu, dostupnu samo vama. Glacier predstavlja izuzetno jeftin backup za velike količine podataka nauštrb brzine pristupa podacima koji su u njega smešteni. DynamoDB je NoSQL baza podataka. ElastiCache je implementacija Redis ili MemCached in-memory baza podataka, itd.

Koji servisi od ovih će biti upotrebljeni zavisi od korisnika, prirode njegovog servisa, potreba za prilagođavanjem konkretnog rešenja i parametara servisa i sl. Amazon marljivo radi na dodavanju novih mogućnosti svoje platforme, tako da se noviteti pojavljuju svakih par meseci.

Neophodna spojnica

Najzad, da ne zaboravimo najbitniji servis. Da biste uopšte upregli bilo koji od navedenih servisa, potreban vam je servis koji se naziva AWS Management Console, odnosno konzola za upravljanje. Konzola je Web aplikacija koja omogućava pregled i upravljanje skoro svim servisima, pregled vaših računa, podešavanja naloga, i, ukratko, svega što je bitno za AWS. Svi AWS servisi imaju svoj Dashboard, preko kojeg se kontrolišu.

Osim Dashboarda, servisima se može upravljati i pomoću izuzetno moćnog seta alata i AWS API-ja, preko komandne linije. Komandna linija daje mnogo više alata i mogućnosti za upravljanje i automatizaciju različitih procesa vezanih za servise, ali je kriva njenog učenja nešto strmija u odnosu na vrlo preglednu i user-friendly Web konzolu.

Koju od ovih ćete koristiti zavisi od ličnih preferencija i potreba, ali ćete prve korake u svakom slučaju napraviti sa Web konzolom – ako ništa drugo, makar da napravite nalog. Zajednica na Internetu je vredno radila, pa su se već odavno pojavili i alati integrisani u web čitače, a postoji i zvanična AWS konzola u vidu mobilne aplikacije.