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.
Ciljevi
Postizanje brze i pouzdane skalabilnosti resursa
Postizanje stabilnosti servera i sigurnosti podataka
Visok nivo pokrivenosti unutar ciljanih regija kako bi se kašnjenje u transferu podataka svelo na minimum
Zaštita igre od DDoS napada
Automatizovano puštanje novih verzija aplikacije pokretanja igre na novijim verzijama aplikacije
Konstantno dalje unapređivanje infrastrukture i njeno održavanje
Pristup
Uspostavljanje komunikacija sa AoH timom, analiza i razumevanje potreba
Predlaganje akcionog plana u skladu sa porebama projekta
Monitoring servera i analiza potencijalnih sigurnosnih problema
Kreiranje stabilnog i skalabilnog rešenja na Google Cloud platformi
Definisanje pristupa za ažuriranje novih verzija gaming aplikacije
Rezultati
Uspostavljena sigurna i pouzdana cloud infrastruktura u Google Cloudu
Rešenje koje je funkcionalno i skalabilno u oba smera, nezavisno od opterećenja i regiona (geografske lokacije)
Izbegnuta značajna kapitalna ulaganja unapred
Finansijska ušteda i povećanje krajnjeg prihoda projekta Awakening of Heroes
Uspostavljen dugogodišnji partnerski odnos između dve kompanije
COFA Games i video-igra Awakening of Heroes
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.
Kako je Mainstream tim pristupio projektu i rešio izazove AoH
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:
Koje su komponente projekta i kako funkcionišu kao celina?
Na koje komponente moramo najviše da obratimo pažnju?
Koji je krajnji cilj klijenta?
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.
Cilj 1 – Razvijanje Game Room-a
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:
Azija
SAD
Evropa
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.
Cilj 2: Stabilnost servera i sigurnost podataka
Stabilnost servera
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:
AoH tim čini relevantne podatke dostupnim
Naš tim prikuplja i nadgleda podatke
Sigurnost i stabilnost podataka
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.
Cilj 3: Regionalna pokrivenost i smanjenje latencije
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.
Cilj 4: Zaštita od DDoS napada
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.
Cilj 5: Pouzdano i automatizovano pokretanje igre na novijim verzijama aplikacije
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.
Cilj 6: Faza održavanja
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.
Krajnji rezultat
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.
Saznajte kako Mainstream može da unapredi Vaše poslovanje.
Kontaktirajte nas na business@mainstream.eu ili popunite našu kontakt formu.
Kompanija Intelisale, developer napredne omnichannel B2B platforme, oslonila se na Mainstream ekspertizu za migraciju i upravljanje Microsoft Azure pretplatom.
Šport Ljubljana je uspešno preselila Office aplikacije, ERP i DMS softver u Managed Environment kompanije Mainstream, pri čemu je stekla stabilnost infrastrukture, sigurnost, skalabilnost i stručnu podršku.
Oslanjajući se na Mainstream podršku, kompanija Fitpass je uspešno transformisala svoju IT infrastrukturu uz stratešku primenu Kubernetesa i CI/CD tehnologije.