0:00:00.000,0:00:07.666 Tim: Ja servus. Guten Abend zusammen. Ich[br]freue mich, dass wir heute Abend Sebastian 0:00:07.666,0:00:13.088 Neuner bei uns haben. Er arbeitet seit[br]2014 als Netzwerkingenieur bei BelWü - dem 0:00:13.088,0:00:19.297 Landeshochschulnetz in Baden-Württemberg[br]und verbindet damit die Universitäten, 0:00:19.297,0:00:24.117 Hochschulen und die DHBW sowie sonstige[br]wissenschaftliche und öffentliche 0:00:24.117,0:00:29.242 Einrichtungen und Schulen. Sebastian ist[br]dort zuständig für die Planung und Betrieb 0:00:29.242,0:00:33.856 des Backbone Netzes inklusive der[br]optischen Übertragungstechnik IP-Routing, 0:00:33.856,0:00:39.040 Peering, Policies. Aber heute abend erzählt[br]er uns wie sie zu Beginn des Lockdowns 0:00:39.040,0:00:44.925 letztes jahr Moodle für Baden-Württemberg[br]in 72 Stunden gebaut haben. Ich würde 0:00:44.925,0:00:51.756 sagen, Sebastian die Bühne gehört dir.[br]Sebastian: Ja. Dankeschön, Tim. Ja, es 0:00:51.756,0:00:57.868 wird ein bisschen Storytelling jetzt[br]hauptsächlich. Wir haben auch vor noch mal 0:00:57.868,0:01:01.763 ein technischeres Write-up zu machen, wo[br]wir ein bisschen genauer darauf eingehen 0:01:01.763,0:01:05.741 an welchen Rädchen wir noch wie gedreht[br]haben, um das eben ganz performant, so 0:01:05.741,0:01:10.083 performant wie man es eben machen kann, auf[br]die Beine zu kriegen. Aber das ist, soll 0:01:10.083,0:01:14.385 jetzt erst mal darum gehen, wie wir das[br]quasi im März in einer großen Hauruck- 0:01:14.385,0:01:19.740 Aktion gewuppt haben. Kurz zu uns. Wir[br]sind so 25 Leute ungefähr. Der Tim hat das 0:01:19.740,0:01:23.640 meiste gerade schon erzählt. Wir haben[br]eben Leute die sich ums Netz kümmern, aber 0:01:23.640,0:01:26.910 wir haben auch Sys-Admins und Leute die[br]dann eben noch verschiedene Services 0:01:26.910,0:01:33.000 betreuen. Und ja unsere Kernaufgabe ist[br]eben dieses Landeshochschulnetz, hier mit 0:01:33.000,0:01:36.900 einer kleinen Karte zu betreiben . Das[br]Ganze gehört nicht zum Kultusministerium, 0:01:36.900,0:01:43.050 sondern ist nachgeordnet dem Ministerium[br]für Wissenschaft und Kunst. Und ja wir 0:01:43.050,0:01:47.130 bauen und betreiben dieses Netz in enger[br]Absprache und Zusammenarbeit mit den 0:01:47.130,0:01:50.760 Hochschulrechenzentren. Das heißt, da gibt[br]es verschiedene Gremien in denen man dann 0:01:50.760,0:01:55.440 eben guckt, ja wie bei einem Ausbau zum[br]Beispiel oder bei technischen größeren 0:01:55.440,0:02:00.120 Änderungen man eben eine Lösung findet, die[br]technisch für alle gut funktioniert. Wir 0:02:00.120,0:02:05.460 betreiben dafür so dreieinhalbtausend km[br]darkfiber und haben da oben drauf aktive 0:02:05.460,0:02:10.380 DWDM-Systeme, das Ganze in ungefähr 60[br]Knoten. Und ja, wie es der Tim gerade 0:02:10.380,0:02:13.860 schon angesprochen hat, machen, machen wir[br]damit Internet für neun Universitäten, 40 0:02:13.860,0:02:18.930 Hochschulen, aber auch noch für andere[br]Sachen, die da am Ministerium dranhängen. 0:02:18.930,0:02:26.130 Also Museen oder Staatsarchive, aber auch[br]so was wie Studentenwohnheime und dazu 0:02:26.130,0:02:29.550 kommen eben noch Services, die man also[br]klassisch als Netzbetreiber, dann 0:02:29.550,0:02:34.290 vielleicht auch noch irgendwie dabei hat.[br]So was wie DNS eben oder E-Mail, das sind 0:02:34.290,0:02:37.860 gerade Sachen die hauptsächlich von[br]kleinen Hochschulen viel nachgefragt 0:02:37.860,0:02:42.480 werden, die es sich eben, also für die es[br]sich einfach nicht lohnt selber Personal 0:02:42.480,0:02:47.070 und Infrastruktur bereitzustellen für[br]diese Dienste. Und dann kommt auch noch 0:02:47.070,0:02:52.890 Webhosting dazu. Das wird hauptsächlich[br]von Schulen momentan genutzt. Auch schon 0:02:52.890,0:02:57.750 seit vielen Jahren. Und es gibt auch[br]Moodle bei uns von Schulen oder für 0:02:57.750,0:03:02.250 Schulen schon seit einigen Jahren. Das ist[br]also grundsätzlich nichts Neues gewesen. 0:03:02.250,0:03:05.880 Es gibt auch noch Internetanschlüsse für[br]Schulen, da gibt es verschiedene 0:03:05.880,0:03:12.750 Konstruktionen. Und für dieses ganze Ding[br]schießt das Kultusministerium noch bei uns 0:03:12.750,0:03:18.510 Personal dazu und eben auch Mittel. Das[br]heißt, dadurch sind wir größer, können 0:03:18.510,0:03:21.840 flexibler sein. Also man kann sich auch[br]gegenseitig mal aushelfen an manchen 0:03:21.840,0:03:25.620 Stellen hatten wir Know-How im Haus.[br]Dadurch haben wir sehr viel Synergie- 0:03:25.620,0:03:33.810 Effekte und eine hohe Flexibilität. Ja,[br]dann kam Freitag der 13. Wir saßen dann 0:03:33.810,0:03:38.490 abends in unserer Videokonferenz. Weil, man[br]konnte ja nirgends hin. Restaurants hatten 0:03:38.490,0:03:44.550 zu, Kino ging nicht. Das heißt, wir saßen[br]dann irgendwie gelangweilt in unserem 0:03:44.550,0:03:50.700 Jitsi und haben gequatscht und ein Bier[br]getrunken und haben uns überlegt, ja wie 0:03:50.700,0:03:55.050 das jetzt mit den Schulschließungen so[br]ist. Das Kultusministerium hatte da vor 0:03:55.050,0:04:01.620 paar Jahren schon angefangen, eine große[br]Bildungsplattform ja zu beauftragen, die 0:04:01.620,0:04:05.790 sollte Ella heißen, das ganze Projekt lief[br]aber irgendwie nicht so gut. Wir waren da 0:04:05.790,0:04:09.720 am Rande beteiligt, also nur quasi gar[br]nicht beteiligt. Deswegen kann ich euch da 0:04:09.720,0:04:14.280 keine Details geben. Müsst ihr selber[br]googeln. Aber Punkt war jedenfalls: an dem 0:04:14.280,0:04:18.360 Abend war das Ganze nicht wirklich[br]nutzbar. Das heißt, die Schulen mussten 0:04:18.360,0:04:21.360 irgendwie eine Lösung haben. Der erste[br]Schritt war dann, dass das 0:04:21.360,0:04:25.920 Kultusministerium den Schulen erlaubt hat,[br]sich nach eigenem Ermessen , also nach 0:04:25.920,0:04:30.030 nach, ja nach eigenem Wissen und Gewissen[br]sozusagen, sich eine eigene Lösung zu 0:04:30.030,0:04:34.590 suchen. Also eigene Lernplattformen sich[br]irgendwo einzukaufen oder Microsoft Teams 0:04:34.590,0:04:39.510 sich zu nutzen oder sowas. Einfach, damit[br]die schon mal irgendwie eine Möglichkeit 0:04:39.510,0:04:44.370 haben zu agieren. Gleichzeitig wollte das[br]Kultusministerium dafür sorgen, dass alle 0:04:44.370,0:04:49.890 Schulen irgendwie versorgt sind und[br]irgendwie unterstützen. Und unter anderem 0:04:49.890,0:04:53.370 kam auch bei uns eine Anfrage an, ob wir[br]irgendwie unsere Moodle-Plattform und 0:04:53.370,0:04:58.860 Webhosting-Plattform, die wir bisher schon[br]hatten irgendwie hochziehen können auf-, 0:04:58.860,0:05:01.950 ausbauen können und eben den Schulen die[br]jetzt noch nichts haben irgendwie noch was 0:05:01.950,0:05:06.060 bereitstellen können. Und dann haben wir[br]erst gelacht und haben gesagt na ja also 0:05:06.060,0:05:11.612 normalerweise kommt eine Schule einzeln zu[br]uns. Und dann fragen die halt nach einer 0:05:11.612,0:05:16.920 Domain und nem Moodle und kriegen dann[br]noch SSL-Zertifikate. Und in dem Prozess 0:05:16.920,0:05:20.503 passieren halt einige Schritte von Hand.[br]Und normalerweise, also wenn man es arg 0:05:20.503,0:05:24.928 angestrengt hätten, hätten wir vielleicht[br]so 50 bis 100 pro Tag hingekriegt. Und die 0:05:24.928,0:05:29.745 Aufgabe war ja, von Freitag Abend bis Montag[br]soll das quasi laufen. Also haben wir 0:05:29.745,0:05:34.140 irgendwie erst gelacht. Nach dem Motto,[br]wie soll das denn gehen? Und dann kam aber 0:05:34.140,0:05:37.882 der Dennis, unser Kollege und meinte, na ja[br]also wir haben da noch die Server, wir 0:05:37.882,0:05:42.131 wollten ja irgendwie diese Webhosting-[br]Plattform eh neu machen. Und wenn man es 0:05:42.131,0:05:47.072 mit der heißen Nadel strickt und das alles[br]initial irgendwie noch bisschen eng wird, 0:05:47.072,0:05:51.284 aber er hat es durch gerechnet. Da gibt es[br]irgendwie, er hat ein großes Spreadsheet 0:05:51.284,0:05:55.149 gemacht. Das könnte gerade hingehen. Und[br]naja, wir saßen da und hatten genug 0:05:55.149,0:05:59.601 Freiwillige. Wir waren irgendwie[br]motiviert. Wir hatten irgendwie Bock auf 0:05:59.601,0:06:04.350 die Challenge. Und haben uns dann überlegt:[br]okay, wir können das vielleicht machen. 0:06:04.350,0:06:08.343 Aber wollen wir das machen? Also, wenn wir[br]da jetzt zusagen oder jetzt anbieten, dass 0:06:08.343,0:06:11.869 wir da helfen, dann haben wir irgendwie[br]alle ein echt beschissenes Wochenende. Und 0:06:11.869,0:06:15.105 wir haben natürlich ein großes Risiko,[br]dass es am Ende nicht klappt. Und wenn wir 0:06:15.105,0:06:18.064 dann sagen, wir helfen und es verlassen[br]sich Leute drauf und es funktioniert 0:06:18.064,0:06:22.157 nachher nicht, weil es irgendwo[br]Sonntagmittag einen Showstopper gab, dann 0:06:22.157,0:06:27.450 stehen wir irgendwie blöd da. Andererseits,[br]wenn wir jetzt irgendwie sagen hm, ne, hm 0:06:27.450,0:06:32.930 schwierig, machen wir nicht. Wer macht es[br]dann? Also, Kultusministerium hat ja nicht 0:06:32.930,0:06:37.578 nur bei uns angefragt und das hörte sich[br]alles nicht sehr hoffnungsvoll an. Und 0:06:37.578,0:06:42.416 dann haben wir hin und her überlegt, haben[br]gedacht na ja, okay, wir versuchen es. Wir 0:06:42.416,0:06:47.533 bieten mal Hilfe an. Haben dann uns um[br]zehn abends beim Kultusministerium noch 0:06:47.533,0:06:51.422 gemeldet. Haben gesagt, ja also wir würden[br]es versuchen, wir wollen nichts 0:06:51.422,0:06:55.597 versprechen, aber wir holen alles aus dem[br]Keller, was noch da ist und versuchen 0:06:55.597,0:07:00.477 irgendwie Plattformen hochzuziehen. Die[br]Ansage war dann, ja okay also manche Leute 0:07:00.477,0:07:04.533 schlafen jetzt gerade und eine offizielle[br]Entscheidung, also die offizielle 0:07:04.533,0:07:09.098 Beauftragung in aller Förmlichkeit wird[br]frühestens Samstag Vormittag passieren. 0:07:09.098,0:07:14.228 Wir haben dann entschieden, Samstag[br]Vormittag ist uns zu spät. Wir fangen 0:07:14.228,0:07:19.743 direkt an. Ich bin dann ins Rechenzentrum.[br]Ich habe das kürzeste Streichholz gezogen 0:07:19.743,0:07:23.876 sozusagen. Ich wohne am nächsten dran.[br]Habe die Server, die dann quasi schon da 0:07:23.876,0:07:28.884 waren, die aber noch nicht in Benutzung[br]waren, passend verkabelt . Die waren noch 0:07:28.884,0:07:33.305 in anderen Topologie. Nebenher, während ich[br]die Server so nach nach quasi 0:07:33.305,0:07:37.386 eingeschaltet und verkabelt habe, haben[br]die Kollegen dann schon da Systeme drauf 0:07:37.386,0:07:41.610 installiert und die irgendwie vorbereitet.[br]Und die, die Hardware schon mal an den 0:07:41.610,0:07:46.485 Start gekriegt. Wir haben das Projekt dann[br]intern "Ella 3.0" genannt. Und fanden uns 0:07:46.485,0:07:51.657 sehr, sehr witzig. Und so ging es dann ja[br]am Freitag Nacht los. Und die Kollegen 0:07:51.657,0:07:58.142 haben dann quasi noch mal ausgeschlafen[br]und haben sich ein Setup überlegt. Und im 0:07:58.142,0:08:03.273 Prinzip war das halt jetzt nix, nix[br]Besonderes. Wir haben halt ein Webhosting 0:08:03.273,0:08:06.866 Setup gemacht. Das sich irgendwie in[br]unsere bisherige Infrastruktur einfügt. 0:08:06.866,0:08:11.379 Also wir haben jetzt in der Kürze der Zeit[br]nicht großartig noch groß neues Setup 0:08:11.379,0:08:16.227 planen können. Sondern wir haben halt das[br]gebaut, was wir sonst auch haben. Nur mehr 0:08:16.227,0:08:20.964 davon. Haben die Server ans Netz gehängt[br]und an unser all-flash Storage dran 0:08:20.964,0:08:25.844 gehängt. Haben da Linux installiert und[br]Virtualisierung machen wir eben mit 0:08:25.844,0:08:30.613 libvirt und KVM. Und innen drin laufen dann[br]ja einfach linux VMs. Storage haben wir so 0:08:30.613,0:08:36.145 gemacht, dass wir die Storages über[br]Netzwerk auf dem hypervisor gemounted 0:08:36.145,0:08:41.362 haben. Und das wird dann, also da liegen[br]dann disk images rum und die werden als 0:08:41.362,0:08:44.455 block device einfach in die VM[br]reingereicht. Die VM hat ein ganz normales 0:08:44.455,0:08:48.570 Filesystem mit block device. Und kann[br]caching machen, was ganz wichtig ist in 0:08:48.570,0:08:52.579 dem Fall für die Performance. Wir haben[br]dann jeweils in einer VM 50 Moodels drin. 0:08:52.579,0:08:56.980 Also wir mussten uns halt irgendwie eine[br]Aufteilung überlegen und das war so, wo 0:08:56.980,0:09:02.905 wir rausgekommen sind. Und da läuft[br]einfach quasi ein Apache mit 50 vhosts und 0:09:02.905,0:09:08.727 ja php-fpm. Also alles nichts Besonderes.[br]Klassisches Webhosting im Prinzip. Dann 0:09:08.727,0:09:14.235 hatten wir noch extra Server, die hatten[br]RAM im Terabyte Bereich. Und dicke NVMe- 0:09:14.235,0:09:19.208 Raids. Und da haben wir uns gedacht, die[br]sind ja perfekt eigentlich für 0:09:19.208,0:09:23.293 Datenbankserver. Haben da ja[br]Datenbankserver draufgepackt. Und sehr 0:09:23.293,0:09:26.982 viel später festgestellt, dass es ist[br]nicht so eine optimale Idee war. Haben 0:09:26.982,0:09:30.114 dass nachher nochmal bisschen umgestrickt[br]und haben die Datenbanken mit in die VMs 0:09:30.114,0:09:34.320 reingezogen. Aber da komme ich gleich noch[br]mal drauf. Und ja das Moodel kriegen wir 0:09:34.320,0:09:37.782 quasi fertig von Kollegen im[br]Kultusministerium das ist ne 0:09:37.782,0:09:43.072 Basisinstallation, die mit einigen, vielen[br]Plugins gebündelt ist. Wir deployen das 0:09:43.072,0:09:48.480 quasi so fertig, wie es kommt. Am Anfang[br]hatte jedes Moodel nur 20 Gigabyte Disk. 0:09:48.480,0:09:52.530 Das ist ziemlich wenig. Aber für die[br]ersten Tage hat es gehalten und später 0:09:52.530,0:09:56.864 haben wir neben Storage nachgelegt und[br]konnten das Ganze dann ja vergrößern. Wir 0:09:56.864,0:10:00.923 könnten das ganze noch mit Snapshots und[br]Backups ausstatten. Das heißt die ersten 0:10:00.923,0:10:05.463 paar Tage war es wirklich mit ner so[br]heißen Nadel gestrickt, dass es auch keine 0:10:05.463,0:10:10.728 Backups gab. Bis so nach paar Tagen bis[br]ner woche. Caching haben wir anfangs mit 0:10:10.728,0:10:14.345 mcash, memcached probiert. Das lief[br]irgendwie nicht so gut. Hatten aber auch 0:10:14.345,0:10:18.206 keine Zeit wirklich genauer zu debuggen.[br]Es musste schnell gehen. Haben dann APCUc 0:10:18.206,0:10:23.141 ausprobiert. Das kann ein Moodle[br]aktivieren und das funktionierte sehr gut. 0:10:23.141,0:10:28.978 Und ja später im Laufe des Jahres oder[br]Ende des Jahres kam dann irgendwann noch 0:10:28.978,0:10:34.453 Redis für Session Caching dazu. Ja Samstag[br]stand im Prinzip das Setup, wie es 0:10:34.453,0:10:38.948 aussehen soll. Da waren dann ganz viele[br]Baustellen zu tun. Ganz, es ging in ganz 0:10:38.948,0:10:43.160 viele Richtungen gleichzeitig. Also das[br]lief quasi alles parallel. Angefangen bei, 0:10:43.160,0:10:47.638 welche Schulen gibt es überhaupt? Wie[br]heißen die? Wo sind die? Was haben die für 0:10:47.638,0:10:51.749 eine Dienststellen E-Mail Adresse? Da hat[br]das Kultusministerium ein großes 0:10:51.749,0:10:55.214 Spreadsheet gehabt. Wir haben dann das[br]Excel-Sheet in irgend ein sinnvolles 0:10:55.214,0:10:59.416 Dateiformat umgewandelt und haben dann[br]damit weiter gearbeitet. Haben damit quasi 0:10:59.416,0:11:04.395 Ansible befüllt. Haben uns Zugangsdaten[br]für die Moodles also Initial-Admin 0:11:04.395,0:11:07.437 Accounts und Datenbank,[br]Datenbankpasswörter generiert und so 0:11:07.437,0:11:11.922 weiter. Jemand musste sich noch um Storage[br]kümmern. Jemand musste sich noch um 0:11:11.922,0:11:17.180 Netzwerk und IP-Adressen für die ganzen[br]VMs kümmern. Die Moodle Installation 0:11:17.180,0:11:21.310 musste irgendwie automatisiert werden. Wir[br]konnten da auf ziemlich viel zurückgreifen 0:11:21.310,0:11:24.503 was wir hatten, aber der das Ziel war[br]natürlich das muss irgendwie 4000 mal 0:11:24.503,0:11:27.780 laufen ohne dass jemand irgendwo was[br]anfasst. Ohne dass jemand eine Domain 0:11:27.780,0:11:30.988 irgendwo von Hand anlegt oder so weil[br]sonst geht es in der Kürze der Zeit 0:11:30.988,0:11:34.754 einfach nicht. Wir haben dann einfach mal[br]noch kurz paar 1000 Domains hier als 0:11:34.754,0:11:40.318 Subdomain von moodle.belwue.de angelegt.[br]Immer mit der Dienststellenadresse vorne 0:11:40.318,0:11:45.501 dran sozusagen, als primary key. Ja und so[br]musste das dann halt laufen. Für 0:11:45.501,0:11:48.593 Monitoring nutzen wir generell viel[br]Prometheus und Grafana das heitßt, da 0:11:48.593,0:11:52.460 haben wir noch mal eine separate Instanz[br]dazu gestellt die eben auf das Web Cluster 0:11:52.460,0:11:57.545 zugeschnitten war und dann da eben geguckt[br]hat was funktioniert und was funktioniert 0:11:57.545,0:12:02.515 nicht. Sonntag ging es dann im Prinzip so[br]weiter das nahm dann so nach und nach Form 0:12:02.515,0:12:06.805 an aber wir haben dann gegen ganz viele[br]Kleinigkeiten gekämpft. Also sowas wie, 0:12:06.805,0:12:10.207 wenn man 4000 Moodles gleichzeitig[br]installiert und das Ansible holt 0:12:10.207,0:12:14.328 irgendwelche sachen vom git-Server dann[br]fängt der arme git-Server so ein bisschen 0:12:14.328,0:12:17.998 an zu brennen. Das heißt, da mussten wir[br]dass irgendwie in Badges einteilen. 0:12:17.998,0:12:21.476 Gleichzeitig gingen dann irgendwie bei der[br]Installation die Datenbanken kaputt, weil 0:12:21.476,0:12:24.768 es irgendwelche Timeouts gab. Das heißt,[br]man musste dann gucken welche haben nicht 0:12:24.768,0:12:28.712 sauber deployed. Das alles nochmal[br]wegwerfen, alles noch mal von vorne 0:12:28.712,0:12:34.650 machen. SSL-Zertifikate, 4000 Zertifikate[br]irgendwo einzeln beantragen geht natürlich 0:12:34.650,0:12:39.129 auf gar keinen Fall. Wir haben dann[br]überlegt was wir machen.Let's Encrypt 0:12:39.129,0:12:43.171 Zertifikate wäre auch nicht gegangen. Da[br]gibt es Ratelimits. In die wären wir 0:12:43.171,0:12:46.451 reingelaufen. Und was wir dann gemacht[br]haben war, naja Let's Encrypt 0:12:46.451,0:12:49.909 Sternchenzertifikat für die ganze[br]Subdomain erstmal da überall reinpacken, 0:12:49.909,0:12:54.476 passt schon. Kümmern wir uns nächste Woche[br]drum. Also es muss jetzt erstmal irgendwie 0:12:54.476,0:12:59.077 bis Montagfrüh irgendwie laufen. Genau[br]dann irgendwann war Netzwerk fertig. Das 0:12:59.077,0:13:03.112 heißt der Teil, wo ich helfen konnte lief[br]und ich habe dann halt ein bisschen 0:13:03.112,0:13:06.965 angefangen Monitoring Dashboards zu bauen,[br]damit die Kollegen wissen was tut und was 0:13:06.965,0:13:10.857 tut nicht. Und wo gibt es noch zu tun und[br]wo ging was schief. Und eine andere Frage, 0:13:10.857,0:13:14.512 die wir dann noch klären mussten, war, wer[br]macht überhaupt Support für das Ganze? 0:13:14.512,0:13:17.431 Also wir können vielleicht ein bisschen[br]technisch, wenn es irgendwie gar nicht 0:13:17.431,0:13:20.393 funktioniert, können wir natürlich rein[br]gucken und sagen okay da habt ihr 0:13:20.393,0:13:23.938 irgendwie was verkonfiguriert oder so.[br]Also technisch können wir da vielleicht 0:13:23.938,0:13:27.828 Support machen, aber es gibt ja dann[br]nachher noch hunderteLehrer, die dann 0:13:27.828,0:13:32.955 nachher das benutzen müssen und die dann[br]vielleicht irgendwie Probleme damit haben. 0:13:32.955,0:13:37.562 Und den Teil hat dann das Zentrum für[br]Schulentwicklung und Lehrerfortbildung, 0:13:37.562,0:13:41.322 also Lehrerfortbildung BW hat es dann[br]übernommen. Die machen einen wirklich 0:13:41.322,0:13:44.974 guten Job. Die machen da, stellen ganz[br]viele tolle Materialien bereit und machen 0:13:44.974,0:13:49.346 Videokonferenzen mit den Lehrern und[br]zeigen dass denen. Und die haben nachher 0:13:49.346,0:13:54.145 auch Big-Blue-Button hochgezogen.[br]Mittlerweile in einer wahnsinnig riesigen 0:13:54.145,0:14:00.105 Installation mit hunderten Servern mit[br]100000en gleichzeitigen Clients in der 0:14:00.105,0:14:07.121 Videokonferenz. Also wirklich, Hut ab. Am[br]Montag war dann die Deadline. Und wir 0:14:07.121,0:14:13.796 hatten drei 3948 neue Moodles installiert[br]und bis auf 62 Stück waren auch alle 0:14:13.796,0:14:19.665 funktional. Das heißt, sagen wir mal 99%[br]Mission Accomplished. Wir waren riesig 0:14:19.665,0:14:24.682 froh bei den 62 Stück musste man noch mal[br]von Hand angucken. Die hatten noch 0:14:24.682,0:14:28.182 verschiedene Probleme, aber im[br]Wesentlichen lief das Ganze rund. Und dann 0:14:28.182,0:14:32.704 hatten wir noch wie gesagt vorher schon[br]lange Moodle und das waren so 1100 0:14:32.704,0:14:38.627 Bestands Moodle. Das heißt so knappe 5000[br]Moodle hatten wir dann. Das neue 0:14:38.627,0:14:43.781 Deployment war initial, ja so was halt da[br]war und die Woche über und die nächsten 0:14:43.781,0:14:48.203 Wochen über kam dann immer mehr und mehr[br]Hardware dazu. Aber das war jetzt mal so 0:14:48.203,0:14:52.407 der Stand vom Montag. Außerdem war der[br]Stand, dass ein paar Leute irgendwie echt 0:14:52.407,0:14:56.525 dringend Schlaf gebraucht haben. Ja und so[br]fing unsere Arbeitswoche am Montag dann 0:14:56.525,0:15:00.843 an. Und Dienstag haben wir dann gespannt[br]auf die Graphen geguckt. Das war der erste 0:15:00.843,0:15:04.694 Tag der Schulschließungen und auf dem[br]neuen Cluster passierte irgendwie nix. Wir 0:15:04.694,0:15:08.330 haben erst gegrübelt und irgendwann wurde[br]uns dann klar naja ok klar die haben jetzt 0:15:08.330,0:15:11.030 erstmal ihre Admin Accounts. Die müssen[br]jetzt erst mal das ganze Kollegium mit 0:15:11.030,0:15:14.510 Accounts versorgen und dann die Schüler.[br]Und müssen sich vielleicht noch 0:15:14.510,0:15:19.010 einarbeiten und Material hochladen und so.[br]Und die folgenden Tage wurde es auch so 0:15:19.010,0:15:22.460 nach und nach ein bisschen mehr, aber am[br]Anfang war nicht so viel los. Das Problem 0:15:22.460,0:15:26.870 waren jetzt aber die Moodles von den[br]Bestandskunden. Weil die hatten Accounts. 0:15:26.870,0:15:30.260 Die wussten wie es funktioniert. Die sind[br]Mittwo.. Dienstag einfach zu Hause 0:15:30.260,0:15:35.210 geblieben. Haben ihren Laptop aufgeklappt[br]und konnten sofort voll einsteigen. Und 0:15:35.210,0:15:37.970 damit hatten hatten wir natürlich auch[br]gerechnet. Wir haben dafür gesorgt dass 0:15:37.970,0:15:43.955 überall genug - dachten wir - genug Platz[br]da ist. Also irgendwie Lastfaktor 5 wäre 0:15:43.955,0:15:47.300 irgendwie noch Luft gewesen. Wir haben da[br]irgendwie reingeguckt, da war nicht so 0:15:47.300,0:15:49.880 viel los. Und wir dachten ja die benutzten[br]die, also hatten die ja vorher auch schon 0:15:49.880,0:15:55.510 benutzt. So schlimm wird es nicht werden.[br]Aber die Server haben dann tatsächlich am 0:15:55.510,0:16:00.040 Mittwoch glaube ich die 20-fache Last wie[br]sonst gesehen. Und da waren wir dann 0:16:00.040,0:16:04.000 schwer beschäftigt damit mehr Ressourcen[br]zuzuteilen. Die VMs zu vergrößern. Mehr 0:16:04.000,0:16:08.530 Hardware dazu zu bauen. Neuere Hardware[br]dazu zu bauen. Also Teile von dem alten 0:16:08.530,0:16:13.000 Webhosting liefen eben noch auf ein paar[br]wenigen Sun-Servern, die noch von früher 0:16:13.000,0:16:16.600 übrig waren. Die haben wir dann durch[br]Linux ersetzt, so schnell wie es geht. 0:16:16.600,0:16:20.500 Kollege hat irgendwie noch aus[br]Einzelteilen, die im Lager waren nochmal 0:16:20.500,0:16:23.170 einen funktionierenden Server[br]zusammengebaut und natürlich neue 0:16:23.170,0:16:28.150 bestellt. Und nachdem wir dann irgendwann[br]die ganzen VMs groß genug vergrößert 0:16:28.150,0:16:30.820 hatten und die alle schön, auf die, auf[br]die Server die wir hatten, verteilt 0:16:30.820,0:16:34.480 hatten, hat es auch einigermaßen[br]funktioniert. Das heißt die ersten paar 0:16:34.480,0:16:38.380 tage war es irgendwie echt blöd und so[br]nach und nach lief's für die 0:16:38.380,0:16:42.220 Bestandskunden dann auch immer besser und[br]ja also dann nach ein bis zwei Wochen 0:16:42.220,0:16:46.630 lief's eigentlich relativ rund. Hier habe[br]ich noch so 'nen kleinen Screenshot von 0:16:46.630,0:16:51.460 einem Monitoring von so'm Bestandsmoodle.[br]"For all resources, whatever it is, you 0:16:51.460,0:16:58.000 need more." Man sieht da, ich hab das[br]schon mal, in dem CPU-Graphen unten links 0:16:58.000,0:17:03.040 einen kleinen Aussetzer, da wurde die VM[br]schon mal vergrößert, das war, glaube ich, 0:17:03.040,0:17:07.000 der Sonntag, da war schon relativ viel[br]Last drauf, weil die Lehrer dann 0:17:07.000,0:17:13.120 angefangen haben, da Sachen hochzuladen[br]und, ich glaub', der Montag war es und das 0:17:13.120,0:17:15.550 hat dann aber auch am Mittwoch wieder[br]nicht mehr gereicht, das heißt,am Mittwoch 0:17:15.550,0:17:20.410 wurde die VM noch mal verdoppelt und also[br]kurz nachdem dieser Screenshot aufgenommen 0:17:20.410,0:17:25.150 wurde, lief's dann auch da rund. Wie[br]gesagt, eine kurze Zeit lang war es echt 0:17:25.150,0:17:29.820 schlecht, aber dann nach ein paar Tagen[br]hatten wir das im Griff. Ja, die folgenden 0:17:29.820,0:17:35.460 zwei Wochen da kam dann immer mehr Last[br]auf das neue Cluster drauf und da haben 0:17:35.460,0:17:38.220 dann bemerkt, dass die zwei großen dicken[br]Datenbankserver langsam zum Problem 0:17:38.220,0:17:42.570 werden. Konkret sind wir hier in[br]Connection-Limits reingelaufen und egal 0:17:42.570,0:17:46.590 wie groß man die gemacht hat, die wurden[br]immer gehittet und vor Allem auch mit 0:17:46.590,0:17:51.000 stale Connections, also diese Moodles[br]machen einen Haufen PHP-Cronjobs, machen 0:17:51.000,0:17:56.010 da ganz viele Sachen und es passiert immer[br]wieder, dass mal was in Timeouts läuft und 0:17:56.010,0:18:01.020 dann bleiben da einfach Datenbank-[br]Connections hängen und ja das verstopft 0:18:01.020,0:18:03.840 dann irgendwann nach und nach die[br]Datenbank. Wir haben dann, wie gesagt, mit 0:18:03.840,0:18:06.870 Parameter-Tuning einiges machen können,[br]aber irgendwann ging's halt nicht mehr so 0:18:06.870,0:18:11.340 gut weiter und wir haben dann beschlossen[br]die Datenbank-Server in die virtuellen 0:18:11.340,0:18:15.090 Maschinen mit reinzuziehen einfach damit[br]wir mehr DB-Server haben und dass das 0:18:15.090,0:18:20.490 besser verteilt. Wir haben dann auch ein[br]bisschen DoS gesehen und ja wirklich, wir 0:18:20.490,0:18:25.410 können unterscheiden von jemandem drückt[br]F5 zu einem NTP-Amplification-DDoS, da 0:18:25.410,0:18:29.460 gibt es immer wieder ein bisschen[br]schnippische Kommentare. Können wir schon 0:18:29.460,0:18:33.210 unterscheiden. Das meiste war Kleinvieh,[br]haben wir irgendwie gar nicht groß bemerkt 0:18:33.210,0:18:37.890 oder uns nicht dran gestört. Also[br]Amplification-Geschichten, die sind easy 0:18:37.890,0:18:42.810 weggefiltert. Es gab aber auch dann ab un[br]d zu mal Application-Layer-DDoS, wo jemand 0:18:42.810,0:18:46.590 tatsächlich ein bisschen tiefer im System[br]Last gemacht hat und auch an den Filtern 0:18:46.590,0:18:50.730 vorbeikam, das war ein bisschen ätzend,[br]kam aber zum Glück sehr selten nur vor 0:18:53.460,0:18:59.370 Feedback gab es vor allem von den von der[br]Presse dann zuerst also diese 100 ich sage 0:18:59.370,0:19:02.460 mal so Größenordnung 100 Moodles, die[br]tatsächlich Probleme hatten, wegen 0:19:02.460,0:19:06.360 Überlastung die haben sehr viel Medienecho[br]bekommen. Das war auch ein bisschen 0:19:06.360,0:19:09.870 schade, dass ausgerechnet hier die[br]Bestandskunden, die es schon lange benutzt 0:19:09.870,0:19:14.070 hatten und sich damit auskannten Probleme[br]hatten, das hat sehr viel negatives 0:19:14.070,0:19:17.130 Medienecho bekommen. 'n bisschen unfair[br]war vielleicht, dass dann irgendwie zwei 0:19:17.130,0:19:20.790 Wochen später immer noch die DPA-Meldung[br]von zwei Wochen vorher ge-copy-pasted war, 0:19:20.790,0:19:26.340 wo es aber schon lange wieder im Griff[br]war. Die paar tausend Instanzen, die gut 0:19:26.340,0:19:31.710 funktioniert haben, die haben nicht so[br]interessiert. Was cool war, dass vom 0:19:31.710,0:19:35.910 Kultusministerium dann am ende für uns[br]einzeln und persönlich Dankesschreiben 0:19:35.910,0:19:41.280 kamen, wo man sich in aller Förmlichkeit[br]bedankt hat, das hat uns sehr gefreut an 0:19:41.280,0:19:44.520 diesem Wochenende auch in den Tagen danach[br]haben uns schon das ein oder andere Mal 0:19:44.520,0:19:49.230 gefragt, warum wir uns den Mist angetan[br]haben und das hat dann richtig gut getan. 0:19:49.230,0:19:53.820 Wir haben auch sehr viel Dank und Lob von[br]den Schulen bekommen, also E-Mails aber 0:19:53.820,0:19:59.280 sogar auch Postkarten und sogar von ein[br]paar Schulen Pakete voll mit Schokolade, 0:19:59.280,0:20:04.020 was uns sehr freut. Schokolade, wenn sie[br]bei uns vom Tisch fällt, berührt den Boden 0:20:04.020,0:20:09.240 nicht. Die muss sofort weg. Ja, also das[br]hat uns riesig gefreut. Momentan ist der 0:20:09.240,0:20:12.240 Status so: Ich habe hier noch mal ein[br]Bild, dass ist irgend so ein Teil von der 0:20:12.240,0:20:17.370 alten Webhosting-Plattform, die ist über[br]den Sommer rausgeflogen jetzt und wurde 0:20:17.370,0:20:24.600 durch modernere, platz- und[br]stromsparendere Dinge ersetzt. Wir haben 0:20:24.600,0:20:28.740 technischen austausch gehabt mit den[br]Kollegen in Berlin und im Saarland und in 0:20:28.740,0:20:33.150 Rheinland-Pfalz. Vor allem die Kollegen in[br]Berlin konnten einiges weiter helfen mit 0:20:33.150,0:20:39.150 schlauen Datenbank-Indizes und Patches im[br]Code, der das ganze noch ordentlich nach 0:20:39.150,0:20:44.790 vorne gebracht hat, großen Dank an der[br]Stelle! An den Moodles haben wir so übers 0:20:44.790,0:20:46.680 Jahr noch einige Sachen verbessert, also[br]wir 0:20:46.680,0:20:50.850 haben die Redis-Session-Cache dazu gebaut,[br]es gibt eine Funktion, die YUI-Combo- 0:20:50.850,0:20:54.210 loading heißt. Wie gesagt, wir machen da[br]vielleicht noch ein Write-Up, weil es doch 0:20:54.210,0:20:57.030 eine große Community gibt die Moodle[br]einsetzt sind die sich dafür interessiert. 0:20:57.550,0:21:02.890 Combo-loading so ein Ding das Javascript[br]zusammenfasst und zusammen ausliefert. Das 0:21:02.890,0:21:06.940 macht sehr viel weniger Requests auf dem[br]Webserver und die kann man auch gut cachen 0:21:06.940,0:21:12.220 dann. Und mehr php-worker da haben wir ein[br]bisschen dran getuned, mehr Datenbanken 0:21:12.220,0:21:16.390 habe ich gerade schon erwähnt. Wir haben[br]mittlerweile mehrere Lagen DDOS-Protection 0:21:16.390,0:21:22.180 und nächste Woche oder so kommt dann auch[br]noch mal ein bisschen mehr Storage dazu. 0:21:22.180,0:21:26.350 Das wird auch irgendwann mal voll.[br]Deswegen sind wir da gerade auch dabei das 0:21:26.350,0:21:31.300 Storage zu upgraden. Ja so ein To-Do dass[br]wir noch auf der Liste haben. Das mit dem 0:21:31.300,0:21:34.870 Apache war halt so eine Sache von wegen[br]unsere ganze Automatisierung hat das so 0:21:34.870,0:21:40.300 drin. Wir machen das jetzt halt mal so. Es[br]gibt aber mit nginx eine Funktion die 0:21:40.300,0:21:44.110 heißt x-Accel-Redirect, die wir dann[br]nutzen könnten. Mit der man auch noch mal 0:21:44.110,0:21:46.930 einige Prozent Performance herausholen[br]kann. Das steht dann vielleicht noch mal 0:21:46.930,0:21:52.900 irgendwann auf dem Plan. Und ja der Moodle[br]Code hat auch Optimierungspotenzial und 0:21:52.900,0:21:56.320 wir planen gerade so ein bisschen dass wir[br]da rein gucken. Bisschen, ein bisschen 0:21:56.320,0:22:01.630 Analyse machen und auch es vielleicht[br]hinkriegen dass wir jemand haben der den 0:22:01.630,0:22:05.020 Moodle Code selber ein bisschen optimiert.[br]Weil an vielen Stellen kann man halt 0:22:05.020,0:22:09.040 irgendwie Server dazu werfen und noch mehr[br]Server dazu werfen. Wenn die Software halt 0:22:09.040,0:22:12.220 an einigen Stellen ab und zu mal hakt,[br]dann kann man so viele Server haben wie 0:22:12.220,0:22:18.370 man will. Ja. Lessons Learned: Eigene[br]Infrastruktur und eigenes Know-How sind 0:22:19.090,0:22:22.870 unersetzbar. Also wir waren ja nicht die[br]Einzigen und nicht die Ersten bei denen 0:22:22.870,0:22:27.040 angefragt wurde das zu machen. Und wir[br]hatten halt die Infrastruktur da. Und wir 0:22:27.040,0:22:31.900 hatten die Leute da die das können und die[br]das seit einiger Zeit betreiben. Ohne das 0:22:31.900,0:22:38.140 wäre es nicht gegangen in der Kürze der[br]Zeit. Dann das Team. Also das waren alles 0:22:38.140,0:22:42.910 Freiwillige. Wir haben niemanden gezwungen[br]und wir haben auch darauf geachtet dass 0:22:42.910,0:22:47.050 alle das freiwillig machen und es war im[br]Mix genau richtig. Also bei allen 0:22:47.050,0:22:50.380 Problemen bei allen Themen, die wir[br]hatten, war immer irgendwie jemand da, der 0:22:50.380,0:22:54.010 gesagt hat, ah ja hatte ich schon mal kann[br]ich mich drum kümmern. Das war genau 0:22:54.010,0:22:56.350 richtig. Und ich glaube, wenn wir ein,[br]zwei Leute weniger gehabt hätten, hätten 0:22:56.350,0:23:00.640 wir sicher irgendwo nen Showstopper[br]gehabt. Wichtig war auch noch das 0:23:00.640,0:23:05.830 selbstorganisierte Team. Das ging einfach[br]sehr schnell und auf dem kurzen Weg, dass 0:23:05.830,0:23:08.950 wir uns einfach zusammen gesetzt haben und[br]jeder hat halt das gemacht was er was er 0:23:08.950,0:23:14.370 gut kann, wo er sich auskennt. Und genauso[br]die Kommunikation wir waren quasi die 0:23:14.370,0:23:19.140 ganze Zeit und auch Tage später noch im[br]Jitsi in der Videokonferenz. Also ich 0:23:19.140,0:23:21.360 glaube wir hatten einen Jitsi Raum der[br]irgendwie drei Wochen am Stück offen war. 0:23:21.360,0:23:26.760 Und man konnte da halt dann auf dem kurzen[br]Weg einfach mal was sagen wenn es 0:23:26.760,0:23:29.970 irgendein Thema gab . Oder mal kurz was[br]diskutieren. Und ansonsten war da halt 0:23:29.970,0:23:35.550 Funkstille und das hat eigentlich ganz gut[br]funktioniert so. Auch nach außen ist die 0:23:35.550,0:23:38.910 Kommunikation sehr wichtig. Wir sind[br]normalerweise gerade als Forschungsnetz 0:23:38.910,0:23:43.980 sehr offen und kommunizieren auch[br]normalerweise mit technischen Details. Und 0:23:43.980,0:23:46.650 es gibt auch immer wieder sehr viel[br]positives Feedback. Die Leute freuen sich 0:23:46.650,0:23:51.060 darüber dass wir da irgendwie auch mal[br]eine Ansage machen. Also auch Laien, die 0:23:51.060,0:23:53.910 dann vielleicht nicht genau verstehen, um[br]was es da geht. Man muss dann halt noch 0:23:53.910,0:23:58.230 mal ein erklärenden Satz zu schreiben. Das[br]ist nicht immer einfach. Aber die haben 0:23:58.230,0:24:00.930 dann schon mal irgendwie ein Verständnis[br]von, da passiert irgendetwas, da kümmert 0:24:00.930,0:24:04.620 sich jemand und da weiß jemand was er tut.[br]Und Leute die sich auskennen sind 0:24:04.620,0:24:09.390 natürlich um Feedback, also um technische[br]Details immer so, umso dankbarer. Wenn ihr 0:24:09.390,0:24:13.890 dann auch ein bisschen Verständnis dafür[br]kriegen dass da, was da so passiert. Genau 0:24:13.890,0:24:19.440 das war es so von mir. Danke fürs Zuhören[br]Schreibt mir eine Mail. Ich bin nachher 0:24:19.440,0:24:22.320 auch noch für das Q&A da und ansonsten[br]freue ich mich auf die lustige 0:24:22.320,0:24:30.770 Pausenmusik. Dankeschön.[br]Tim: Ja, Sebastian. Vielen Dank für deinen 0:24:30.770,0:24:36.260 Vortrag. Das, also absolut krass. Weiß ich[br]überhaupt nicht wie man das in Worte 0:24:36.260,0:24:41.360 fassen soll, was ihr da als Team in kurzer[br]Zeit auf die Bühne gestellt habt. 0:24:41.360,0:24:45.500 Spannende Frage aus dem Chat war[br]natürlich: Wem habt ihr denn die Server 0:24:45.500,0:24:49.580 geklaut? Für wen waren die eigentlich[br]gedacht? Und Strom kommt aus der 0:24:49.580,0:24:52.400 Steckdose? Oder hat ihr so ein großes[br]Rechenzentrum, dass man da einfach 0:24:52.400,0:24:57.920 beliebig hoch skalieren kann?[br]Sebastian: Ja, die Server haben wir uns 0:24:57.920,0:25:01.280 selber geklaut. Das war tatsächlich[br]geplant für dieses Jahr, also für letztes 0:25:01.280,0:25:04.550 Jahr, dass wir die Webhosting Plattform[br]mal modernisieren und das der Kram eh 0:25:04.550,0:25:10.310 rausfliegt, der alte Sun Kram. Wir hatten[br]eigentlich geplant so ein Container Setup 0:25:10.310,0:25:13.640 zu bauen. Da gab es aber irgendwie noch[br]mal einen Showstopper und wir mussten das 0:25:13.640,0:25:16.970 ganze Setup noch mal ein bisschen[br]überdenken. Und das kam quasi genau 0:25:16.970,0:25:21.890 zeitlich dahin, wo wir dann die Server[br]dastehen hatten, aber noch nicht genau die 0:25:21.890,0:25:26.870 Details ausgekaspert hatten und die dann[br]quasi direkt verwenden konnten. Ja. Zum 0:25:26.870,0:25:32.210 Platz: Wir haben wir haben[br]Rechenzentrumsplatz und das mit dem Strom 0:25:32.210,0:25:35.360 ist tatsächlich dann irgendwann auch mal[br]ein Thema, wenn man so viele Server dann 0:25:35.360,0:25:39.050 rein schmeißt. Aber da war es ganz gut,[br]dass dann irgendwann die Sun Server 0:25:39.050,0:25:42.140 rausgekommen sind, weil die brauchen ein[br]paar kW pro Stück da kann man ein paar 0:25:42.140,0:25:49.400 Linux Bleche rein tun.[br]Tim: Ja. Super. Es kamen noch ein paar 0:25:49.400,0:25:54.470 weitere Fragen. Ich guck schon ein[br]bisschen auf die Uhr . Ich würde mal noch 0:25:54.470,0:25:58.880 eine anreißen. Monitort ihr auch das[br]Netzwerk mit Prometheus oder lasst ihr das 0:25:58.880,0:26:02.600 nur auf die Server Dienste los? Wir hatte[br]ja so ein paar Dashboards gesehen, die 0:26:02.600,0:26:05.300 dann hauptsächlich sich auf die Server[br]bezogen haben. 0:26:05.300,0:26:10.692 Sebastian: Ja, wir machen ziemlich viel[br]mittlerweile mit Prometheus. Also wir 0:26:10.692,0:26:14.327 hatten früher so nix aus verschiedenen[br]Dingen. Also zuletzt hatten wir für 0:26:14.327,0:26:17.995 Netzwerk libreNMS groß im Einsatz.[br]Mittlerweile machen wir sehr viel mit 0:26:17.995,0:26:22.606 Prometheus. Weil es sehr flexibel ist,[br]weil es ja Exporter für alles Mögliche 0:26:22.606,0:26:29.284 gibt. Und also auch Netzwerk gehört dazu.[br]Tim: Ok. Ja vielen Dank. Es waren noch 2, 0:26:29.284,0:26:36.011 3 weitere Fragen. Ich würd dir die einfach[br]dann noch später schicken für deinen 0:26:36.011,0:26:41.345 technical Write-Up. Man findet den[br]Sebastian auch auf Twitter. Er ist auch im 0:26:41.345,0:26:45.740 DENOG Twitter Feed entsprechend verlinkt.[br]Oder ansonsten habt ja auch auf den Slides 0:26:45.740,0:26:49.688 seine E-Mail Adresse oder er ist noch im[br]Chat unterwegs, wo ihr ihn gerne noch 0:26:49.688,0:26:53.298 ansprechen könnt. Vielen Dank, Sebastian.[br]Sehr cooler Vortrag. 0:26:53.298,0:26:54.650 Sebastian: Dankeschön. 0:26:54.650,0:26:57.000 Untertitel erstellt von c3subtitles.de[br]im Jahr 2021. Mach mit und hilf uns!