DevOpsGroup ako partner a dodávateľ pre Revolgy
Informácie
- Klient: Revolgy
- Odvetvie: Herný vývoj
- Typ projektu: Migrácia vývojovej infraštruktúry do AWS cloudu s automatizáciou a zabezpečením
- Služby: Cloudová infraštruktúra (AWS) a jej návrh, Infrastructure as Code (Terraform, CloudFormation), CI/CD pipeline s Jenkins a Perforce integráciou
Intro
Nové herné vývojárske štúdio, sa pripravovalo na infraštruktúru potrebnú na podporu vývoja svojho ďalšieho herného titulu. S cieľom zvýšiť škálovateľnosť, bezpečnosť a prevádzkovú efektivitu sa štúdio rozhodlo previesť časť svojej kľúčovej infraštruktúry vývoja hier na AWS. Tento posun bol zásadný pri podpore rastu štúdia a podpore používania inovatívnych technológií. Aby sa zabezpečila hladká migrácia a vývoja, štúdio sa spojilo s DevOpsGroup s cieľom navrhnúť a implementovať robustné riešenie infraštruktúry AWS. DevOpsGroup využila princípy Infrastructure-as-Code (IaC) pomocou Terraform na automatizáciu a bezproblémové nasadenie.
Riešenie
Na splnenie požiadaviek na infraštruktúru štúdia boli implementované nasledujúce služby a konfigurácie AWS:
- Nastavenie účtu AWS: Viacero účtov AWS bolo nastavených pre rôzne prostredia (vývoj, príprava, výroba) s prístupom na základe rolí prostredníctvom IAM pre zabezpečenú správu prístupu.
- Perforce Helix Core Deployment:
- Nasadené jadro Perforce Helix Core s konfiguráciou hlavnej a pohotovostnej repliky, ktorá zaisťuje vysokú dostupnosť a redundanciu údajov v rôznych regiónoch.
- Implementované automatické zálohovanie údajov a monitorovanie výkonu, CPU, úložiska a servera prostredníctvom AWS CloudWatch.
- Swarm Deployment:
- Nasadený Perforce Swarm pre spoluprácu, integrovaný s Perforce Helix Core a zabezpečený SSO cez JumpCloud.
- Integrované monitorovanie CloudWatch pre prehľad o stave a výkone servera v reálnom čase.
- Integrácia JumpCloud:
- JumpCloud sa používal na správu identity a zariadení, pričom poskytoval bezproblémovú autentifikáciu používateľov pre zdroje Perforce a AWS.
- Integrované s AWS Identity Center (SAML/SCIM) pre centralizovanú správu identity a bezpečné jednotné prihlásenie naprieč službami.
- Nastavenie CI/CD pipeline s Jenkinsom:
- Nasadený Jenkins na inštancie EC2 a integrovaný s Perforce na automatizáciu vytvárania a nasadzovania.
- Nakonfigurovaný plne automatizovaný CI na build, testovanie a pack projektov Unreal Engine pomocou predkonfigurovaných rozhraní AMI pre konzistentné build prostredia.
- Integrovaný S3 na vytváranie úložiska artefaktov a automatizované riešenia zálohovania.
- Monitorovanie a pozorovateľnosť:
- Nastavte komplexné monitorovanie a upozornenia pomocou AWS CloudWatch pre servery Perforce, Jenkins a ďalšie kritické komponenty.
- Nakonfigurovaný logging pre podrobné informácie o výkone, využití zdrojov a chybách aplikácií.
- Infraštruktúra ako kód (IaC):
- Terraform sa použil na poskytovanie a správu všetkých zdrojov AWS, čím sa zabezpečilo opakovateľné nasadenie a jednoduchá škálovateľnosť.
- Šablóny CloudFormation boli tiež sprístupnené pre používateľov, ktorí uprednostňujú používanie natívnych nástrojov IaC AWS.
Cieľ
Cieľom bolo migrovať základné vývojové nástroje, ako sú Perforce Helix Core, Swarm a Jenkins, na AWS, bezproblémovo ich integrovať a poskytnúť škálovateľné, automatizované prostredie pre vývoj hier. Konečným cieľom štúdia bolo vytvoriť efektívny, bezpečný a ľahko dostupný ekosystém vývoja hier v cloude.
- Vysoká dostupnosť a škálovateľnosť: Zabezpečenie toho, aby sa infraštruktúra pre vývoj hier mohla škálovať a bola vysoko dostupná pre vývojárov bez toho, aby čelili výpadkom alebo zníženiu výkonu.
- Bezpečnosť: Zavedenie bezpečného riadenia prístupu pre vývojový tím a zabránenie neoprávnenému prístupu k citlivým údajom.
- Automatizácia: Automatizácia nasadenia a konfigurácie komponentov kritickej infraštruktúry vrátane kanálov Perforce, Jenkins a CI/CD.
- Pozorovateľnosť a monitorovanie: Implementácia monitorovania, zaznamenávania a varovania v reálnom čase pre všetky komponenty infraštruktúry, čím sa zabezpečí proaktívne zisťovanie problémov a rýchle riešenie.
- Integrácia: Bezproblémová integrácia viacerých nástrojov (Perforce Helix Core, JumpCloud, Jenkins, Remangu) a zabezpečenie správnej správy a overovania prístupu používateľov.
Výzvy
- Zložitosť integrácie: Úspešná integrácia rôznych systémov, ako sú Perforce, Jenkins a Remangu, a zároveň zabezpečenie bezproblémovej komunikácie a bezpečného prístupu naprieč nástrojmi.
- Správa používateľov: Zabezpečenie bezpečnej, centralizovanej správy používateľov v rámci AWS, Perforce a JumpCloud s riadnym riadením prístupu na základe rolí.
- Build Pipeline Optimization: Optimalizácia CI pipeline na skrátenie času výstavby a zlepšenie efektivity pri packu projektov Unreal Engine.
- Monitorovanie a zálohovanie v reálnom čase: Implementácia nepretržitého monitorovania, kontroly stavu a automatizovaného zálohovania pri zabezpečení minimálnej réžie a prestojov.
Benefity
- Škálovateľná infraštruktúra: Infraštruktúra AWS sa dokáže automaticky škálovať podľa kolísavých požiadaviek, čím sa zabezpečí vysoká dostupnosť a rýchly prístup k vývojovým nástrojom.
- Zabezpečená a centralizovaná správa používateľov: Vďaka integrácii JumpCloud je správa prístupu používateľov centralizovaná, čo umožňuje tímu bezpečný prístup ku všetkým vývojovým nástrojom a zdrojom prostredníctvom jednotného prihlásenia.
- Vylepšená spolupráca: Integrácia Perforce Swarm uľahčila bezproblémovú spoluprácu medzi vývojármi so zabezpečenou správou verzií a zjednodušenými pracovnými postupmi.
- Automatizovaný build pipeline: Automatizácia Jenkins umožnila rýchlejšie a spoľahlivejšie buildy, skrátila čas nasadenia a minimalizovala chyby počas procesu vývoja.
- Vylepšené monitorovanie a upozorňovanie: Monitorovanie a upozorňovanie v reálnom čase prostredníctvom AWS CloudWatch umožnilo rýchlejšie zisťovanie a riešenie problémov, čím sa skrátili prestoje súvisiace s infraštruktúrou.
- Efektivita nákladov: priebežný model AWS pomohol minimalizovať počiatočné náklady a optimalizoval alokáciu zdrojov, čím sa výrazne znížili prevádzkové náklady.
Kritériá úspešnosti
- Vysoká dostupnosť: Perforce Helix Core a Swarm boli nasadené s vysokou dostupnosťou a redundanciou, čo zaisťuje minimálne prestoje a optimalizovaný výkon.
- Centralizovaná správa identít: JumpCloud bol plne integrovaný na správu používateľov a zariadení, poskytuje bezpečný prístup a centralizovanú autentifikáciu.
- Automated Build Pipeline: Jenkins CI bol plne funkčný, s automatizovanými buildami a packmi pre projekty Unreal Engine, čím sa skrátil čas zostavenia o 30 %.
- Monitorovanie v reálnom čase: AWS CloudWatch bol úspešne integrovaný, aby poskytoval nepretržité monitorovanie, protokolovanie a varovanie pre všetky kľúčové komponenty infraštruktúry.
- Súlad a bezpečnosť: Všetky komponenty boli zabezpečené pomocou osvedčených postupov, vrátane SSO, rolí IAM a šifrovaných záloh.
Záver
Zákazník úspešne zmigrovala svoju infraštruktúru pre vývoj hier na AWS pomocou robustného cloudového riešenia navrhnutého na zabezpečenie škálovateľnosti, bezpečnosti a automatizácie. Integrácia Perforce Helix Core, Swarm, Jenkins CI/CD a JumpCloud zefektívnila ich pracovné postupy, zlepšila spoluprácu a zlepšila bezpečnosť. Využitím cloudových možností AWS položili spoločnosti pevný základ pre jej budúci rast a zároveň zabezpečili efektívne procesy vývoja hier, ktoré sa môžu rozširovať pri rozširovaní štúdia.

Michal Režnický
Head of Professional services
DevOpsGroup a ich špecialisti sú veľmi štruktúrovaný, organizovaný a vždy pripravený na stretnutia. V tomto projekte sme spolupracovali s Pavlom Krajkovičom, junior DevOps Architektom. Naozaj si vážim u Pavla Krajkoviča pokoj pri vysvetľovaní infraštruktúry pre málo skúseného zákazníka v tejto oblasti. Je dôležité mať silné komunikáčné zručnosti pri takom prezentovaní riešenia.