DevOpsGroup ako partner a dodávateľ pre Revolgy
Intro
2ndLifeLabs, 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.
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.
Cieľ
- 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.
Riešenie
- 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.
Záver
Spoločnosť 2ndLifeLabs ú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 2ndLifeLabs pevný základ pre svoj 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.