Tim: Ja servus. Guten Abend zusammen. Ich
freue mich, dass wir heute Abend Sebastian
Neuner bei uns haben. Er arbeitet seit
2014 als Netzwerkingenieur bei BelWü - dem
Landeshochschulnetz in Baden-Württemberg
und verbindet damit die Universitäten,
Hochschulen und die DHBW sowie sonstige
wissenschaftliche und öffentliche
Einrichtungen und Schulen. Sebastian ist
dort zuständig für die Planung und Betrieb
des Backbone Netzes inklusive der
optischen Übertragungstechnik IP-Routing,
Peering, Policies. Aber heute abend erzählt
er uns wie sie zu Beginn des Lockdowns
letztes jahr Moodle für Baden-Württemberg
in 72 Stunden gebaut haben. Ich würde
sagen, Sebastian die Bühne gehört dir.
Sebastian: Ja. Dankeschön, Tim. Ja, es
wird ein bisschen Storytelling jetzt
hauptsächlich. Wir haben auch vor noch mal
ein technischeres Write-up zu machen, wo
wir ein bisschen genauer darauf eingehen
an welchen Rädchen wir noch wie gedreht
haben, um das eben ganz performant, so
performant wie man es eben machen kann, auf
die Beine zu kriegen. Aber das ist, soll
jetzt erst mal darum gehen, wie wir das
quasi im März in einer großen Hauruck-
Aktion gewuppt haben. Kurz zu uns. Wir
sind so 25 Leute ungefähr. Der Tim hat das
meiste gerade schon erzählt. Wir haben
eben Leute die sich ums Netz kümmern, aber
wir haben auch Sys-Admins und Leute die
dann eben noch verschiedene Services
betreuen. Und ja unsere Kernaufgabe ist
eben dieses Landeshochschulnetz, hier mit
einer kleinen Karte zu betreiben . Das
Ganze gehört nicht zum Kultusministerium,
sondern ist nachgeordnet dem Ministerium
für Wissenschaft und Kunst. Und ja wir
bauen und betreiben dieses Netz in enger
Absprache und Zusammenarbeit mit den
Hochschulrechenzentren. Das heißt, da gibt
es verschiedene Gremien in denen man dann
eben guckt, ja wie bei einem Ausbau zum
Beispiel oder bei technischen größeren
Änderungen man eben eine Lösung findet, die
technisch für alle gut funktioniert. Wir
betreiben dafür so dreieinhalbtausend km
darkfiber und haben da oben drauf aktive
DWDM-Systeme, das Ganze in ungefähr 60
Knoten. Und ja, wie es der Tim gerade
schon angesprochen hat, machen, machen wir
damit Internet für neun Universitäten, 40
Hochschulen, aber auch noch für andere
Sachen, die da am Ministerium dranhängen.
Also Museen oder Staatsarchive, aber auch
so was wie Studentenwohnheime und dazu
kommen eben noch Services, die man also
klassisch als Netzbetreiber, dann
vielleicht auch noch irgendwie dabei hat.
So was wie DNS eben oder E-Mail, das sind
gerade Sachen die hauptsächlich von
kleinen Hochschulen viel nachgefragt
werden, die es sich eben, also für die es
sich einfach nicht lohnt selber Personal
und Infrastruktur bereitzustellen für
diese Dienste. Und dann kommt auch noch
Webhosting dazu. Das wird hauptsächlich
von Schulen momentan genutzt. Auch schon
seit vielen Jahren. Und es gibt auch
Moodle bei uns von Schulen oder für
Schulen schon seit einigen Jahren. Das ist
also grundsätzlich nichts Neues gewesen.
Es gibt auch noch Internetanschlüsse für
Schulen, da gibt es verschiedene
Konstruktionen. Und für dieses ganze Ding
schießt das Kultusministerium noch bei uns
Personal dazu und eben auch Mittel. Das
heißt, dadurch sind wir größer, können
flexibler sein. Also man kann sich auch
gegenseitig mal aushelfen an manchen
Stellen hatten wir Know-How im Haus.
Dadurch haben wir sehr viel Synergie-
Effekte und eine hohe Flexibilität. Ja,
dann kam Freitag der 13. Wir saßen dann
abends in unserer Videokonferenz. Weil, man
konnte ja nirgends hin. Restaurants hatten
zu, Kino ging nicht. Das heißt, wir saßen
dann irgendwie gelangweilt in unserem
Jitsi und haben gequatscht und ein Bier
getrunken und haben uns überlegt, ja wie
das jetzt mit den Schulschließungen so
ist. Das Kultusministerium hatte da vor
paar Jahren schon angefangen, eine große
Bildungsplattform ja zu beauftragen, die
sollte Ella heißen, das ganze Projekt lief
aber irgendwie nicht so gut. Wir waren da
am Rande beteiligt, also nur quasi gar
nicht beteiligt. Deswegen kann ich euch da
keine Details geben. Müsst ihr selber
googeln. Aber Punkt war jedenfalls: an dem
Abend war das Ganze nicht wirklich
nutzbar. Das heißt, die Schulen mussten
irgendwie eine Lösung haben. Der erste
Schritt war dann, dass das
Kultusministerium den Schulen erlaubt hat,
sich nach eigenem Ermessen , also nach
nach, ja nach eigenem Wissen und Gewissen
sozusagen, sich eine eigene Lösung zu
suchen. Also eigene Lernplattformen sich
irgendwo einzukaufen oder Microsoft Teams
sich zu nutzen oder sowas. Einfach, damit
die schon mal irgendwie eine Möglichkeit
haben zu agieren. Gleichzeitig wollte das
Kultusministerium dafür sorgen, dass alle
Schulen irgendwie versorgt sind und
irgendwie unterstützen. Und unter anderem
kam auch bei uns eine Anfrage an, ob wir
irgendwie unsere Moodle-Plattform und
Webhosting-Plattform, die wir bisher schon
hatten irgendwie hochziehen können auf-,
ausbauen können und eben den Schulen die
jetzt noch nichts haben irgendwie noch was
bereitstellen können. Und dann haben wir
erst gelacht und haben gesagt na ja also
normalerweise kommt eine Schule einzeln zu
uns. Und dann fragen die halt nach einer
Domain und nem Moodle und kriegen dann
noch SSL-Zertifikate. Und in dem Prozess
passieren halt einige Schritte von Hand.
Und normalerweise, also wenn man es arg
angestrengt hätten, hätten wir vielleicht
so 50 bis 100 pro Tag hingekriegt. Und die
Aufgabe war ja, von Freitag Abend bis Montag
soll das quasi laufen. Also haben wir
irgendwie erst gelacht. Nach dem Motto,
wie soll das denn gehen? Und dann kam aber
der Dennis, unser Kollege und meinte, na ja
also wir haben da noch die Server, wir
wollten ja irgendwie diese Webhosting-
Plattform eh neu machen. Und wenn man es
mit der heißen Nadel strickt und das alles
initial irgendwie noch bisschen eng wird,
aber er hat es durch gerechnet. Da gibt es
irgendwie, er hat ein großes Spreadsheet
gemacht. Das könnte gerade hingehen. Und
naja, wir saßen da und hatten genug
Freiwillige. Wir waren irgendwie
motiviert. Wir hatten irgendwie Bock auf
die Challenge. Und haben uns dann überlegt:
okay, wir können das vielleicht machen.
Aber wollen wir das machen? Also, wenn wir
da jetzt zusagen oder jetzt anbieten, dass
wir da helfen, dann haben wir irgendwie
alle ein echt beschissenes Wochenende. Und
wir haben natürlich ein großes Risiko,
dass es am Ende nicht klappt. Und wenn wir
dann sagen, wir helfen und es verlassen
sich Leute drauf und es funktioniert
nachher nicht, weil es irgendwo
Sonntagmittag einen Showstopper gab, dann
stehen wir irgendwie blöd da. Andererseits,
wenn wir jetzt irgendwie sagen hm, ne, hm
schwierig, machen wir nicht. Wer macht es
dann? Also, Kultusministerium hat ja nicht
nur bei uns angefragt und das hörte sich
alles nicht sehr hoffnungsvoll an. Und
dann haben wir hin und her überlegt, haben
gedacht na ja, okay, wir versuchen es. Wir
bieten mal Hilfe an. Haben dann uns um
zehn abends beim Kultusministerium noch
gemeldet. Haben gesagt, ja also wir würden
es versuchen, wir wollen nichts
versprechen, aber wir holen alles aus dem
Keller, was noch da ist und versuchen
irgendwie Plattformen hochzuziehen. Die
Ansage war dann, ja okay also manche Leute
schlafen jetzt gerade und eine offizielle
Entscheidung, also die offizielle
Beauftragung in aller Förmlichkeit wird
frühestens Samstag Vormittag passieren.
Wir haben dann entschieden, Samstag
Vormittag ist uns zu spät. Wir fangen
direkt an. Ich bin dann ins Rechenzentrum.
Ich habe das kürzeste Streichholz gezogen
sozusagen. Ich wohne am nächsten dran.
Habe die Server, die dann quasi schon da
waren, die aber noch nicht in Benutzung
waren, passend verkabelt . Die waren noch
in anderen Topologie. Nebenher, während ich
die Server so nach nach quasi
eingeschaltet und verkabelt habe, haben
die Kollegen dann schon da Systeme drauf
installiert und die irgendwie vorbereitet.
Und die, die Hardware schon mal an den
Start gekriegt. Wir haben das Projekt dann
intern "Ella 3.0" genannt. Und fanden uns
sehr, sehr witzig. Und so ging es dann ja
am Freitag Nacht los. Und die Kollegen
haben dann quasi noch mal ausgeschlafen
und haben sich ein Setup überlegt. Und im
Prinzip war das halt jetzt nix, nix
Besonderes. Wir haben halt ein Webhosting
Setup gemacht. Das sich irgendwie in
unsere bisherige Infrastruktur einfügt.
Also wir haben jetzt in der Kürze der Zeit
nicht großartig noch groß neues Setup
planen können. Sondern wir haben halt das
gebaut, was wir sonst auch haben. Nur mehr
davon. Haben die Server ans Netz gehängt
und an unser all-flash Storage dran
gehängt. Haben da Linux installiert und
Virtualisierung machen wir eben mit
libvirt und KVM. Und innen drin laufen dann
ja einfach linux VMs. Storage haben wir so
gemacht, dass wir die Storages über
Netzwerk auf dem hypervisor gemounted
haben. Und das wird dann, also da liegen
dann disk images rum und die werden als
block device einfach in die VM
reingereicht. Die VM hat ein ganz normales
Filesystem mit block device. Und kann
caching machen, was ganz wichtig ist in
dem Fall für die Performance. Wir haben
dann jeweils in einer VM 50 Moodels drin.
Also wir mussten uns halt irgendwie eine
Aufteilung überlegen und das war so, wo
wir rausgekommen sind. Und da läuft
einfach quasi ein Apache mit 50 vhosts und
ja php-fpm. Also alles nichts Besonderes.
Klassisches Webhosting im Prinzip. Dann
hatten wir noch extra Server, die hatten
RAM im Terabyte Bereich. Und dicke NVMe-
Raids. Und da haben wir uns gedacht, die
sind ja perfekt eigentlich für
Datenbankserver. Haben da ja
Datenbankserver draufgepackt. Und sehr
viel später festgestellt, dass es ist
nicht so eine optimale Idee war. Haben
dass nachher nochmal bisschen umgestrickt
und haben die Datenbanken mit in die VMs
reingezogen. Aber da komme ich gleich noch
mal drauf. Und ja das Moodel kriegen wir
quasi fertig von Kollegen im
Kultusministerium das ist ne
Basisinstallation, die mit einigen, vielen
Plugins gebündelt ist. Wir deployen das
quasi so fertig, wie es kommt. Am Anfang
hatte jedes Moodel nur 20 Gigabyte Disk.
Das ist ziemlich wenig. Aber für die
ersten Tage hat es gehalten und später
haben wir neben Storage nachgelegt und
konnten das Ganze dann ja vergrößern. Wir
könnten das ganze noch mit Snapshots und
Backups ausstatten. Das heißt die ersten
paar Tage war es wirklich mit ner so
heißen Nadel gestrickt, dass es auch keine
Backups gab. Bis so nach paar Tagen bis
ner woche. Caching haben wir anfangs mit
mcash, memcached probiert. Das lief
irgendwie nicht so gut. Hatten aber auch
keine Zeit wirklich genauer zu debuggen.
Es musste schnell gehen. Haben dann APCUc
ausprobiert. Das kann ein Moodle
aktivieren und das funktionierte sehr gut.
Und ja später im Laufe des Jahres oder
Ende des Jahres kam dann irgendwann noch
Redis für Session Caching dazu. Ja Samstag
stand im Prinzip das Setup, wie es
aussehen soll. Da waren dann ganz viele
Baustellen zu tun. Ganz, es ging in ganz
viele Richtungen gleichzeitig. Also das
lief quasi alles parallel. Angefangen bei,
welche Schulen gibt es überhaupt? Wie
heißen die? Wo sind die? Was haben die für
eine Dienststellen E-Mail Adresse? Da hat
das Kultusministerium ein großes
Spreadsheet gehabt. Wir haben dann das
Excel-Sheet in irgend ein sinnvolles
Dateiformat umgewandelt und haben dann
damit weiter gearbeitet. Haben damit quasi
Ansible befüllt. Haben uns Zugangsdaten
für die Moodles also Initial-Admin
Accounts und Datenbank,
Datenbankpasswörter generiert und so
weiter. Jemand musste sich noch um Storage
kümmern. Jemand musste sich noch um
Netzwerk und IP-Adressen für die ganzen
VMs kümmern. Die Moodle Installation
musste irgendwie automatisiert werden. Wir
konnten da auf ziemlich viel zurückgreifen
was wir hatten, aber der das Ziel war
natürlich das muss irgendwie 4000 mal
laufen ohne dass jemand irgendwo was
anfasst. Ohne dass jemand eine Domain
irgendwo von Hand anlegt oder so weil
sonst geht es in der Kürze der Zeit
einfach nicht. Wir haben dann einfach mal
noch kurz paar 1000 Domains hier als
Subdomain von moodle.belwue.de angelegt.
Immer mit der Dienststellenadresse vorne
dran sozusagen, als primary key. Ja und so
musste das dann halt laufen. Für
Monitoring nutzen wir generell viel
Prometheus und Grafana das heitßt, da
haben wir noch mal eine separate Instanz
dazu gestellt die eben auf das Web Cluster
zugeschnitten war und dann da eben geguckt
hat was funktioniert und was funktioniert
nicht. Sonntag ging es dann im Prinzip so
weiter das nahm dann so nach und nach Form
an aber wir haben dann gegen ganz viele
Kleinigkeiten gekämpft. Also sowas wie,
wenn man 4000 Moodles gleichzeitig
installiert und das Ansible holt
irgendwelche sachen vom git-Server dann
fängt der arme git-Server so ein bisschen
an zu brennen. Das heißt, da mussten wir
dass irgendwie in Badges einteilen.
Gleichzeitig gingen dann irgendwie bei der
Installation die Datenbanken kaputt, weil
es irgendwelche Timeouts gab. Das heißt,
man musste dann gucken welche haben nicht
sauber deployed. Das alles nochmal
wegwerfen, alles noch mal von vorne
machen. SSL-Zertifikate, 4000 Zertifikate
irgendwo einzeln beantragen geht natürlich
auf gar keinen Fall. Wir haben dann
überlegt was wir machen.Let's Encrypt
Zertifikate wäre auch nicht gegangen. Da
gibt es Ratelimits. In die wären wir
reingelaufen. Und was wir dann gemacht
haben war, naja Let's Encrypt
Sternchenzertifikat für die ganze
Subdomain erstmal da überall reinpacken,
passt schon. Kümmern wir uns nächste Woche
drum. Also es muss jetzt erstmal irgendwie
bis Montagfrüh irgendwie laufen. Genau
dann irgendwann war Netzwerk fertig. Das
heißt der Teil, wo ich helfen konnte lief
und ich habe dann halt ein bisschen
angefangen Monitoring Dashboards zu bauen,
damit die Kollegen wissen was tut und was
tut nicht. Und wo gibt es noch zu tun und
wo ging was schief. Und eine andere Frage,
die wir dann noch klären mussten, war, wer
macht überhaupt Support für das Ganze?
Also wir können vielleicht ein bisschen
technisch, wenn es irgendwie gar nicht
funktioniert, können wir natürlich rein
gucken und sagen okay da habt ihr
irgendwie was verkonfiguriert oder so.
Also technisch können wir da vielleicht
Support machen, aber es gibt ja dann
nachher noch hunderteLehrer, die dann
nachher das benutzen müssen und die dann
vielleicht irgendwie Probleme damit haben.
Und den Teil hat dann das Zentrum für
Schulentwicklung und Lehrerfortbildung,
also Lehrerfortbildung BW hat es dann
übernommen. Die machen einen wirklich
guten Job. Die machen da, stellen ganz
viele tolle Materialien bereit und machen
Videokonferenzen mit den Lehrern und
zeigen dass denen. Und die haben nachher
auch Big-Blue-Button hochgezogen.
Mittlerweile in einer wahnsinnig riesigen
Installation mit hunderten Servern mit
100000en gleichzeitigen Clients in der
Videokonferenz. Also wirklich, Hut ab. Am
Montag war dann die Deadline. Und wir
hatten drei 3948 neue Moodles installiert
und bis auf 62 Stück waren auch alle
funktional. Das heißt, sagen wir mal 99%
Mission Accomplished. Wir waren riesig
froh bei den 62 Stück musste man noch mal
von Hand angucken. Die hatten noch
verschiedene Probleme, aber im
Wesentlichen lief das Ganze rund. Und dann
hatten wir noch wie gesagt vorher schon
lange Moodle und das waren so 1100
Bestands Moodle. Das heißt so knappe 5000
Moodle hatten wir dann. Das neue
Deployment war initial, ja so was halt da
war und die Woche über und die nächsten
Wochen über kam dann immer mehr und mehr
Hardware dazu. Aber das war jetzt mal so
der Stand vom Montag. Außerdem war der
Stand, dass ein paar Leute irgendwie echt
dringend Schlaf gebraucht haben. Ja und so
fing unsere Arbeitswoche am Montag dann
an. Und Dienstag haben wir dann gespannt
auf die Graphen geguckt. Das war der erste
Tag der Schulschließungen und auf dem
neuen Cluster passierte irgendwie nix. Wir
haben erst gegrübelt und irgendwann wurde
uns dann klar naja ok klar die haben jetzt
erstmal ihre Admin Accounts. Die müssen
jetzt erst mal das ganze Kollegium mit
Accounts versorgen und dann die Schüler.
Und müssen sich vielleicht noch
einarbeiten und Material hochladen und so.
Und die folgenden Tage wurde es auch so
nach und nach ein bisschen mehr, aber am
Anfang war nicht so viel los. Das Problem
waren jetzt aber die Moodles von den
Bestandskunden. Weil die hatten Accounts.
Die wussten wie es funktioniert. Die sind
Mittwo.. Dienstag einfach zu Hause
geblieben. Haben ihren Laptop aufgeklappt
und konnten sofort voll einsteigen. Und
damit hatten hatten wir natürlich auch
gerechnet. Wir haben dafür gesorgt dass
überall genug - dachten wir - genug Platz
da ist. Also irgendwie Lastfaktor 5 wäre
irgendwie noch Luft gewesen. Wir haben da
irgendwie reingeguckt, da war nicht so
viel los. Und wir dachten ja die benutzten
die, also hatten die ja vorher auch schon
benutzt. So schlimm wird es nicht werden.
Aber die Server haben dann tatsächlich am
Mittwoch glaube ich die 20-fache Last wie
sonst gesehen. Und da waren wir dann
schwer beschäftigt damit mehr Ressourcen
zuzuteilen. Die VMs zu vergrößern. Mehr
Hardware dazu zu bauen. Neuere Hardware
dazu zu bauen. Also Teile von dem alten
Webhosting liefen eben noch auf ein paar
wenigen Sun-Servern, die noch von früher
übrig waren. Die haben wir dann durch
Linux ersetzt, so schnell wie es geht.
Kollege hat irgendwie noch aus
Einzelteilen, die im Lager waren nochmal
einen funktionierenden Server
zusammengebaut und natürlich neue
bestellt. Und nachdem wir dann irgendwann
die ganzen VMs groß genug vergrößert
hatten und die alle schön, auf die, auf
die Server die wir hatten, verteilt
hatten, hat es auch einigermaßen
funktioniert. Das heißt die ersten paar
tage war es irgendwie echt blöd und so
nach und nach lief's für die
Bestandskunden dann auch immer besser und
ja also dann nach ein bis zwei Wochen
lief's eigentlich relativ rund. Hier habe
ich noch so 'nen kleinen Screenshot von
einem Monitoring von so'm Bestandsmoodle.
"For all resources, whatever it is, you
need more." Man sieht da, ich hab das
schon mal, in dem CPU-Graphen unten links
einen kleinen Aussetzer, da wurde die VM
schon mal vergrößert, das war, glaube ich,
der Sonntag, da war schon relativ viel
Last drauf, weil die Lehrer dann
angefangen haben, da Sachen hochzuladen
und, ich glaub', der Montag war es und das
hat dann aber auch am Mittwoch wieder
nicht mehr gereicht, das heißt,am Mittwoch
wurde die VM noch mal verdoppelt und also
kurz nachdem dieser Screenshot aufgenommen
wurde, lief's dann auch da rund. Wie
gesagt, eine kurze Zeit lang war es echt
schlecht, aber dann nach ein paar Tagen
hatten wir das im Griff. Ja, die folgenden
zwei Wochen da kam dann immer mehr Last
auf das neue Cluster drauf und da haben
dann bemerkt, dass die zwei großen dicken
Datenbankserver langsam zum Problem
werden. Konkret sind wir hier in
Connection-Limits reingelaufen und egal
wie groß man die gemacht hat, die wurden
immer gehittet und vor Allem auch mit
stale Connections, also diese Moodles
machen einen Haufen PHP-Cronjobs, machen
da ganz viele Sachen und es passiert immer
wieder, dass mal was in Timeouts läuft und
dann bleiben da einfach Datenbank-
Connections hängen und ja das verstopft
dann irgendwann nach und nach die
Datenbank. Wir haben dann, wie gesagt, mit
Parameter-Tuning einiges machen können,
aber irgendwann ging's halt nicht mehr so
gut weiter und wir haben dann beschlossen
die Datenbank-Server in die virtuellen
Maschinen mit reinzuziehen einfach damit
wir mehr DB-Server haben und dass das
besser verteilt. Wir haben dann auch ein
bisschen DoS gesehen und ja wirklich, wir
können unterscheiden von jemandem drückt
F5 zu einem NTP-Amplification-DDoS, da
gibt es immer wieder ein bisschen
schnippische Kommentare. Können wir schon
unterscheiden. Das meiste war Kleinvieh,
haben wir irgendwie gar nicht groß bemerkt
oder uns nicht dran gestört. Also
Amplification-Geschichten, die sind easy
weggefiltert. Es gab aber auch dann ab un
d zu mal Application-Layer-DDoS, wo jemand
tatsächlich ein bisschen tiefer im System
Last gemacht hat und auch an den Filtern
vorbeikam, das war ein bisschen ätzend,
kam aber zum Glück sehr selten nur vor
Feedback gab es vor allem von den von der
Presse dann zuerst also diese 100 ich sage
mal so Größenordnung 100 Moodles, die
tatsächlich Probleme hatten, wegen
Überlastung die haben sehr viel Medienecho
bekommen. Das war auch ein bisschen
schade, dass ausgerechnet hier die
Bestandskunden, die es schon lange benutzt
hatten und sich damit auskannten Probleme
hatten, das hat sehr viel negatives
Medienecho bekommen. 'n bisschen unfair
war vielleicht, dass dann irgendwie zwei
Wochen später immer noch die DPA-Meldung
von zwei Wochen vorher ge-copy-pasted war,
wo es aber schon lange wieder im Griff
war. Die paar tausend Instanzen, die gut
funktioniert haben, die haben nicht so
interessiert. Was cool war, dass vom
Kultusministerium dann am ende für uns
einzeln und persönlich Dankesschreiben
kamen, wo man sich in aller Förmlichkeit
bedankt hat, das hat uns sehr gefreut an
diesem Wochenende auch in den Tagen danach
haben uns schon das ein oder andere Mal
gefragt, warum wir uns den Mist angetan
haben und das hat dann richtig gut getan.
Wir haben auch sehr viel Dank und Lob von
den Schulen bekommen, also E-Mails aber
sogar auch Postkarten und sogar von ein
paar Schulen Pakete voll mit Schokolade,
was uns sehr freut. Schokolade, wenn sie
bei uns vom Tisch fällt, berührt den Boden
nicht. Die muss sofort weg. Ja, also das
hat uns riesig gefreut. Momentan ist der
Status so: Ich habe hier noch mal ein
Bild, dass ist irgend so ein Teil von der
alten Webhosting-Plattform, die ist über
den Sommer rausgeflogen jetzt und wurde
durch modernere, platz- und
stromsparendere Dinge ersetzt. Wir haben
technischen austausch gehabt mit den
Kollegen in Berlin und im Saarland und in
Rheinland-Pfalz. Vor allem die Kollegen in
Berlin konnten einiges weiter helfen mit
schlauen Datenbank-Indizes und Patches im
Code, der das ganze noch ordentlich nach
vorne gebracht hat, großen Dank an der
Stelle! An den Moodles haben wir so übers
Jahr noch einige Sachen verbessert, also
wir
haben die Redis-Session-Cache dazu gebaut,
es gibt eine Funktion, die YUI-Combo-
loading heißt. Wie gesagt, wir machen da
vielleicht noch ein Write-Up, weil es doch
eine große Community gibt die Moodle
einsetzt sind die sich dafür interessiert.
Combo-loading so ein Ding das Javascript
zusammenfasst und zusammen ausliefert. Das
macht sehr viel weniger Requests auf dem
Webserver und die kann man auch gut cachen
dann. Und mehr php-worker da haben wir ein
bisschen dran getuned, mehr Datenbanken
habe ich gerade schon erwähnt. Wir haben
mittlerweile mehrere Lagen DDOS-Protection
und nächste Woche oder so kommt dann auch
noch mal ein bisschen mehr Storage dazu.
Das wird auch irgendwann mal voll.
Deswegen sind wir da gerade auch dabei das
Storage zu upgraden. Ja so ein To-Do dass
wir noch auf der Liste haben. Das mit dem
Apache war halt so eine Sache von wegen
unsere ganze Automatisierung hat das so
drin. Wir machen das jetzt halt mal so. Es
gibt aber mit nginx eine Funktion die
heißt x-Accel-Redirect, die wir dann
nutzen könnten. Mit der man auch noch mal
einige Prozent Performance herausholen
kann. Das steht dann vielleicht noch mal
irgendwann auf dem Plan. Und ja der Moodle
Code hat auch Optimierungspotenzial und
wir planen gerade so ein bisschen dass wir
da rein gucken. Bisschen, ein bisschen
Analyse machen und auch es vielleicht
hinkriegen dass wir jemand haben der den
Moodle Code selber ein bisschen optimiert.
Weil an vielen Stellen kann man halt
irgendwie Server dazu werfen und noch mehr
Server dazu werfen. Wenn die Software halt
an einigen Stellen ab und zu mal hakt,
dann kann man so viele Server haben wie
man will. Ja. Lessons Learned: Eigene
Infrastruktur und eigenes Know-How sind
unersetzbar. Also wir waren ja nicht die
Einzigen und nicht die Ersten bei denen
angefragt wurde das zu machen. Und wir
hatten halt die Infrastruktur da. Und wir
hatten die Leute da die das können und die
das seit einiger Zeit betreiben. Ohne das
wäre es nicht gegangen in der Kürze der
Zeit. Dann das Team. Also das waren alles
Freiwillige. Wir haben niemanden gezwungen
und wir haben auch darauf geachtet dass
alle das freiwillig machen und es war im
Mix genau richtig. Also bei allen
Problemen bei allen Themen, die wir
hatten, war immer irgendwie jemand da, der
gesagt hat, ah ja hatte ich schon mal kann
ich mich drum kümmern. Das war genau
richtig. Und ich glaube, wenn wir ein,
zwei Leute weniger gehabt hätten, hätten
wir sicher irgendwo nen Showstopper
gehabt. Wichtig war auch noch das
selbstorganisierte Team. Das ging einfach
sehr schnell und auf dem kurzen Weg, dass
wir uns einfach zusammen gesetzt haben und
jeder hat halt das gemacht was er was er
gut kann, wo er sich auskennt. Und genauso
die Kommunikation wir waren quasi die
ganze Zeit und auch Tage später noch im
Jitsi in der Videokonferenz. Also ich
glaube wir hatten einen Jitsi Raum der
irgendwie drei Wochen am Stück offen war.
Und man konnte da halt dann auf dem kurzen
Weg einfach mal was sagen wenn es
irgendein Thema gab . Oder mal kurz was
diskutieren. Und ansonsten war da halt
Funkstille und das hat eigentlich ganz gut
funktioniert so. Auch nach außen ist die
Kommunikation sehr wichtig. Wir sind
normalerweise gerade als Forschungsnetz
sehr offen und kommunizieren auch
normalerweise mit technischen Details. Und
es gibt auch immer wieder sehr viel
positives Feedback. Die Leute freuen sich
darüber dass wir da irgendwie auch mal
eine Ansage machen. Also auch Laien, die
dann vielleicht nicht genau verstehen, um
was es da geht. Man muss dann halt noch
mal ein erklärenden Satz zu schreiben. Das
ist nicht immer einfach. Aber die haben
dann schon mal irgendwie ein Verständnis
von, da passiert irgendetwas, da kümmert
sich jemand und da weiß jemand was er tut.
Und Leute die sich auskennen sind
natürlich um Feedback, also um technische
Details immer so, umso dankbarer. Wenn ihr
dann auch ein bisschen Verständnis dafür
kriegen dass da, was da so passiert. Genau
das war es so von mir. Danke fürs Zuhören
Schreibt mir eine Mail. Ich bin nachher
auch noch für das Q&A da und ansonsten
freue ich mich auf die lustige
Pausenmusik. Dankeschön.
Tim: Ja, Sebastian. Vielen Dank für deinen
Vortrag. Das, also absolut krass. Weiß ich
überhaupt nicht wie man das in Worte
fassen soll, was ihr da als Team in kurzer
Zeit auf die Bühne gestellt habt.
Spannende Frage aus dem Chat war
natürlich: Wem habt ihr denn die Server
geklaut? Für wen waren die eigentlich
gedacht? Und Strom kommt aus der
Steckdose? Oder hat ihr so ein großes
Rechenzentrum, dass man da einfach
beliebig hoch skalieren kann?
Sebastian: Ja, die Server haben wir uns
selber geklaut. Das war tatsächlich
geplant für dieses Jahr, also für letztes
Jahr, dass wir die Webhosting Plattform
mal modernisieren und das der Kram eh
rausfliegt, der alte Sun Kram. Wir hatten
eigentlich geplant so ein Container Setup
zu bauen. Da gab es aber irgendwie noch
mal einen Showstopper und wir mussten das
ganze Setup noch mal ein bisschen
überdenken. Und das kam quasi genau
zeitlich dahin, wo wir dann die Server
dastehen hatten, aber noch nicht genau die
Details ausgekaspert hatten und die dann
quasi direkt verwenden konnten. Ja. Zum
Platz: Wir haben wir haben
Rechenzentrumsplatz und das mit dem Strom
ist tatsächlich dann irgendwann auch mal
ein Thema, wenn man so viele Server dann
rein schmeißt. Aber da war es ganz gut,
dass dann irgendwann die Sun Server
rausgekommen sind, weil die brauchen ein
paar kW pro Stück da kann man ein paar
Linux Bleche rein tun.
Tim: Ja. Super. Es kamen noch ein paar
weitere Fragen. Ich guck schon ein
bisschen auf die Uhr . Ich würde mal noch
eine anreißen. Monitort ihr auch das
Netzwerk mit Prometheus oder lasst ihr das
nur auf die Server Dienste los? Wir hatte
ja so ein paar Dashboards gesehen, die
dann hauptsächlich sich auf die Server
bezogen haben.
Sebastian: Ja, wir machen ziemlich viel
mittlerweile mit Prometheus. Also wir
hatten früher so nix aus verschiedenen
Dingen. Also zuletzt hatten wir für
Netzwerk libreNMS groß im Einsatz.
Mittlerweile machen wir sehr viel mit
Prometheus. Weil es sehr flexibel ist,
weil es ja Exporter für alles Mögliche
gibt. Und also auch Netzwerk gehört dazu.
Tim: Ok. Ja vielen Dank. Es waren noch 2,
3 weitere Fragen. Ich würd dir die einfach
dann noch später schicken für deinen
technical Write-Up. Man findet den
Sebastian auch auf Twitter. Er ist auch im
DENOG Twitter Feed entsprechend verlinkt.
Oder ansonsten habt ja auch auf den Slides
seine E-Mail Adresse oder er ist noch im
Chat unterwegs, wo ihr ihn gerne noch
ansprechen könnt. Vielen Dank, Sebastian.
Sehr cooler Vortrag.
Sebastian: Dankeschön.
Untertitel erstellt von c3subtitles.de
im Jahr 2021. Mach mit und hilf uns!