Еластиц Цомпуте Цлоуд (ЕЦ2) једноставно објашњено

Nekada je računska moć bila vezana za lokalnu hardversku opremu. Danas, ako se vaše softversko rešenje nalazi u oblaku, za to se brine veb usluga Elastic Compute Cloud (EC2).

EC2 donosi prilagodljiv računarski kapacitet u oblak. Korisnici mogu da iznajme virtuelne računare, takozvane instance, na kojima pokreću svoje aplikacije. Ove instance mogu imati različite konfiguracije, operativne sisteme, računarsku snagu i skladišni prostor.

EC2 je ključni element Amazon Web Services (AWS) platforme. Zbog toga se široko koristi u gotovo svim projektima koji se implementiraju u oblaku. Naravno, osim ako ne tražite arhitekturu bez servera, u tom slučaju EC2 nije relevantan.

Ključne komponente EC2

Izvor: docs.aws.amazon.com

Svaki AWS EC2 koji izaberete za svoj projekat mora se sastojati od dodatnih AWS komponenti. One precizno definišu parametre vaše konfiguracije.

#1. Instance

EC2 instanca je u suštini virtualna mašina u oblaku. Možete je podesiti i pokrenuti u različitim konfiguracijama. Takođe, morate definisati operativni sistem koji će instanca koristiti, kao i njenu snagu (količinu CPU-a, RAM-a itd.).

Konačno, možete odrediti količinu trajnog skladišnog prostora koji će biti povezan sa EC2 instancom.

#2. Amazon Machine Images (AMI)

AMI je unapred konfigurisan šablon koji sadrži sve neophodne informacije za uspešno pokretanje instance. Ovde birate operativni sistem na kojem želite da pokrećete aplikacije, kako će izgledati serverska aplikacija i koje tačno aplikacije treba instalirati.

#3. Elastic Block Store (EBS)

Ovo je usluga skladištenja koja vam omogućava da koristite stalne jedinice skladišnog prostora za vašu EC2 instancu. Ovde se smeštaju svi podaci aplikacije i korisnički podaci kada se aplikacije pokreću na EC2 instancama.

#4. Sigurnosne grupe

Svaka EC2 instanca zahteva kontrolisan pristup iz sigurnosnih razloga. To se odnosi na komunikaciju iz spoljnog sveta ka EC2 instanci (odlazni saobraćaj), kao i na komunikaciju između AWS usluga unutar vaše oblačne infrastrukture (dolazni saobraćaj).

#5. Ključni parovi

Radi poboljšane sigurnosti, potrebno je generisati par javnih i privatnih ključeva koje koristite za bezbedno povezivanje sa EC2 instancama.

#6. Elastične IP adrese

Da biste pristupili vašoj novoj EC2 instanci sa spoljnog interneta ili je referencirali unutar vaše oblačne infrastrukture, morate joj dodeliti statičku IP adresu. Nakon toga, virtuelna mašina sa EC2 instancom postaje dostupna.

#7. Grupe plasmana

Pomoću njih možete kreirati logičke grupe instanci. One su dizajnirane da obezbede mrežne veze sa niskom latencijom i visokim propusnim opsegom. Ovo je korisno iz organizacionih razloga, ali i radi poboljšanja performansi.

#8. Automatsko skaliranje

Ovo je usluga, prilično jedinstvena među različitim provajderima oblačnih usluga, koja automatski prilagođava broj EC2 instanci u grupi u skladu sa vašim zahtevima za opterećenjem. To znači da, kada omogućite automatsko skaliranje, vaše EC2 instance se mogu umnožiti ili hardverski pojačati kako bi se odgovorilo na povećanu potražnju.

Alternativno, možete smanjiti kapacitet ako je potražnja značajno manja od uobičajene. Glavni cilj ovoga je da se izbegne usporeni rad tokom perioda najvećeg opterećenja, ali i da se uštedi novac kada nema puno posla.

#9. Balanseri opterećenja

