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.

Druge študije primerov

Od skupnega gostovanja do oblačne skalabilnosti

Eden glavnih ciljev projekta je bil zagotoviti skalabilnost IT-infrastrukture, ki bi lahko spremljala dinamično rast poslovanja.

Oblak gostovanje za napredno elektronsko poslovanje

Raziščite, kako je Tehnomanija dosegla visoko dostopen sistem brez kritične točke odpovedi, z 99,99-odstotno dosegljivosti »uptime« na mesec in zanesljivo infrastrukturo.

Managed Hosting kot odgovor na izzive

Odkrijte, kako je rešitev Mainstream Enterprise Cloud izboljšala IT-sistem podjetja Ringier Axel Springer ob visoki dostopnosti in z optimalnimi IT-stroški.