Varna in zanesljiva IT infrastruktura v okviru storitve Google Cloud

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.

awakegning-of-heroes-cofa-games

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.

Druge študije primerov

Intelisale: Migracija in upravljanje naročnine Microsoft Azure

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: Migracija Office aplikacij, DMS in ERP programske opreme na Mainstream Managed Environment  

Š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.

Posodobitev aplikacije in optimizacija IT-operacij s procesi Kubernetes in DevOps

S sklicevanjem na glavno podporo je Fitpass uspešno preoblikoval svojo IT infrastrukturo s strateško uvedbo Kubernetesa in tehnologije CI/CD.