Pojednostavljeno, ovo je usluga koja distribuira dolazni saobraćaj na više EC2 instanci, čime se poboljšava dostupnost i skalabilnost.

#10. Virtuelni privatni oblak (VPC)

VPC je logički izdvojena virtuelna mreža koja obezbeđuje sigurno i izolovano okruženje za EC2 instance. Možete organizovati različite EC2 instance u iste ili različite VPC-ove, a zatim definisati pravila za dolazni i odlazni saobraćaj između VPC-ova, a samim tim i između različitih EC2 instanci u vašoj oblačnoj infrastrukturi.

Obično želite da neke EC2 instance ostanu privatne i da im se pristupa isključivo pomoću aplikacijskog koda. Istovremeno, druge EC2 želite da budu dostupne preko interneta. VPC je savršeno rešenje za to.

Glavne karakteristike EC2

Izvor: aws.amazon.com

EC2 instance pružaju skalabilan računarski kapacitet u AWS oblaku. Kompanije mogu brzo pokrenuti virtuelne mašine sa potrebnim računarskim mogućnostima i skladišnim prostorom bez ulaganja u fizički hardver. Ovo je suštinska prednost oblačne infrastrukture, a EC2 igra značajnu ulogu u tome.

Uobičajena svrha EC2 instanci je hostovanje različitih aplikacija ili veb lokacija u oblaku. Možete ih koristiti da biste ispunili svoje radne zahteve, bilo da se radi o grupnoj obradi, zahtevima za obradu u realnom vremenu, veb ili mobilnim aplikacijama.

Upotreba EC2 je praktično beskrajna. Možda vam je potrebna velika snaga za obradu podataka, mašinsko učenje ili igranje igara. Možda vam trebaju dodatna okruženja za razvoj ili testiranje vaše infrastrukture. U tom slučaju, definitivno možete iskoristiti sve prednosti EC2 instanci.

Najbolje od svega, možete ih uništiti i ponovo kreirati kad god vam zatreba. Na taj način štedite novac za razvoj i testiranje infrastrukture u periodima kada vam nije potrebna. Uništavanje i ponovno kreiranje na zahtev imaju, naravno, mnoge druge poslovne primene.

Osnove računarstva u oblaku

Pošto smo već govorili o EC2, možda bi bilo korisno da se vratimo korak unazad i objasnimo šta je zapravo računarstvo u oblaku.

Možete ga posmatrati kao model isporuke računarskih resursa putem interneta, na zahtev i kao uslugu. To je mehanizam za pristup računarskoj snazi, sa svom njenom infrastrukturom i aplikacijama, bez ulaganja u fizički hardver ili infrastrukturu. Računarstvo u oblaku se zasniva na nekoliko osnovnih principa, uključujući:

  • Korisnicima je u svakom trenutku dostupna samouslužna upotreba na zahtev. Serveri i skladište su dostupni bez dugotrajnog procesa nabavke.
  • Cloud resursima se može pristupiti sa bilo kog mesta i sa bilo kog uređaja (npr. laptop, desktop, tablet, mobilni telefon).
  • Računarski resursi ili cela infrastruktura se mogu deliti i dinamički dodeljivati kako bi se odgovorilo na promenljive zahteve i potrebe.
  • Možete brzo povećati ili smanjiti resurse u skladu sa trenutnom potražnjom.
  • Računarstvo u oblaku u realnom vremenu podrazumeva model plaćanja po potrošnji, gde korisnici plaćaju samo one resurse koje zaista koriste. Takođe, možete pratiti potrošnju u realnom vremenu.

Modeli usluga računarstva u oblaku

