Bezbedna i pouzdana IT infrastruktura na Google Cloud-u

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.

awakegning-of-heroes-cofa-games

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.

Ostale studije slučaja

Od shared hostinga do cloud skalabilnosti

Jedan od ciljeva projekta bio je da se klijentima Sava Osiguranja obezbedi vrhunsko online iskustvo uz 24/7 dostupnost sajta i optimalne performanse veb prodavnice.

Cloud hosting za napredan e-commerce

Istražite kako je Tehnomanija postigla visokodostupan sistem bez single point of failure, garantovan 99,99% mesečni uptime i pouzdanu infrastrukturu.

Managed Hosting kao odgovor na IT izazove

Otkrijte kako je Mainstream Enterprise Cloud rešenje unapredilo IT sistem kompanije Ringier Axel Springer uz visoku dostupnost i optimalne IT troškove.