Das YRoNS projekt (Teil 1) – Es geht los…

In dem letzten Schuljahr habe ich eher darauf fokusiert, meine Kentnisse im Bereich Elektronik zu verbreiten, deshalb wollte ich jetzt etwas anderes ausprobieren und neue Herausforderungen suchen. Im letzten Schuljahr habe ich auch an dem sechszehnten YRoNS-Konferenz teilgenommen (und eine Präsentation gehalten). Deshalb war es “selbsverständlich” das ich an dem siebzehnten Konferenz (das jetzt bei uns im József Eötvös Gymnasium veranstaltet wird) teilnehmen und mithelfen werde.

Wofür braucht man IT-Mitarbeiter bei einer Schülerkonferenz?

Die YRoNS-Konferenz wird jedes Jahr in einem anderen Land veranstaltet (es gab schon Anlässe in Zypern, Indien und natürlich Deutschland, im Bundesland Rheinland-Pfalz). So kann man sehen, dass es sich um ein internationales Netzwerk handelt. Deshalb sind die Veranstaltungen immer sehr vielfältig und multikulturell, bei denen die Schüler nicht nur über Naturwissenschaften sondern auch über fremde Kulturen viel erfahren können.

Gut, aber warum braucht ihr IT-Leute?

Als ich an der 16. YRoNS-Konferenz teilgenommen habe, habe ich mich sehr gut gefühlt, weil ich Leute treffen konnte, die ähnliche Gedanken und Interessen haben. Die Atmosphäre war auch sehr familiär und das möchte man auch nicht ändern.

Trotzdem denke ich, dass es sinnvoll wäre, wenn wir ein gemeinsames IT-System hätten, das jedem Teilnehmer zur Verfügung steht, da dadurch diese internationale Schülergemeinschaft noch weiter entwickelt werden könnte.

Das ist aber gar nicht einfach…

Obwohl ich schon einige Erfahrungen mit Linux-Systemen habe, wusste ich am Anfang über die Verwaltung von Linux-Systemen gar nichts. Deshalb war es ein bisschen schwierig, alles einzurichten.

Am Anfang war ich allein im “IT-Team”, deshalb habe ich alles gemacht, was die Einrichtung des anfänglichen IT-Systems (Domain, VPS, Lizenzen) angeht. Ich konnte eine Domain (yrons.org) sehr günstig erwerben und zusätzlich einen zentralen VPS-Server in einem ungarischen Rechenzentrum bereitstellen.

Als CMS-System habe ich WordPress gewählt, weil es ein sehr bekanntes Blog-System ist, das man einfach verwalten kann (später werden wir mehr als dreißig Benutzer haben, die nicht immer so technisch sind).

Dann haben wir mit der Entwicklung der YRoNS-Apps begonnen. Diese App beinhaltet eine Budapest-Landkarte, ein QnA-System (wie Mentimeter z.B.), einen Eventkalender und noch viele, kleinere “Mini-Apps”.

Wie kann man aber mehr als einhundert Teilnehmer gleichzeitig im System haben?

Das kann natürlich ein Problem darstellen, denn unsere IT-Infrastruktur nur aus einem Web-Server (und einer Maschine) besteht, und deren Kapazität auch sehr begrenzt ist. Deshalb haben wir nach einer neuen Lösung gesucht, um kleinere, spezialisierte Maschinen schnell einrichten zu können, wenn es nötig ist.

Mit Docker kann sowas verwirklicht werden. Wir haben ein kleines Docker-Image zusammengestellt, das alles enthält, was wir brauchen (NodeJS, Datenbank-Wrapper, usw.). Dieses Docker-Image kann dann schnell installiert werden. So wird der Haupt-VPS auch nur für den Datenbank-Server benutzt und nicht zu schwer belastet.

Für den Reverse-Proxy (den brauchen wir für das Load-Balancing) haben wir uns für Apache2 entschieden, weil er nicht nur Load-Balancing, sondern auch sogenannte Health-Checks ermöglicht (damit wir bei einem Ausfall die gestiegene Belastung automatisch behandeln können).

So sieht unsere Konfiguration aus:

<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>

So kann das System alle Probleme von sich selbst lösen mit einer Ersatz Maschine (+H).

So haben wir ein Problem gelöst, aber wir haben noch viel zu tun.

 


Comments

Leave a Reply

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