Računarstvo u oblaku ima tri glavna modela usluga:

  • Infrastruktura kao usluga (IaaS), koja vam pruža virtuelizovane računarske resurse kao što su serveri, skladište i mreža, kao uslugu. Dalji razvoj rešenja zavisi isključivo od vas.
  • Platforma kao usluga (PaaS) ide korak dalje. Dobijate kompletnu platformu za razvoj, implementaciju i upravljanje aplikacijama kao uslugu. Ne morate brinuti o detaljima infrastrukture.
  • Softver kao usluga (SaaS) je najviši nivo gde dobijate kompletne softverske aplikacije, kao što su e-pošta, CRM ili alati za produktivnost, kao uslugu. U ovom slučaju, samo koristite ono što je već dostupno.
  • Modeli implementacije računarstva u oblaku

    Računarstvo u oblaku se takođe razlikuje po načinu na koji implementirate i pristupate resursima:

  • Javni oblak znači da resurse u oblaku obezbeđuje treća strana, kao što su AWS, Microsoft Azure ili Google Cloud, i dostupni su putem interneta.
  • Privatni oblak se koristi kada organizacija izgradi sopstveni centar podataka, a infrastruktura je dostupna samo unutar mreže organizacije.
  • Hibridni oblak je kombinacija javnih i privatnih resursa u oblaku, koji su integrisani kako bi se obezbedila jedinstvena, međusobno povezana infrastruktura.
  • Multi-cloud je strategija kada organizacija koristi više provajdera oblačnih usluga kako bi zadovoljila specifične poslovne potrebe. Na primer, možete kombinovati Amazon Cloud i SAP Data Warehouse Cloud kako biste izgradili rešenje koje se sastoji od regulisanih transakcijskih podataka u SAP-u sa jezerom podataka izgrađenim u AWS-u.
  • Elastičnost EC2

    Izvor: aws.amazon.com

    Elastičnost je ključna karakteristika računarstva u oblaku. Odnosi se na sposobnost oblačne infrastrukture da dinamički dodeljuje i oduzima računarske resurse u skladu sa vašim promenljivim potrebama. Koristeći elastičnost, možete povećavati ili smanjivati infrastrukturu po potrebi, bez ulaganja u fizički hardver ili infrastrukturu.

    Pored toga, dolazi još jedno svojstvo oblaka, a to je skalabilnost. To je sposobnost sistema da podnese sve veće količine opterećenja ili saobraćaja bez smanjenja performansi.

    Na primer, ako vaša početna stranica doživi neuobičajeno veliki nagli saobraćaj zbog lansiranja novog, dugo očekivanog proizvoda, skalabilnost će omogućiti da se poveća raspoloživa snaga i resursi kako bi se odgovorilo na ovo veliko opterećenje.

    Skalabilnost se postiže korišćenjem elastičnih resursa, kao što su virtuelne mašine, skladište i mreža, koji se mogu brzo i lako povećati ili smanjiti.

    Automatsko skaliranje je napredna funkcija koja koristi skalabilnost i automatizuje je na osnovu unapred definisanih očekivanja opterećenja. Automatski će prilagoditi broj računarskih resursa koji se koriste u skladu sa potražnjom. To znači da ne morate nadgledati i ručno prilagođavati resurse. Skaliranje resursa nagore ili nadole može se zasnivati na različitim metrikama, kao što su iskorišćenost CPU-a, mrežni saobraćaj ili vreme odziva aplikacije.

    Konačno, resursi se dodeljuju dinamički i u realnom vremenu. To vam daje mogućnost da optimizujete upotrebu vaše infrastrukture. Dodelite resurse samo kada su vam potrebni i oslobodite ih kada vam više nisu potrebni.

    Dinamička dodela resursa je ključna karakteristika računarstva u oblaku, jer omogućava postizanje visokog nivoa iskorišćenosti i efikasnosti, uz istovremeno minimiziranje troškova.

    Prednosti EC2

    Neke od glavnih prednosti EC2 su sada već očigledne. Međutim, da bismo to eksplicitno kontekstualizovali, najvažnije je napomenuti sledeće:

    Fleksibilnost

    Koristite EC2 da biste lako povećali ili smanjili računarske resurse kako biste zadovoljili trenutne nivoe opterećenja. Pokrenite ili uništite instance u skladu sa vašim trenutnim potrebama. Pauzirajte i ponovo pokrenite instance kad god vam odgovara. Budite sigurni da uvek imate rezervnu kopiju za slučaj da stvari krenu po zlu.

    Efikasnost troškova

    Direktan rezultat fleksibilnosti je povećana mogućnost uštede novca za obezbeđivanje infrastrukture. Ako su pravilno podešene, vaše EC2 instance će se pokrenuti i zaustaviti u pravom trenutku. Kao rezultat toga, izbegavate troškove povezane sa neopravdanim prekomernim obezbeđivanjem resursa.

    Visoka dostupnost

    Sa EC2 dobijate visoko dostupnu infrastrukturu koja ima za cilj da minimizira vreme zastoja i osigura da su vaše aplikacije i usluge uvek dostupne.

    Pouzdanost

    EC2 pruža pouzdanu infrastrukturu koja je dizajnirana da radi bez prekida i osigurava da su aplikacije i usluge uvek dostupne i efikasne.

    Pristupačnost

    Možete pristupiti sa bilo kog mesta, koristeći desktop, laptop, tablet ili pametne telefone. Takođe imate potpunu slobodu da primenite sva ograničenja pristupa koja su vam potrebna.

    Globalni domet

    EC2 je dostupan u više regiona širom sveta, tako da možete implementirati aplikacije i usluge bliže svojim klijentima i pridržavati se lokalnih propisa o privatnosti podataka.

    Agilnost

    Imate agilnu infrastrukturu koja vam daje mogućnost da brzo reagujete na promene uslova na tržištu i da brže inovirate.

    Sigurnost podataka

    EC2 vam pruža sigurnu infrastrukturu koja je dizajnirana da zaštiti vaše podatke i aplikacije od neovlašćenog pristupa i sajber pretnji.

    Usklađenost

    EC2 je usklađen sa širokim spektrom industrijskih standarda i propisa, uključujući HIPAA, PCI DSS i GDPR.

    Saradnja

    EC2 pruža okruženje za saradnju koje omogućava timovima da rade zajedno na projektima i dele resurse i podatke.

    Izazovi sa EC2

    Naravno, postoje neki izazovi kojih biste trebali biti svesni kada koristite EC2.

    #1. Upravljanje troškovima

    Suštinska priroda celokupnog AWS modela troškova je da ga učini što složenijim, a EC2 cene nisu izuzetak od toga. Morate pažljivo upravljati upotrebom kako biste izbegli neočekivane troškove i imati na raspolaganju pouzdane alate za kontinuirano praćenje. Možete da koristite alate za optimizaciju troškova, na primer, AWS Cost Explorer ili AWS Trusted Advisor.

    #2. Bezbednost

    Iako EC2 pruža sigurnu infrastrukturu, i dalje ste odgovorni za bezbednost svojih aplikacija i podataka. Trebalo bi da primenite najbolje prakse za bezbednost, kao što je korišćenje jakih lozinki, šifrovanje podataka i implementiranje kontrole pristupa.

    #3. Usklađenost

    Kada koristite EC2, morate osigurati da je njegova upotreba u skladu sa industrijskim standardima i propisima. Zbog toga je važno da redovno pregledate AWS dokumentaciju o usklađenosti i sarađujete sa stručnjacima za AWS usklađenost kako biste bili sigurni da ispunjavate zahteve usklađenosti koje zahtevaju vaši klijenti.

    #4. Performanse

    Na performanse EC2 mogu uticati različiti faktori, kao što su latencija mreže, disk I/O ili iskorišćenost CPU-a. Sistemski pratite performanse svoje infrastrukture i koristite alate za optimizaciju performansi, kao što su AWS CloudWatch i AWS X-Ray, da biste identifikovali i rešili probleme sa performansama.

    #5. Dostupnost

    Iako EC2 pruža visoko dostupnu infrastrukturu, ipak morate osigurati da su aplikacije i usluge koje pružate takođe dizajnirane za visoku dostupnost. Koristite AWS usluge kao što su Elastic Load Balancing ili Auto Scaling da biste osigurali da su vaše aplikacije i usluge uvek dostupne.

    #6. Prenos podataka

    Imajte na umu troškove prenosa podataka kada koristite EC2, jer prenos podataka između EC2 instanci i drugih AWS usluga može prouzrokovati dodatne troškove. Ne radi se samo o razmeni podataka između vaše infrastrukture i interneta. Koristite Amazon S3 i Amazon CloudFront kako biste smanjili troškove prenosa podataka.

    #7. Vezanost za prodavca

    Svest o mogućnosti vezanosti za provajdera kada koristite EC2 treba da vam bude na listi prioriteta. Dizajnirajte aplikacije i usluge tako da budu prenosive između provajdera oblačnih usluga i koristite otvorene standarde i API-je da biste osigurali interoperabilnost. Na taj način vaše rešenje postaje agnostično prema oblaku, pružajući vam dodatni nivo fleksibilnosti koji je i dalje važna prednost na tržištu.

    EC2 i budući trendovi

    Izvor: aws.amazon.com

    Zanimate li se za buduće trendove i inovacije koje oblikuju budućnost EC2? Evo ih.

    Bez servera

    Računarstvo bez servera je relativno nova paradigma u računarstvu u oblaku, iako je neki od najprogresivnijih razvojnih timova primenjuju već nekoliko godina. Programeri pokreću kod bez potrebe da upravljaju serverima ili infrastrukturom. AWS Lambda ili AWS Step Functions su primeri računske usluge bez servera koju možete graditi na EC2.

    Mašinsko učenje

    EC2 je idealna infrastruktura za pokretanje modela mašinskog učenja, predviđanja i analiza. Možete generisati neverovatno velike jezera podataka za predviđanja u roku od nekoliko minuta. Uz to, AWS nudi niz usluga mašinskog učenja spremnih za korišćenje, kao što su Amazon SageMaker i Amazon Rekognition, koji su izgrađeni na EC2.

    Edge computing

    Edge computing je nova paradigma u računarstvu u oblaku koja podrazumeva obradu podataka bliže izvoru, a ne u centralizovanom centru podataka. To znači da svu obimnu obradu podataka obavljate u oblasti u kojoj se podaci generišu. Zatim, uz pomoć raznih usluga za keširanje, podatke prenosite u centralno skladište, što ne utiče na obradu korisničkih operacija. AWS nudi niz edge computing usluga, kao što su AWS Greengrass i AWS IoT, koje možete implementirati na EC2.

    Kontejnerizacija

    Kontejnerizacija je strategija pakovanja aplikacija i usluga u kontejnere kojima se lako može upravljati i implementirati. Dobijate garanciju kompatibilnosti kada je potreban transport usluga između instanci ili infrastrukture. AWS nudi niz usluga kontejnerizacije, kao što su Amazon ECS i Amazon EKS, koje su izgrađene na EC2.

    Kvantno računarstvo

    Kvantno računarstvo je nova paradigma koja uključuje korišćenje kvantno-mehaničkih fenomena, kao što su superpozicija i preplitanje, za izvođenje proračuna. AWS pruža niz kvantnih računarskih usluga, kao što je Amazon Braket, koje možete koristiti na EC2.

    Završne reči

    EC2 je ključni deo svake ozbiljne oblačne infrastrukture i to se neće uskoro promeniti. Verovatno će biti među prve 3 usluge po troškovima, ali sve to ima svoj razlog.

    EC2 je okosnica oblačne infrastrukture i pruža podršku svim ostalim uslugama. Razumevanje EC2 je, stoga, ključno ako želite da budete uspešni u svetu računarstva u oblaku.

    Zatim, pogledajte najbolje prakse za sigurnost AWS EC2.