AWS servisi
izrada web sajtova, Seo optimizacija

AWS servisi

p

Izrada web sajtova – 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:

  • Pomenuti RDS (Relational Database Service) – baza podataka bazirana na nekom od dostupnih database engine-a, besplatnih ili manje besplatnih. U ponudi su MySQL, Postgres, Oracle, MSSQL i Amazon Aurora. RDS uklanja potrebu za održavanjem sopstvene baze podataka, obezbeđuje redundantnost po potrebi, backup na dnevnom nivou i drugo. Značajno je i da testovi potvrđuju da je razlika performansama servisa u default stanju, u odnosu na optimizovan sopstveni servis minimalna – za MySQL servis, koji se i najčešće koristi.
  • CloudWatch je monitoring servis koji prati različite parametre sistema (tzv. metrike), i na osnovu toga preduzima različite akcije. Moguće je slati obaveštenja o stanju različitih servisa na mail (i sms, ali samo u USA), praviti sopstvene (custom) metrike, koristiti CloudWatch u sprezi sa drugim servisima (AutoScale, Elastic Beanstalk) itd.
  • Elastic Load Balancer je servis koji po predefinisanom protokolu raspodeljuje zahteve upućene vašem servisu na neku od EC2 instanci koje su povezane na njega. Ovim se omogućava ravnomerna raspodela opterećenosti mašina, i omogućuje jednostavno skaliranje bez potrebe za naknadnim podešavanjem na samoj aplikaciji. ELB poseduje neke specifične osobine koje mogu biti od koristi u zavisnosti od arhitekture aplikacije koju potpomaže, kao što je podrška za SSL, session stickyness – dodeljivanje određenog servera određenom korisniku, i slično.
  • AutoScaling je servis koji omogućava da se na osnovu podataka koje CloudWatch dobija izvrši skaliranje sistema podizanjem dodatnih, ili obaranjem broja instanci. Uslovi za okidanje akcije mogu biti različiti, na osnovu trajanja opterećenosti, procesorskog zauzeća, zauzeća memorije i drugi. Na ovaj način se obezbeđuje da sistem uvek može da odgovori na nagli porast zahteva u najkraćem mogućem roku. Ovaj servis predstavlja jednu od najvažnijih osobina AWS-a.
  • Elastic Beanstalk je servis koji objedinjuje nekoliko drugih servisa pod zajedničko okruženje. EB služi da u 2-3 klika podignete kompletno distribuirano okruženje(environment) bazirano na EC2, uključuje Load Balancer, CloudWatch i AutoScaling. Na osnovu zadatih parametara, EB kontroliše broj instanci i opterećenje vaših servera, podiže nove, ili gasi nepotrebne, i na taj način održava odzivnost aplikacije na adekvatnom nivou, i pritom svodi troškove na minimum. Uz to, Elastic Beanstalk pruža jednostavne, ali moćne alate za kontrolu trenutnih verzija aplikacija koje su postavljene, i distribuira nove verzije aplikacije na sve instance koje su trenutno aktivne (ili će biti aktivne). EB je prepodešen za podizanje PHP, Ruby, NodeJS, Java aplikacija pod Tomcatom, Python i drugih,  tako da predstavlja najbrži, najlakši i zaokružen način za započinjanje rada aplikacije. Za naprednije korisnike, moguće je čak i postaviti SSL sertifikat koji će se prenositi na aplikacije pod Load Balancerom. Ukoliko vam zatreba nešto van ponuđenih opcija, ostavljena je mogućnost korišćenja mašina prilagođenih po želji, za maksimalnu slobodu u konfigurisanju okruženja.
  • Route 53 je u suštini klasičan DNS servis, uz nekoliko bitnih proširenja prilagođenih AWS strukturi i konceptima. Najvažnija osobina je izuzetno brzo osvežavanje unosa, koje omogućava da premestite servis sa mašine koja je otkazala poslušnost na svežu u roku od nekoliko minuta. Route 53 omogućava i definisanje više različitih destinacija za jedan isti URL (Uniform Resource Locator), i protokol po kojem će se rotirati navedene adrese.
  • Simple Email Service (SES) je klasičan SMTP (email) servis prilagođen za upotrebu sa EC2 instanci. Budući da virtuelne mašine često menjaju svoje adrese, email poslat sa takvih mašina bi vrlo lako završio u Junk/Spam folderu na većini Email servisa. Baš zbog ovoga, Amazon daje na korišćenje sopstveni servis, za koji ulaže veliki napor da bude prihvaćen na što je većem moguće broju destinacija. Da bi se sprečilo zatrpavanje, postoje mehanizmi kontrole, ali su limiti i pored toga dosta velikodušni i sasvim adekvatni za najveći broj korisnika.

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.

Preuzeto sa startit.rs

Leave a Reply

Close Menu