Autor: Konrad Krafft
Ako sledite strategiju sa više oblaka, trebalo bi pažljivo da uskladite svoje zahteve sa ponuđenim uslugama. Evo na šta da pazite.
Sve više kompanija usvaja strategiju sa više oblaka. Cilj? Da postignu što veću fleksibilnost i performanse svog IT okruženja. Oni na ciljani način kombinuju usluge oblaka različitih provajdera da bi iskoristili prednosti različitih platformi. Ali bez pravog planiranja, složenost se povećava i može brzo dovesti do haosa. Kako postići pravi balans između fleksibilnosti i efikasnosti?
Godinama se prenošenje IT procesa u oblak smatralo suštinskim korakom u digitalizaciji kompanija. Pored fleksibilne i brzo dostupne računarske i skladišne infrastrukture, oblak obećava širok spektar usluga koje olakšavaju postavljanje i upravljanje digitalnim poslovnim procesima.
Međutim, konkurencija među provajderima je dovela do ogromnog spektra usluga u oblaku sa širokim spektrom karakteristika i uslova koji su dostupni na tržištu. U isto vreme, kompanije-korisnici često nisu dovoljno svesne zahteva sopstvenog digitalnog servisa koji treba da radi sa infrastrukturom oblaka. Važno je sledeće: što su ovi zahtevi preciznije i detaljnije definisani, bolje će se iskoristiti potencijal koji nudi strategija sa više oblaka.
IT konglomerati iz mnogo izvora podataka i usluga
Ovo ima ogroman uticaj na učesnike u veoma složenim okruženjima, kao što je razvoj sistema za autonomnu vožnju ili energetske mreže budućnosti. Njihov poslovni model potpuno zavisi od interakcije mnogo izvora podataka i usluga koji se nalaze u različitim oblacima. Ali čak i IT okruženja kompanija u manje složenim industrijama sada često liče na konglomerat lokalnih centara podataka, virtuelnih mašina, mobilnih uređaja i usluga u oblaku.
Da bi upravljale svojim IT procesima, mnoge kompanije sada rade sa konceptom hibridnog oblaka koji kombinuje javne i privatne varijante, kao i tradicionalne lokalne sisteme. Tu sledi sledeći logičan korak: više oblaka. S jedne strane, zato što situacija to jednostavno zahteva. S druge strane, istovremeno korišćenje usluga u oblaku od više provajdera omogućava kombinovanje prednosti različitih ponuda. Na taj način, kompanije korisnika rade sa rešenjem koje najbolje odgovara njihovim specifičnim zahtevima.
Devet od deset kompanija koristi više oblaka
Pristup je sve popularniji: devet od deset kompanija koje su ispitane širom sveta već koristi strategiju sa više oblaka, prema izveštaju Flexera 2024 State of the Cloud. Oni, na primer, kombinuju javne usluge u oblaku iz AWS-a, Microsoft Azure-a ili Google Cloud-a. Često se integrišu i privatne ponude u oblaku od spoljnih provajdera usluga ili se koriste usluge koje i dalje rade u sopstvenom centru podataka kompanije.
Na primer, kada su u pitanju komplikovani proračuni koji se često izvršavaju uzastopno, AWS Lambda se pokazuje efikasnijim i ekonomičnijim od Azure funkcija. Međutim, ako radite sa Office 365 i drugim aplikacijama zasnovanim na Windows-u, Microsoftov Azure je bolji izbor. Radna opterećenja koja se izvršavaju na virtuelnim Windows mašinama mogu se brže obrađivati pomoću njega.
U gore pomenutom scenariju razvoja proizvoda, na primer, Windows aplikacija u Azure-u pokreće Lambda uslugu u AWS-u koja obavlja željene proračune. Rezultati se čuvaju u bazi podataka i Azure aplikacija im pristupa po potrebi. Sama baza podataka takođe radi u Azure-u kako ne bi nepotrebno usporavala aplikaciju dugim vremenom odziva. Geografski region u kome se usluge odvijaju takođe igra ulogu, jer može uticati na performanse, vreme pristupa i troškove dotične aplikacije.
Rastuća složenost u sistemu sa više oblaka
Očigledno je da će strategija sa više oblaka – bez obzira na to kako zapravo izgleda – dodatno povećati složenost. To je jednostavno zato što svaka platforma u oblaku radi sa sopstvenim alatima za upravljanje, bezbednosnim protokolima i metrikama učinka. Svakome ko želi da u svoj IT pejzaž integriše više oblaka potreban je robustan sistem upravljanja koji može da se nosi sa specifičnim zahtevima različitih okruženja, istovremeno osiguravajući pregled i kontrolu na svim platformama.
Ovo je neophodno ne samo iz razloga rukovanja i performansi, već i da biste bili što slobodniji pri izboru optimalnog provajdera za odgovarajući scenario aplikacije. Ovo zahteva višeplatformske tehnologije i alate. Veliki hiperskaleri standardno obezbeđuju interfejse za razmenu podataka sa drugim platformama. Međutim, za planiranje i kontrolu procesa sa kraja na kraj u infrastrukturama sa više oblaka, potreban je objedinjeni interfejs za sve aplikacije koji se zasniva na sloju apstrakcije oblaka. Ovo omogućava kompaniji da relativno lako pomera svoja opterećenja, bez obzira na specifične zahteve pojedinačnih okruženja u oblaku.
Testiranje autonomne vožnje
Svako ko želi da kombinuje podatke iz širokog spektra izvora u IoT procesima i brzo ih analizira, kao u slučaju autonomne vožnje, na primer, neće stići daleko bez takve fleksibilnosti, kao što ilustruje sledeći primer.
Dobavljač razvija aplikaciju za kontrolu ponašanja pri kočenju autonomnih vozila. Za razvoj, testiranje i validaciju algoritama za ovo, koriste se terabajti i petabajti podataka iz širokog spektra izvora. To uključuje baze podataka sa slikama i video zapisima semafora u različitim zemljama, u različito doba dana i u različitim vremenskim uslovima, u kombinaciji sa podacima o prirodi površine puta i gumama virtuelnih test vozila.
Sve ove informacije moraju se prikupiti iz različitih oblaka. Sistem takođe mora biti u stanju da integriše dodatne izvore podataka kada je to potrebno, ili da nastavi da koristi postojeće baze podataka čak i ako su premeštene.
Svi ovi podaci moraju se izuzetno brzo analizirati kako bi se sila kočenja optimalno podesila. Ključno za uspeh je stoga kratko vreme kašnjenja. Za ovo se preporučuje lokalna infrastruktura. Međutim, da bi prihvatio sve veće količine podataka, projektni tim integriše AWS S3 i Azure Blob Storage.
Alati koji podržavaju strategiju sa više oblaka
Kubernetes
U srcu svake strategije sa više oblaka danas je Kubernetes, de fakto standard za orkestraciju kontejnera. On omogućava da se aplikacije skaliraju, upravljaju i postavljaju automatski — bez obzira na platformu oblaka na kojoj rade. Sistem otvorenog koda dostupan je praktično u svakom javnom oblaku, a većina lokalnih dobavljača oblaka takođe nudi Kubernetes.
Postoji nekoliko prednosti korišćenja Kubernetesa: on obezbeđuje visok stepen fleksibilnosti kada je u pitanju izbor pravog oblaka za odgovarajuću aplikaciju. I povećava dostupnost i pouzdanost usluga. Na primer, Kubernetes može automatski da preusmeri radna opterećenja na druge dobavljače ako provajder padne ili je veza loša — ili da optimalno iskoristi obim podataka sa fiksnom cenom.
Terraform
Terraform, alatka otvorenog koda za Infrastrukturu kao kôd (IaC – Infrastructure as Code ), preporučuje se za izgradnju infrastrukture za okruženja aplikacija. Omogućava vam da definišete i upravljate resursima kao što su virtuelne mašine, mreže i baze podataka koristeći deklarativne konfiguracione fajlove. Umesto da ručno kreiraju i upravljaju infrastrukturnim resursima, IT ili arhitekte oblaka samo opisuju željeno krajnje stanje svoje infrastrukture i čuvaju ga kao konfiguracione fajlove. Za opis se koristi jezik konfiguracije HashiCorp Configuration Language (HCL).
Terraform zatim nezavisno generiše željeno stanje kreiranjem, modifikacijom ili brisanjem potrebnih resursa. Cela stvar se može podešavati koliko god često želite. Sve što je potrebno za automatsko kopiranje okruženja nakon kreiranja je kratka komanda. Ovo je korisno, na primer, kada se postavljaju scenska okruženja koja su potrebna u različitim fazama procesa razvoja softvera. Korisno je, na primer, kada se razvijaju aplikacije u oblaku u visoko regulisanim industrijama kao što su bankarstvo i osiguranje, vazduhoplovstvo, komunalne usluge i automobilska industrija.
U isto vreme, deklarativni konfiguracioni fajlovi kreirani sa Terraformom služe kao kompletna dokumentacija infrastrukture. Štaviše, Terraform takođe prati status infrastrukture i automatski otkriva i ispravlja odstupanja između ciljnog i stvarnog stanja.
Ansible
Ansible je još jedan koristan alat za efikasno upravljanje više oblaka. Ovaj alat otvorenog koda podržava naprednu infrastrukturnu konfiguraciju i automatizaciju. Kombinuje distribuciju softvera, ad-hoc izvršavanje komandi i upravljanje konfiguracijom softvera.
Rad u više oblaka zahteva bezbednost
Uopšteno govoreći, svako ko sprovodi strategiju sa više oblaka treba unapred da preduzme korake kako bi osigurao da složenost ne dovede do haosa već do efikasnijih IT procesa. Bezbednost je jedno od glavnih pitanja. To ima dve strane: s jedne strane, umreženi servisi moraju biti zaštićeni u sebi i u okviru svojih platformi. S druge strane, ceo konstrukt sa svojim različitim arhitekturama i sistemima mora biti bezbedan. Dobro je poznato da su interfejsi potencijalni prolaz za neželjene „goste“.
Da bi osigurale bezbednost i performanse, kompanijama je potreban namenski API koncept i upravljanje sistemom sa više oblaka, kao i holistički pogled na otkrivanje slabih tačaka.
Pored razvijanja specifičnih veština potrebnih za ovo, preporučuje se upotreba tima za inženjering platforme. Njegov zadatak je da planira arhitekture, bira tehnologije i platformske usluge koje najbolje odgovaraju aplikacijama kompanije. Po pravilu, takođe je preporučljivo pozvati eksterne stručnjake za više oblaka, bar na početku.
AWS u odnosu na Azure: Koja je platforma bolja za koju primenu?
Sledeći primer Microsoft Azure i Amazon veb usluga (AWS) pokazuje koja je platforma u oblaku najpogodnija za koju primenu. Oba provajdera imaju skoro identične modele cena i oba nude usluge i funkcije kao usluge (FaaS) za praktično svaku primenu. Ipak, neki kriterijumi se mogu koristiti za donošenje kvalifikovane procene i odluke o tome koja je platforma najpogodnija za koju primenu.
Ovo uključuje pitanja kao što su: Da li zahtevi obično stižu sa dugim vremenskim zakašnjenjem? Ima li mnogo ili bolje rečeno malo zahteva za obradu? Da li stižu koncentrisano u kratkim intervalima? Kako se obrađuju zahtevi koji stignu u isto vreme?
Da bi se obe platforme uporedile na dobro utemeljen način, preporučuje se korišćenje referentne platforme kao što je SeBS (Serverless Benchmarking Suite). Nudi scenarije učitavanja hladno i toplo (Cold & Warm) ili uzastopno i brzo (Sequential & Burst) – evo šta oni uključuju:
- Cold & Warm: Kada korisnik pristupi FaaS usluzi, dobavljač oblaka bira mesto za izvršavanje funkcije, obično kontejner ili virtuelnu mašinu. Ako mesto izvršenja još ne postoji, provajder generiše novo (hladno). Ako je već dostupno za obradu zahteva, koristi se to (toplo).
- Sequential & Burst: Sequential šalje jedan zahtev za drugim. Burst uvek šalje nekoliko zahteva istovremeno.
Iz rezultata referentnih testova: prosečno vreme odgovora sa Azure-om zavisi od toga da li mnogo zahteva stiže u isto vreme i da li je funkcija topla. Sa AWS-om, s druge strane, prosečno vreme odgovora opada sa povećanjem RAM-a — ali je u početku znatno veće. Rešenje je jasno: sve dok je moguće da se Lambda održava toplom, AWS pobeđuje, u suprotnom, pobeđuje Azure. U zavisnosti od skale, Lambda se ponovo hladi nakon desetak minuta.
Za aplikaciju, to znači da ako se zahtevi obrađuju u intervalima dužim od deset minuta, Azure ima prednost. Ako zahtevi stižu u intervalima kraćim od deset minuta i veličina resursa može da se proceni, izbor bi trebalo da bude AWS .
Rafalni testovi pokazuju da Azure prednjači za kratke vrhove opterećenja i hladne startove. Međutim, ako se očekuju velika opterećenja, AWS Lambda je efikasniji. Generalno, AWS rezultati pokazuju veću doslednost. Dakle, ako imate stroge zahteve u pogledu doslednosti vremena odgovora, trebalo bi da izaberete AWS.
Detaljni zahtevi i rezultati benchmark testa mogu se naći u beloj knjizi DoubleSlash ponuda za preuzimanje na adresi: Amazon Web Services vs. Microsoft Azure.
Izvor: CIO