Egy online kaszinó, sportfogadási oldal vagy élő játékplatform használata közben a játékos számára minden egyszerűnek tűnik: megnyom egy gombot, megtörténik a fogadás, néhány pillanat múlva pedig megjelenik az eredmény. A háttérben azonban komoly szerverinfrastruktúra dolgozik. Egy nagyobb online szerencsejáték-platformnak egyszerre kell rendkívül gyorsnak, folyamatosan elérhetőnek, biztonságosnak és skálázhatónak lennie, miközben akár másodpercenként több ezer tranzakciót is kezelnie kell.
Nem egyetlen hatalmas szerver működteti az egészet
Az egyik legfontosabb különbség egy átlagos weboldalhoz képest, hogy egy komoly online szerencsejáték-platform mögött általában nem egyetlen szerver található. Ehelyett több különálló rendszer együttese szolgálja ki a felhasználókat.
Külön infrastruktúra kezelheti például a weboldalt és az alkalmazások API-jait, a játékosok fiókjait, a pénzügyi tranzakciókat, a sportfogadási eseményeket, a játékokat, az adatbázisokat, a naplózást és a biztonsági rendszereket.
Ehhez jöhetnek még a fizetési szolgáltatók, KYC- és csalásmegelőző rendszerek, illetve külső játékplatformok.
Ezért a kérdésre, hogy „mekkora szerver kell egy online kaszinóhoz?”, valójában nincs egyetlen processzor-, RAM- vagy tárhelyadatban megadható válasz.
A processzorteljesítmény fontos, de nem minden
Egy kisebb vagy közepes forgalmú platform alkalmazásszervereinél például teljesen életszerű kiindulópont lehet szerverenként 8–16 modern CPU-mag és 32–64 GB RAM. Nagyobb terhelés esetén 16–32 vagy még több maggal és 64–128 GB memóriával rendelkező gépek is használhatók.
A professzionális rendszereknél azonban sokszor előnyösebb több kisebb szervert párhuzamosan működtetni, mint egyetlen rendkívül erős gépet használni.
Ennek egyik oka a skálázhatóság. Ha például egy nagy sportesemény alatt hirtelen többszörösére nő a látogatók száma, új alkalmazáspéldányok indíthatók el. A forgalom pedig load balancereken keresztül osztható el közöttük.
A modern szerveroldali infrastruktúránál ezért a CPU magszáma mellett legalább ennyire fontos az architektúra.
A RAM különösen az adatbázisoknál válik fontossá
A memóriaigény jelentősen eltér attól függően, hogy milyen feladatot lát el az adott szerver.
Egy egyszerű alkalmazásszerver számára 16–32 GB memória is elegendő lehet, míg nagy forgalmú környezetben 64 GB vagy több lehet indokolt. Az adatbázis-szerverek ennél lényegesen memóriaigényesebbek lehetnek, hiszen a rendszer számára előnyös, ha a gyakran használt adatok minél nagyobb része RAM-ból érhető el.
Komolyabb adatbázis-kiszolgálóknál ezért 128–256 GB vagy akár ennél nagyobb memóriakapacitás sem szokatlan.
Ehhez gyakran Redishez hasonló in-memory cache-rendszer társulhat, amely tovább csökkentheti az adatbázis terhelését.
NVMe SSD nélkül ma már nehéz elképzelni egy modern rendszert
Egy ilyen szolgáltatás esetében nem feltétlenül a több tíz terabájtos tárhely a legfontosabb követelmény. Sokkal lényegesebb az adatok gyors elérése és az I/O műveletek megfelelő kezelése.
Ezért a szerverekben jellemzően vállalati kategóriájú SSD-k vagy NVMe meghajtók használhatók.
Különösen az adatbázisoknál számít a kis késleltetés, hiszen rövid idő alatt rengeteg tranzakció történhet. Egy fogadás elfogadása, az egyenleg módosítása vagy egy nyeremény jóváírása nem veszhet el egyszerűen azért, mert az egyik szerver váratlanul meghibásodott.
A redundancia emiatt alapvető követelmény.
A hálózati kapcsolat legalább olyan fontos, mint maga a szerver
Egy kisebb szolgáltatásnak akár egy 1 Gbps kapcsolat is elegendő lehet, egy nagy nemzetközi platform infrastruktúrájában azonban 10, 25 vagy akár 100 Gbps-os hálózati kapcsolatok is megjelenhetnek, különösen az adatközpont belső hálózatán.
Az internetkapcsolat mellett kritikus a késleltetés is.
Ha például élő sportfogadásról van szó, az oddsok folyamatosan változhatnak. Ilyenkor néhány száz milliszekundum különbségnek is jelentősége lehet. A rendszernek pontosan tudnia kell, mikor érkezett egy fogadás, és milyen odds volt érvényes annak elfogadásakor.
A terheléselosztás az egyik kulcsfontosságú technológia
A nagyobb rendszereknél a felhasználók kérései először gyakran egy load balancerhez kerülnek.
Ez dönti el, melyik alkalmazásszerver dolgozza fel az adott kérést.
Ha például tíz szerver működik párhuzamosan, a terhelés megosztható közöttük. Amennyiben az egyik meghibásodik, a forgalom átirányítható a többi szerverre.
Cloud környezetben mindez automatikus skálázással egészíthető ki. Normál időszakban például működhet tíz alkalmazáspéldány, egy kiemelt sportesemény alatt pedig ideiglenesen akár több tucat.
Az adatbázis a rendszer egyik legkritikusabb pontja
Egy online szerencsejáték-platform adatbázisában rendkívül érzékeny és fontos információk találhatók. Ide tartozhatnak a játékosok fiókjai, egyenlegei, tranzakciói, fogadásai, játékadatai és különböző auditnaplói.
Egy egyszerű MySQL- vagy PostgreSQL-szerver önmagában ezért általában nem megfelelő egy komoly szolgáltatáshoz.
A nagyobb rendszerek adatbázis-klasztereket, replikációt, automatikus failovert és rendszeres biztonsági mentést alkalmazhatnak.
Ha az elsődleges adatbázis meghibásodik, egy másik példánynak kell átvennie a szerepét úgy, hogy lehetőség szerint egyetlen tranzakció se vesszen el.
Mi történik a játékos pénzével?
Ez az infrastruktúra egyik legérzékenyebb része.
Egy professzionális rendszerben az egyenleg kezelése nem egyszerűen abból áll, hogy az adatbázis egyik mezőjében szereplő számot átírják. A pénzügyi műveleteknek visszakövethetőnek és konzisztensnek kell lenniük.
Egy tranzakciónak például egyedi azonosítója lehet, és az események külön naplózhatók. A rendszernek azt is meg kell akadályoznia, hogy ugyanaz a tranzakció hálózati vagy alkalmazáshiba miatt kétszer fusson le.
Ez már sokkal inkább hasonlít egy pénzügyi szolgáltatás backendjére, mint egy hagyományos weboldaléra.
A biztonság óriási szerveroldali követelmény
Az online szerencsejáték-platformok vonzó célpontok lehetnek kibertámadások számára, ezért több biztonsági rétegre van szükség.
A háttérben többek között web application firewall, DDoS-védelem, titkosított kommunikáció, behatolásészlelő rendszerek, naplóelemzés, hozzáférés-kezelés és folyamatos monitorozás működhet.
A fizetési adatok kezelése pedig további biztonsági és megfelelőségi követelményeket jelent.
A szerverek fizikai elhelyezése és az adatok tárolásának helye szintén fontos lehet, különösen szabályozott piacokon.
Cloud vagy saját szerverpark?
Mindkettő használható.
A felhő egyik legnagyobb előnye az egyszerű skálázhatóság. Ha hirtelen megugrik a látogatottság, a rendszer automatikusan további erőforrásokat rendelhet az alkalmazáshoz.
Nagy szolgáltatóknál ugyanakkor saját adatközpont, dedikált szerverek, privát cloud és publikus felhő kombinációja is előfordulhat. Ezt hibrid infrastruktúrának nevezik.
A döntést nemcsak a teljesítmény és az ár határozza meg. A szerencsejáték-szabályozás, az adatkezelési előírások és az adott licenc követelményei is befolyásolhatják, hol és milyen módon üzemeltethető a rendszer.
Milyen lehet egy közepes rendszer konfigurációja?
Ha kizárólag technikai szempontból készítünk egy leegyszerűsített példát, egy közepes forgalmú platform infrastruktúrája több, egyenként 8–16 CPU-maggal és 32–64 GB RAM-mal rendelkező alkalmazásszerverből állhat.
Ehhez társulhat két vagy több nagy teljesítményű adatbázis-szerver 16–32 CPU-maggal, 128–256 GB RAM-mal és vállalati NVMe tárhellyel, valamint külön cache-, naplózó-, monitorozó- és biztonsági infrastruktúra.
A rendszer elé load balancerek kerülhetnek, a statikus tartalmakat pedig CDN szolgálhatja ki.
Ez azonban csak szemléltető konfiguráció. Egy valódi rendszer méretezését elsősorban a másodpercenkénti kérések és tranzakciók száma, az egyidejű játékosok mennyisége, az adatbázis-terhelés és az elvárt rendelkezésre állás határozza meg.
A rendelkezésre állás fontosabb lehet a nyers teljesítménynél
Egy hagyományos weboldal néhány perces kiesése kellemetlen. Egy olyan platformnál azonban, ahol éppen több ezer ember fogad vagy játszik valódi pénzzel, ugyanez komoly problémává válhat.
Ezért a nagy rendszereket úgy tervezik, hogy egy-egy szerver kiesése ne állítsa le az egész szolgáltatást.
A kritikus komponensekből több példány működik, az adatokat replikálják, a szolgáltatásokat monitorozzák, és problémák esetén automatikus failover történhet.
A cél sok esetben legalább 99,9 vagy 99,99 százalék körüli rendelkezésre állás. Utóbbi elméletben éves szinten nagyjából 53 perc kiesést jelent.
Az online kaszinók mögött valójában egy komplett IT-ökoszisztéma dolgozik
Az online szerencsejáték szerveroldali háttere tehát jóval összetettebb annál, hogy egyszerűen kiválasszunk egy nagy teljesítményű processzort és rengeteg RAM-ot.
A megfelelő infrastruktúrának egyszerre kell gyorsan kezelnie a felhasználói kéréseket, biztonságosan feldolgoznia a pénzügyi tranzakciókat, tárolnia az adatokat, ellenállnia a meghibásodásoknak és támadásoknak, valamint automatikusan alkalmazkodnia a változó terheléshez.
Éppen ezért egy nagy online szerencsejáték-platform technológiai háttere sok szempontból közelebb áll egy fintech szolgáltatáshoz vagy nagy e-kereskedelmi rendszerhez, mint egy hagyományos weboldalhoz.
