Kako je naš stručni tim pomogao gaming projektu „Awakening of Heroes“ da dostigne željeni nivo skalabilnosti, stabilnosti i sigurnosti kroz rad na Google Cloud infrastrukturi.
Awakening of Heroes je besplatna 5-na-5 MOBA (Multiplayer Online Battle Arena) igra koju razvija beogradski studio COFA Games. AoH sadrži role-playing i battle royale elemente, a kreirana je za mobilne uređaje (Android i iOS). Kako je u pitanju igra kojoj pristupa više igrača istovremeno, I to iz svih delova sveta, bilo je od značaja da ima pouzdano i sigurno game hosting rešenje uz nizak latency, visoku skalabilnost i visoku sigurnost. Analizom potreba COFA Games tima kao optimalno rešenje za projekat se nametnulo Google Cloud okruženje.
Awakening of Heroes je kompleksan projekat koji uključuje brojne komponente i zahteva obimnu alokaciju resursa. Da bi igra mogla u svakom trenutku da podrži hiljade korisnika sa svih meridijana, neophodna je dinamično skalabilna infrastruktura, dok čitav projekat zahteva sistemski pristup sa fokusom na detalje. Naš prvi zadatak je bio da uspostavimo komunikaciju sa timom koji razvija igru i da u potpunosti razumemo sledeća pitanja:
Nakon što je dobio sve neophodne informacije, naš tim je mogao da projektuje i sprovede procese i organizaciju rada, te ponudi konkretan izvršni plan na osnovu kog su mogli da se ispune svi zahtevi, urade svi zadaci i razviju opipljiva rešenja sa mogućnošću unapređenja kompletnog projekta i njegove migracije na cloud.
U ovom kontekstu, Game Room je komponenta koja virtuelno okuplja grupu igrača AoH koji učestvuju u jednoj partiji igre. Platforma koju je za građenje ove komponente izabrao naš klijent je Google Cloud, pri čemu je naš zadatak bio da izgradimo servere na 3 različite lokacije na globalnom nivou:
Naš zadatak je bio da izgradimo dinamičku server infrastrukturu, koja čini skalabilnost mogućom i dozvoljava platformi integraciju novih igrača u bilo kom trenutku.
Pravilno izvršen monitoring servera je bio ključan za obe stavke – i stabilnost servera i sigurnost podataka – ali takođe je i blisko povezan sa skalabilnošću servera. Za razliku od web hosting okruženja gde je monitoring servera prilično jednostavan zadatak, okruženje multiplejer igre čini čitav proces kompleksnijim i zahteva interni monitoring – u okviru same igre.
Kako bi se postigla stabilnost servera, AoH i Mainstream timovi su morali da rade zajedno na sledećem:
S obzirom da su pojedini igrači veoma motivisani da uhakuju igricu i prođu kroz sigurnosne mere kako bi zaradili virtuelni novac ili ostvarili napredak u igri varanjem, bilo je od vitalne važnosti da učinimo te scenarije nemogućim.
Kako multiplejer video igre najčešće igraju ljudi sa svih meridijana, igrači moraju biti grupisani u skladu sa svojom lokacijom kako bi se izbegla pojava latencije, ili popularno, “lega”. Sa ovim na umu, svaka regija treba da ima namenski server koji će se koristiti isključivo za lokalne igrače, zbog čega i većina takvih igara traži od igrača informacije o lokaciji. Za razliku od desktop video igara, mobilne multiplejer igre su osetljivije na latenciju jer igrači pristupaju igri putem WiFi, 3G, ili 4G internet konekcije.
Naš zadatak je bio da pronađemo pravi servis u okviru Google Cloud-a i postignemo optimalan nivo skalabilnosti.
Load balancer takođe radi i kao zaštitna barijera protiv DDoS napada (distributed denial-of-service). Kako je load balancer takođe definisan kao jedna od usluga cloud provajdera, i on je automatski zaštićen od određene količine DDoS napada i njegova upotreba direktno utiče na stabilnost i sigurnost servera.
Imati više regiona u kojima treba da se pokrene nova verzija aplikacije je, moglo bi se reći, izazov koji je blisko povezan sa verzijom aplikacije koju korisnici imaju na svojim uređajima.
Postoje brojne komponente koje je neophodno uzeti u razmatranje, dok proces puštanja nove verzije u opticaj uključuje više faza koje se ne odvijaju uvek istim redosledom.
Najbolja praksa, i ona za koju smo se mi odlučili, jeste da se prvo obavi puštanje nove verzije u regionu sa najmanjim brojem igrača i uradi Git push na master grani, kako bi CI/CD pipeline detektovao novu verziju i njeno puštanje unutar auto-skalirajuće grupe moglo da se uradi automatski.
Ovaj proces se najčešće radi putem strategije “blue green deployment” tokom koje se jedna serverska grupa uklanja iz auto-skalirajuće grupe, a novi serveri koji sadrže ažuriranu verziju aplikacije se dodaju.
Proces rada u ovoj fazi je veoma sličan onome koji se koristi pri puštanju nove verzije aplikacije u rad. Glavni cilj je da se postigne najviši mogući nivo dostupnosti za svaku aplikaciju, što se postiže upotrebom više servera postavljenih nakon load balancera.
Najopipljiviji rezultat našeg rada leži u aspektima finansijske uštede i povećanja krajnjeg prihoda projekta. Ovo je postignuto kroz uspostavljanje infrastrukture koja je u stanju da podrži početni broj igrača, ali se takođe i širi kako broj igrača i popularnost igre rastu, što eliminiše potrebu za značajnim ulaganjem kapitala unapred.
Gigatron, kao napredni e-commerce, fokusiran je na kontinuirano pružanje vrhunskog servisa svojim korisnicima. Sve veći broj operacija i informacija, kao i povremeni “peak-ovi” u poseti i saobraćaju, samim tim i u potrebnim resursima, ukazivali su na potrebu za pronalaženjem rešenja koje će omogućiti nesmetano funkcionisanje svih sistema i servisa.
Pogledajte studiju slučajaAIK Banka je modernizovala IT infrastrukturu i uspostavila pouzdano i performantno Disaster Recovery rešenje na Mainstream Enterprise cloudu.
Pogledajte studiju slučajaUz Mainstream Power BI uslugu, klijent Publicis Groupe - Southeast Europe je poboljšao efikasnost poslovanja uz veliku uštedu vremena kroz jasno predstavljanje poslovnih informacija (na razumljiv i prijemčiv način) bitnih za donošenje odluka.
Pogledajte studiju slučajaImate pitanja, ideju ili komentar?