V tem članku lahko preberete, kako je naša strokovna ekipa pomagala igralnemu projektu “Awakening of Heroes” (gaming project), da doseže želeno raven skalabilnosti, stabilnosti in varnosti s pomočjo Google Cloud infrastrukture.
Cilji
Doseganje hitre in zanesljive skalabilnosti virov.
Doseganje stabilnosti strežnikov in varnosti podatkov.
Visoka stopnja pokritosti znotraj ciljnih regij, da bi se čim bolj zmanjšala zamuda pri prenosu podatkov.
Zaščita igre pred DDoS napadi.
Samodejno uvajanje novih različic aplikacije za zagon igre na novejših različicah aplikacije.
Nenehno izboljševanje infrastrukture in njeno vzdrževanje.
Pristop
Vzpostavitev komunikacije z AoH ekipo, analiza in razumevanje potreb.
Predlaganje akcijskega načrta v skladu s potrebami projekta.
Nadzor strežnikov in analiza potencialnih varnostnih težav.
Ustvarjanje stabilne in skalabilne rešitve na Google Cloud platformi.
Opredelitev pristopa za posodobitev novih različic igralne aplikacije.
Rezultati
Vzpostavljena je varna in zanesljiva infrastruktura v oblaku v Google Cloudu.
Rešitev, ki je funkcionalna in skalabilna v obeh smereh, neodvisno od obremenitve in regije (geografske lokacije).
Brez velikih vnaprejšnjih kapitalskih naložb.
Finančni prihranki in povečanje končnega prihodka projekta Awakening of Heroes.
Vzpostavljen je dolgoročni partnerski odnos med dvema podjetjema.
COFA Games in videoigra Awakening of Heroes
Awakening of Heroes je brezplačna igra 5-na-5 MOBA (Multiplayer Online Battle Arena), ki jo razvija beograjski studio COFA Games. AoH vsebuje role-playing in battle royale ter je ustvarjena za mobilne naprave (Android in iOS). Ker gre za igro, do katere hkrati dostopajo številni igralci iz vsega sveta, je bilo pomembno, da ima igra zanesljivo in varno rešitev za gostovanje, ki lahko zagotovi majhno latenco (latency), visoko skalabilnost ter visoko varnost. Analiza potreb ekipe COFA Games je pokazala, da je optimalna rešitev za vse zahteve tega projekta Google Cloud okolje.
Kako se je Mainstreamov ekipa lotila projekta in rešila izzive AoH
Awakening of Heroes je kompleksen projekt, ki vključuje številne komponente in zahteva obsežno alokacijo virov. Da bi bila igra ves čas na voljo vsem uporabnikom iz vsega sveta, je potrebna dinamična skalabilna infrastruktura, medtem ko celoten projekt zahteva sistematičen pristop s poudarkom na podrobnostih. Naša prva naloga je bila vzpostaviti komunikacijo z ekipo, ki razvija igro, ter popolnoma razumeti naslednja vprašanja:
Katere so komponente projekta in kako delujejo kot celota?
Na katere komponente moramo najbolj paziti?
Kakšen je končni cilj stranke?
Šele po pridobitvi vseh potrebnih informacij je naša ekipa lahko pristopila k celovitemu načrtovanju, izvajanju procesov in organizaciji dela. Stranki smo ponudili konkreten izvedbeni načrt za izpolnitev vseh zahtev in izvajanje vseh naloge ter razvoj oprijemljivih rešitev z možnostjo izboljšanja celotnega projekta in njegove migracije na oblak.
Cilj 1 – Razvoj igralne sobe (Game room)
V tem kontekstu je igralna soba komponenta, ki virtualno združuje skupino igralcev AoH, ki sodelujejo v eni partiji igre. Platforma, ki jo je za gradnjo te komponente izbrala naša stranka, je Google Cloud, pri čemer je bila naša naloga graditi strežnike na treh različnih lokacijah na svetovni ravni.
Azija
ZDA
Evropa
Naša naloga je bila zgraditi dinamično strežniško infrastrukturo, ki zagotavlja skalabilnost in platformi omogoča integracijo novih igralcev v katerem koli trenutku.
Cilj 2: Stabilnost strežnikov in varnost podatkov
Stabilnost strežnikov
Pravilno izvajanje nadzora strežnikov (monitoring) je bilo ključno tako za stabilnost strežnikov kot za varnost podatkov, ki pa je sicer tesno povezano s skalabilnostjo strežnikov. Za razliko od spletnega gostovanja, kjer je nadzor strežnikov precej preprosta naloga, okolje večigralskih iger naredi celoten proces bolj kompleksen in zahteva notranji nadzor – znotraj same igre.
Da bi dosegli stabilnost strežnikov, sta morali AoH in Mainstream ekipi skupaj delati in zagotoviti izvajanje naslednjih nalog:
Ekipa Mainstream zbira in nadzira podatke.
Ekipa AoH zagotavlja dostopnost ustreznih podatkov.
Varnost in stabilnost podatkov
Da bi z goljufanjem napredovali v igri ali pridobili virtualni denar so nekateri igralci zelo motivirani, da hekajo igro in zaobidejo varnostne ukrepe. Zato je bilo bistvenega pomena, da se takšni scenariji vnaprej onemogočijo.
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ščita pred DDoS napadi
Izravnalnik obremenitve (Load balancer) deluje tudi kot zaščitna pregrada proti DDoS napadom (distributed denial-of-service). Ker je izravnalnik obremenitve tudi opredeljen kot ena od storitev ponudnika oblaka, je samodejno zaščiten pred določeno količino DDoS napadov in njegova uporaba neposredno vpliva na stabilnost in varnost strežnikov.
Cilj 5: Zanesljiv in samodejen zagon igre na novejših različicah aplikacije
Imeti več regij, kjer je treba zagnati novo različico aplikacije, je izziv, tesno povezan z različico aplikacije, ki jo imajo uporabniki na svojih napravah.
Obstajajo številne komponente, ki jih je treba upoštevati, medtem ko proces uvajanja nove različice vključuje več faz, ki ne potekajo vedno v istem vrstnem redu.
Najboljša praksa, za katero smo se odločili mi, je, da se najprej izvede uvajanje nove različice v regiji z najmanjšim številom igralcev in opravi Git push na glavni veji (master), da bi CI/CD pipeline zaznal novo različico in da bi se njeno uvajanje znotraj samodejno skalirajoče se skupine lahko samodejno izvedlo. Ta postopek se običajno izvaja prek strategije “blue green deployment”, s katero se ena skupina strežnikov odstrani iz samodejno skalirajoče se skupine, dodajo pa se novi strežniki, ki vsebujejo posodobljeno različico aplikacije
Cilj 6: Faza vzdrževanja
Proces dela v tej fazi je zelo podoben tistemu, ki se uporablja pri uvajanju nove različice aplikacije. Glavni cilj je doseči najvišjo možno raven dostopnosti za vsako aplikacijo, kar pa se lahko doseže z uporabo več strežnikov, postavljenih za izravnalnikom obremenitve.
Končni rezultat
Najbolj otipljiv rezultat našega dela so finančni prihranki ter povečanja končnega prihodka projekta. Te cilje smo dosegli z vzpostavitvijo infrastrukture, ki lahko prenese oziroma podpre začetno število igralcev, hkrati pa se širi, ko število igralcev in priljubljenost igre naraščata, kar odpravlja potrebo po večjem vnaprejšnjem vlaganju kapitala.
Odkrijte, kako lahko Mainstream izboljša vaše poslovanje.
Kontaktirajte nas na business.si@mainstream.eu ali izpolnite naš kontaktni obrazec.
Podjetje Intelisale, razvijalec napredne platforme omnichannel B2B, se je pri migraciji in upravljanju naročnine Microsoft Azure zaneslo na strokovno znanje ekipe Mainstream.
Šport Ljubljana je uspešno preselil aplikacije Office, ERP in programsko opremo DMS v Managed Environment podjetja Mainstream, pri čemer je pridobil stabilnost infrastrukture, varnost, razširljivost in strokovno podporo.