Az YRoNS projekt (1. rész) – Indul a buli

A múlt év inkább az elektronikatudásom fejlesztéséről és ezen területen történő ismeretszerzésről szólt, így ebben az évben más kihívások után néztem. Mivel múlt évben részt vettem az akkor 16. alkalommal megrendezett YRoNS konferencián, természetes volt, hogy kulcsszerepet vállalok az idei konferencia szervezésében.

Mire jó egy IT-s egy természettudományos konferencián?

Mivel a konferencia minden évben más országban kerül megrendezésre (volt már Cipruson, Indiában, múlt évben Németországban, Rheinland-Pfalz tartományban), egész komoly nemzetközi kapcsolati háló alakult már ki az iskolák között. Ez azt eredményezi, hogy minden konferencia egy színes, számos kultúrát magában foglaló kavalkád, ahol a diákok nem csak új dolgokat tanulhatnak egymástól a természettudományok terén, hanem megismerhetik egymás kultúráját is.

Na jó, de minek ide IT-s?

Amikor én részt vettem a 16. YRoNS konferencián Bernkastel-Kues településen, nagyon jól éreztem magamat, mivel sok közös pont volt a többi részvevővel. A konferencia légköre mindig nagyon családias és ebből senki sem akar visszavenni, hivatalosabb hangot adni.

Én még is azt gondolom, hogy jót tenne a konferenciának, hogyha a technikai-informatikai megvalósítás legalább olyan jó lenne, mint a németeké, illetve egy új weblap sem ártana, ami lépést tud tartani ezzel a fejlődő nemzetközi diákközösségel.

Ez nem lesz egyszerű…

Bár dolgoztam már Linux alapú rendszerekkel, eleinte nem volt sok tapasztalatom rendszeradminisztráció terén, így rázósan indult a projekt eleje.

Mivel az IT csapat az elején csak belőlem állt, így én intéztem a különböző beszerzési ügyeket (pl. domain, VPS, licenszek) is. Sikerült beszerezni (kifejezetten jó áron) egy .org végű domaint (yrons.org) és egy ehhez illő VPS-t (szerencsére itthoni szolgáltatótól).

A blognak egy WordPress CMS-t választottam, mivel ez a rendszer már viszonylag bevált és egyszerűen kezelhető (nagyon sok szerkesztője van az oldalnak és nem mindenki látott már blogot belülről).

Elkezdődött az YRoNS app fejlesztése is, ami mára már nagyjából megvan (éles tesztek folynak). Az app virtuális névjegykártya-szolgáltatást, eseménynaptárat, Budapest-térképet, kérdezőrendszert foglal magába, ezzel megkönnyítve a konferencia lebonyolítását.

De hát sok ember lesz!

Ez valóban probléma lehet, mivel a sok szimultán kapcsolat valóban kikészítheti a korlátolt erőforrásokkal rendelkező (egyetlen) webszervert… Ezért olyan megoldást kellett találni, ami valamilyen szinten bővíthető, ha nagyobb kapacitásra van szükség. Ezt meg is találtuk Docker-konténerek formájában.

Lényegében egy saját Docker-képfájlt állítottunk elő, ami tartalmazza az alkalmazás elfuttatásához szüksége minimum függőségeket, és ezt telepítettük fel az olcsón vásárolt konténerekre, így “skálázva” az infrastruktúránkat. A VPS ezen esetben csak a proxy szerepét látja el, illetve az adatbázis-szervert futtatja.

Az Apache2 (végül erre a webszerverre esett a választásom) képes ún. proxyseteket létrehozni, és terhelésmegosztást megvalósítani.

A konfigurációnk valahogyan így néz ki:

<VirtualHost *:443>
    ServerName app.yrons.org
    ServerAlias www.app.yrons.org

<Proxy balancer://da-cluster>
    BalancerMember http://69.420.420.123:42069 status=+H
    BalancerMember http://69.420.420.123:42069 timeout=2 retry=50
    BalancerMember http://69.420.420.123:42069 timeout=2 retry=50
    BalancerMember http://69.420.420.123:42069 timeout=2 retry=50
    ProxySet lbmethod=byrequests
</Proxy>

    ProxyPreserveHost On

    ProxyPass / balancer://da-cluster/
    ProxyPassReverse / balancer://da-cluster/


 </VirtualHost>
</IfModule>

A rendszer így képes a terhelés egyenletes megosztására a konténerek közt, illetve esetleges hibák esetén az önjavításra (lásd +H flag).

Ezzel megoldottuk az egyik problémát, de azért még érezhetjük, hogy ez csak egy út kezdete és sok érdekes kérdés vár még ránk…


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *