0:00:00.000,0:00:15.820 Wikipaka Intro Musik 0:00:15.820,0:00:22.770 F: Hallo und willkommen zu meinem Talk, wie[br]man zum System Ingenieur wird. Der Talk 0:00:22.770,0:00:27.810 basiert auf der Erkenntnis, dass große[br]Teile der Infrastruktur, die wir heute 0:00:27.810,0:00:33.840 haben, das World Wide Web, die Cloud und[br]Internet of Things und alles auf Open- 0:00:33.840,0:00:39.000 Source-Software basieren. Insofern ist es[br]absolut möglich, sich die Kenntnisse, 0:00:39.000,0:00:43.830 mit der man solche Infrastruktur betreibt,[br]zu Hause durch Basteln am Computer 0:00:43.830,0:00:50.400 beizubringen. Der Talk ist zwei Teilen:[br]Zuerst will ich euch erzählen, warum ich 0:00:50.400,0:00:56.910 denke, dass man System Ingenieur werden[br]will. Und der zweite Teil ist, wie ich 0:00:56.910,0:01:00.270 denke oder wie ich vorschlage, dass man[br]das angeht, wie man zum System Ingenieur 0:01:00.270,0:01:09.000 wird, generell der Pfad dahin. Zur[br]Begriffsklärung. Erstens, wenn ich sage 0:01:09.000,0:01:13.530 System Ingenieur, dann meine ich auch[br]immer System Ingenieurin. Wie im regulären 0:01:13.530,0:01:17.400 Ausdruck oben im Titel angedeutet. Aber[br]ich werde wahrscheinlich trotzdem den Talk 0:01:17.400,0:01:22.050 über weiter System Ingenieur sagen. Aber[br]bitte fühlt euch doch alle angesprochen 0:01:22.050,0:01:29.490 dabei. Wikipedia sagt: Der System[br]Ingenieur ist für die Analyse der 0:01:29.490,0:01:33.210 Kundenanforderungen, der Architektur und[br]des Designs von komplexen integrierten 0:01:33.210,0:01:39.270 Systemen verantwortlich. Das klingt jetzt[br]erstmal relativ langweilig, aber was ich mit 0:01:39.270,0:01:45.750 dem Wort meine, der Bezeichnung, ist ein System[br]Ingenieur baut und betreibt Infrastruktur. 0:01:45.750,0:01:53.160 D.h. Netzwerke, also Internet, WiFi, VPN-[br]Tunnel und sowas. Und er betreibt Dienste, 0:01:53.160,0:01:58.560 also z.B. Mail-Server oder Webserver,[br]Datenbankserver oder Chat-Server, all 0:01:58.560,0:02:04.380 dieses. Und das erfordert natürlich auch[br]immer, die darunterliegende Hardware zu 0:02:04.380,0:02:09.180 betreiben. Es gibt auch andere Worte:[br]Systemadministrator, Systemoperator, 0:02:09.180,0:02:13.410 Systemarchitect. Das ist aber zumindest,[br]was diesen Talk angeht, eigentlich alles 0:02:13.410,0:02:21.100 erstmal genau dasselbe. Mein Name ist[br]Folkert und ich bin Systemingenieur, hab 0:02:21.100,0:02:26.849 lange Zeit in Hongkong gewohnt, jetzt in[br]Berlin und hab in meinem Leben schon ne 0:02:26.849,0:02:34.048 ganze Menge Infrastruktur mit aufgebaut:[br]Webportale, Payment Processing, Dienste 0:02:34.048,0:02:39.721 wie Kreditkartenabrechnung und sowas,[br]Musikfestival, für Musikfestivals hab ich 0:02:39.721,0:02:44.335 Netzwerke gebaut. Hier rechts im Bild[br]sieht man mich mit 800 Meter 0:02:44.335,0:02:49.677 Glasfaserkabel auf den Schultern. Das hat[br]sehr viel Spaß gemacht. Und im Augenblick 0:02:49.677,0:02:54.435 arbeite ich in der Bio-IT-Branche,[br]Genforschung, Gentechnik. Die brauchen 0:02:54.435,0:03:02.735 auch erstaunlich viel Infrastruktur dort.[br]Zum Teil 1: Warum man System Ingenieur 0:03:02.735,0:03:08.654 werden will? Meiner Meinung nach alles[br]gibt's vier gute Gründe dafür. Es 0:03:08.654,0:03:15.638 erschafft eine bestimmte Jobsicherheit, es[br]gibt extrem viel Autonomie. Es hilft 0:03:15.638,0:03:23.370 einem, die Daten zu schützen und es hat[br]eine bestimmte ethische Komponente. Zur 0:03:23.370,0:03:30.685 Jobsicherheit. Es gibt sehr viele Computer[br]mittlerweile, überall auf der Welt. Und es 0:03:30.685,0:03:37.051 gibt sehr viele Menschen, die wollen, dass[br]diese Computer bestimmte Dinge tun. Aber 0:03:37.051,0:03:41.242 die Menschen können meistens den Computern[br]nicht selber genau sagen, was genau sie 0:03:41.242,0:03:47.884 denn von ihnen wollen. Das heißt, es[br]werden immer Menschen gebraucht, die das 0:03:47.884,0:03:53.075 übersetzen. Es wird immer, solange es[br]Computer gibt und überall wo es Computer 0:03:53.075,0:03:59.075 gibt, wird es jemanden geben, der gerne[br]hätte, das diese Computer bestimmte Sachen 0:03:59.075,0:04:05.126 machen, aber nicht genau weiß, wie er das[br]den Computern sagen kann. Und da kommt 0:04:05.126,0:04:09.631 halt der System Ingenieur ins Spiel. Das[br]ist genau die Rolle, die Position, in der 0:04:09.631,0:04:15.574 man sich da findet. Das heißt, solange es[br]Computer gibt und überall, wo es Computer 0:04:15.574,0:04:21.805 gibt, ist man in einer ganz guten[br]Position, wenn man der Lage ist, diese 0:04:21.805,0:04:26.282 menschlichen Anforderungen zu übersetzen,[br]den Computern zu sagen, was sie zu machen 0:04:26.282,0:04:33.253 haben. Der zweite Teil, warum man System[br]Ingenieur werden will, ist die Autonomie 0:04:33.253,0:04:38.145 ein ganz wichtiger Punkt. Egal was man[br]jetzt von Bitcoin oder Wikileaks oder Silk 0:04:38.145,0:04:46.074 Road hält, aber: Diese Services haben oder[br]sind noch dabei, die Welt zu verändern. 0:04:46.074,0:04:50.778 Die haben ganz klar messbare Effekte auf[br]die Gesellschaft und auf die Welt um uns 0:04:50.778,0:04:57.635 herum. Und diese Netze und Dienste[br]erfordern Infrastruktur. Auf irgendwelchen 0:04:57.635,0:05:01.313 Computern müssen die Dienste ja laufen.[br]Diese Infrastruktur erzeugt ein 0:05:01.313,0:05:05.869 Abhängigkeit. Wenn ein Dienst auf Amazon[br]läuft oder auf Google, dann ist der 0:05:05.869,0:05:10.756 Betreiber dieses Dienstes von Amazon oder[br]Google abhängig. Das heißt, man kann halt 0:05:10.756,0:05:15.998 bestimmte Sachen nicht machen, wenn[br]Amazon/Google das so nicht wollen, weil 0:05:15.998,0:05:19.792 man in Konkurrenz zu denen steht oder[br]vielleicht politisch gegen die 0:05:19.792,0:05:26.068 argumentieren will oder so.. Wenn man[br]seine eigene Infrastruktur hat, schafft 0:05:26.068,0:05:30.269 das Unabhängigkeit, dann kannst du erstmal[br]machen, was du willst. Du bist nicht 0:05:30.269,0:05:35.635 direkt von nem Infrastruktur Betreiber[br]abhängig. Und je nachdem, zu welchem Level 0:05:35.635,0:05:39.705 man das führt, wie viel der eigenen[br]Infrastruktur man selber betreibt, kann 0:05:39.705,0:05:44.630 man immer noch ein erstaunliches Maß an[br]Unabhängigkeit erreichen. Und das ist 0:05:44.630,0:05:50.377 schon ein erstaunlicher und erstaunlich[br]wichtiger Aspekt. Genauso wichtig ist der 0:05:50.377,0:05:56.807 Datenschutz. Alle Netzwerkdienste erzeugen[br]Nutzerdaten, per Definition. Der Schutz 0:05:56.807,0:06:01.237 dieser Daten, die Vertraulichkeit, dass[br]niemand die Daten sieht, der nicht soll, 0:06:01.237,0:06:06.717 erfordert, dass du der Infrastruktur[br]vertraust, auf der die Dienste laufen. Und 0:06:06.717,0:06:10.965 damit du deiner Infrastruktur vertrauen[br]kannst, musst du den Menschen vertrauen, 0:06:10.965,0:06:17.057 die den Zugang zu den Maschinen haben.[br]Damit fängt das alles an. Wer physischen 0:06:17.057,0:06:21.624 Zugang zu einer Maschine hat, hat[br]wahrscheinlich auch Zugang zu den Daten, 0:06:21.624,0:06:24.803 man kann dann noch mit Krypto ein bisschen[br]was dagegen machen und so. Aber 0:06:24.803,0:06:29.941 schlussendlich kannst du einem System nur[br]vertrauen, wenn du das selber aufgesetzt 0:06:29.941,0:06:34.182 hast. Das heißt, es muss ein System sein,[br]das du schon mal angefasst hast, wo nur 0:06:34.182,0:06:38.002 du physisch oder nur deine Vertrauten[br]physischen Zugang zu haben und nicht 0:06:38.002,0:06:46.676 irgendein Cloudserver. Ansonsten ist das[br]mit dem Datenschutz schwer. Und der 0:06:46.676,0:06:51.755 vielleicht wichtigste Punkt: Es gibt eine[br]ethische Dimension, weswegen bestimmte 0:06:51.755,0:06:57.150 Leute System Ingenieur werden sollten.[br]Jedes System betrifft direkt oder indirekt 0:06:57.150,0:07:01.999 Menschen. Das kann sein, dass die Menschen[br]direkt den Service nutzen, weil es halt 0:07:01.999,0:07:06.210 Gmail ist oder Facebook und der Menschen[br]direkt damit interagieren. Aber auch 0:07:06.210,0:07:11.128 Systeme, die jetzt für die[br]Supermarktbelieferung oder den Bus- 0:07:11.128,0:07:15.676 Fahrplan zuständig sind, haben direkte[br]oder indirekte Auswirkungen auf die 0:07:15.676,0:07:20.889 Gesellschaft und auf Menschen um uns[br]herum. Insofern ist da eine große 0:07:20.889,0:07:28.607 Verantwortung, diese Systeme zu betreiben,[br]je nach System. Und kein System ist 0:07:28.607,0:07:33.015 ethisch komplett neutral. Systeme sind[br]immer Ausdruck von bestimmten Willen, von 0:07:33.015,0:07:39.571 Menschen, die irgendwas erreichen wollen,[br]bestimmte Ziele haben. Diese Ziele sind 0:07:39.571,0:07:45.894 entweder gut oder schlecht oder halt[br]eigennützig oder altruistisch, haben aber 0:07:45.894,0:07:51.036 auf jeden Fall bestimmte ethische[br]Qualität. Und die Systeme machen nur, was 0:07:51.036,0:07:56.342 System Ingenieure ihnen sagen, das ist[br]wichtig zu erkennen. Die Leute, die das 0:07:56.342,0:08:00.984 System besitzen, die dafür das Geld[br]ausgegeben haben, die können dem System 0:08:00.984,0:08:05.625 schlussendlich nicht sagen, was es zu tun[br]hat. Das kann nur der Mensch, der sich 0:08:05.625,0:08:11.232 wirklich mit der Technologie auskennt. Das ist der[br]System Ingenieur. System Ingenieure machen 0:08:11.232,0:08:16.429 hoffentlich nicht alles, was man ihnen[br]sagt. Weil Systeme so mächtig sind, so 0:08:16.429,0:08:22.516 viel Einfluss auf Menschen haben, ist es[br]wichtig, dass die Leute, die 0:08:22.516,0:08:27.578 schlussendlich sagen, was das System zu[br]machen hat und was nicht, schlaue und 0:08:27.578,0:08:31.884 nette Menschen sind, die sich über[br]Gesellschaft Gedanken machen usw.. Man 0:08:31.884,0:08:35.950 darf das halt nicht irgendwelchen[br]Langweilern und Spießern überlassen, das 0:08:35.950,0:08:44.418 ganze Thema. Die DAP Bewegung in Jamaika[br]hat schon vor langer Zeit rausgefunden: 0:08:44.418,0:08:51.980 "The only good system is a sound system",[br]und das, denke ich, sollte als Warnung für 0:08:51.980,0:09:02.133 alle System Ingenieure gelten. So viel zum[br]ersten Teil. Wie gesagt, es gibt da vier, 0:09:02.133,0:09:06.016 meiner Meinung nach wichtige Gründe,[br]weswegen ein System Ingenieur so wichtig 0:09:06.016,0:09:11.700 ist: Zur eigenen Jobsicherheit ist das[br]sehr hilfreich. Es gibt dir ein 0:09:11.700,0:09:17.887 erstaunliches Maß an Autonomie. Es ist[br]notwendig, um deine Daten zu schützen, 0:09:17.887,0:09:24.039 deine Nutzerdaten zu schützen. Und es hat[br]eine ethische Komponente, weil man nicht 0:09:24.039,0:09:32.090 irgendwelche Leute an den Maschinen sitzen[br]lassen will, schlussendlich. Dann kommen 0:09:32.090,0:09:38.309 wir zu Teil 2. Wie wird man System[br]Ingenieur? Es ist eine komplexe Welt und 0:09:38.309,0:09:42.386 es gibt sehr viel Technologie, sehr viele[br]Stacks, verschiedene Hardware und 0:09:42.386,0:09:48.057 Softwaresysteme und Dienste und Anbieter.[br]Und es ist schon sehr, sehr schwer, das zu 0:09:48.057,0:09:55.004 navigieren. Und die Idee ist: Mach so viel[br]wie möglich selbst, mach es dir dabei 0:09:55.004,0:10:01.727 nicht zu einfach und lerne die Kultur der[br]entsprechenden Software. Was ich damit 0:10:01.727,0:10:10.705 meine: Du solltest alle Dienste... also in[br]deinem Leben benutzt du eine ganze Menge 0:10:10.705,0:10:16.098 Dienste schon, sowieso. Du hast eine[br]Mailadresse wahrscheinlich, du benutzt ein 0:10:16.098,0:10:20.275 oder mehrere Chat-Services du[br]hast vielleicht eine eigene Website und 0:10:20.275,0:10:24.520 nutzt vielleicht sowas wie GitHub oder[br]GitLab, um dein SourceCode mit anderen 0:10:24.520,0:10:31.366 Menschen zu teilen. Und als System[br]Ingenieur will man das eigentlich alles 0:10:31.366,0:10:37.345 selber machen. Wenn man selber die Dienste[br]betreibt, die man auch benutzt, soviel das 0:10:37.345,0:10:44.698 möglich ist, hat man automatisch in seinem[br]Leben die Infrastruktur und die 0:10:44.698,0:10:53.475 Kenntnisse, die einem zum System Ingenieur[br]machen. D. h. das Ziel sollte sein, wenn 0:10:53.475,0:10:58.133 du System Ingenieur werden willst, das[br]Ziel sollte sein, alle Dienste, die du 0:10:58.133,0:11:03.708 nutzt, so viel wie möglich, selber zu[br]betreiben. Und das kann man heutzutage 0:11:03.708,0:11:08.325 sehr gut machen, es gibt sehr viele schöne[br]kleine Single Board Computers - Raspberry 0:11:08.325,0:11:14.046 PI kennt ihr alle. Es gibt von PC Engines[br]die APU Serie, ist auch nicht viel größer. 0:11:14.046,0:11:21.655 Das kostet auch alles nicht so viel Geld.[br]Das sind Systeme, Computer, mit denen man 0:11:21.655,0:11:27.186 schon sehr viel machen kann. Was dann auch[br]gar nicht so anders ist, als wie das im 0:11:27.186,0:11:35.107 Datenzentren für für globale Infrastruktur[br]auch aussieht. Also was ich meine ist: 0:11:35.107,0:11:40.190 Wenn du deine eigene Website haben willst,[br]hast du ja verschiedene Optionen. Du 0:11:40.190,0:11:44.451 kannst entweder dir eine Website bei[br]WordPress klicken und dann lernst du halt 0:11:44.451,0:11:49.970 WordPress, sonst nicht viel. Du kannst[br]aber auch dir ein Cloudserver klicken, bei 0:11:49.970,0:11:54.450 Amazon oder DigitalOcean, vorkonfiguriert.[br]Da ist dann der Webserver schon dabei und 0:11:54.450,0:11:58.568 die Datenbank und die Zertifikate[br]funktionieren schon und alles. Das ist 0:11:58.568,0:12:02.299 schon ein bisschen besser als WordPress,[br]weil dann lernst du immer noch, wie du 0:12:02.299,0:12:06.560 dich auf diesen Server connecten kannst,[br]mit SSH, und du lernst ein bisschen was 0:12:06.560,0:12:11.262 über die Konfiguration, weil du ja z.B.[br]den Namen, den Inhalt einer Website 0:12:11.262,0:12:17.240 durchaus noch anpassen musst. Aber das[br]meiste wurde halt schon fertig gemacht. Du 0:12:17.240,0:12:23.630 kannst deswegen auch einfach den Raspberry[br]PI kaufen, darauf Linux installieren und 0:12:23.630,0:12:29.091 dann dieses Linux so konfigurieren, dass[br]dein Website drauf läuft. Das heißt, du 0:12:29.091,0:12:34.550 installierst dann... musst erst einmal[br]verstehen, wie du Linux oft dem 0:12:34.550,0:12:38.695 Raspberry Pi installierst. Dann musst du[br]verstehen, wie du dich überhaupt da drauf 0:12:38.695,0:12:43.373 verbindest. Und dann musst du den[br]Webserver und die Zertifikate und die 0:12:43.373,0:12:46.836 Datenbank alles installieren und[br]konfigurieren. Das ist natürlich deutlich 0:12:46.836,0:12:51.260 mehr Arbeit. Aber wenn du das gemacht[br]hast, dann läuft dein Webserver auf deinem 0:12:51.260,0:12:56.267 Raspberry PI. Das heißt deine eigene[br]Infrastruktur. Und du hast auch 0:12:56.267,0:13:02.305 verstanden, wie du das nochmal machen[br]kannst. Oder anderes Beispiel. Jeder hat 0:13:02.305,0:13:09.114 ja ein Home Router zu Hause, der über DSL[br]im Internet hängt und über den sich dann 0:13:09.114,0:13:13.455 alle deine Telefone und Fernseher und[br]Laptops ins Internet verbinden. Und da 0:13:13.455,0:13:17.802 gibt es auch wieder verschiedene Optionen.[br]Du kannst dir entweder eine Fritzbox 0:13:17.802,0:13:23.552 kaufen und dann die Fritzbox-Software[br]benutzen und dann kannst du halt Fritzbox. 0:13:23.552,0:13:26.998 Das ist auch nicht schlecht, das ist alles[br]recht stabil gemacht und bisschen was 0:13:26.998,0:13:31.582 lernt man ja schon noch übers Netzwerk,[br]wenn man sich damit beschäftigt. Man kann 0:13:31.582,0:13:37.098 allerdings auch sagen, man installiert[br]OpenWRT auf der Fritzbox. OpenWRT ist ein 0:13:37.098,0:13:44.200 Open Source Netzwerk Stack, der für solche[br]Home Router entwickelt ist. Wenn man das 0:13:44.200,0:13:50.035 macht, lernt man OpenWRT und nicht die[br]Fritzbox. Und ebenfalls eine Menge über 0:13:50.035,0:13:55.280 TCP/IP Netzwerke. Und das hat dann den[br]Vorteil, dass OpenWRT auch auf anderer 0:13:55.280,0:13:59.464 Hardware läuft, nicht nur auf Fritzbox,[br]sondern auch auf LinkSys oder Netgear oder 0:13:59.464,0:14:04.463 anderen Routern. Ist halt Open-Source-[br]Software. Das heißt, du kannst es auch in 0:14:04.463,0:14:15.766 zukünftigen Projekten kommerziell oder für[br]gemeinnützige Sachen verwenden. Oder du 0:14:15.766,0:14:20.967 kaufst dir einen dieser PC Engine APU2 und[br]installierst da BSD drauf und 0:14:20.967,0:14:26.169 konfigurierst dein Netzwerk einfach[br]selber. Dann lernst du halt, wie du dich 0:14:26.169,0:14:30.834 überhaupt mit der seriellen Konsole auf[br]die APU connectest. Weil die haben keinen 0:14:30.834,0:14:35.833 Monitor und keine Tastatur. Du lernst, wie[br]du BSD installierst. Du lernst, wie du 0:14:35.833,0:14:40.790 Interfaces konfiguriert ist und ein Wifi[br]Access Point. Du lernst, wie die Firewall 0:14:40.790,0:14:46.325 funktioniert und dein DHCP-Server und dein[br]DNS Server und auch noch den ganzen Kram 0:14:46.325,0:14:51.562 über Netzwerk, d.h. auch wieder nicht so[br]einfach wie die Fritzbox. Dauert deutlich 0:14:51.562,0:14:57.406 länger. Aber wenn du das machst und danach[br]betreibst und auch am Laufen hältst, dann 0:14:57.406,0:15:01.218 haste halt eine ganze Menge Sachen[br]gelernt, die wohl über die Fritzbox nie 0:15:01.218,0:15:04.658 hättest lernen müssen, weil das alles[br]schon automatisch von Hause aus 0:15:04.658,0:15:13.951 funktioniert. Der zweite wichtige Punkt[br]ist: Mach es dir nicht zu einfach. Wenn du 0:15:13.951,0:15:18.268 irgendwas konfigurierst, nicht immer den[br]einfachsten Weg wählen, sondern den Weg, 0:15:18.268,0:15:23.598 wo du am meisten lernst und verstehst. Das[br]heißt spezifisch: Text ist immer besser. 0:15:23.598,0:15:28.002 Benutz die Kommandozeile statt dem[br]grafischen Benutzerinterface, weil das 0:15:28.002,0:15:32.832 später die Automatisierung erleichtert.[br]Und die Kommandozeile hat auch viel mehr 0:15:32.832,0:15:37.792 Optionen als die GUI meistens. Das ist[br]auch einfacher, in der Kommandozeile 0:15:37.792,0:15:43.729 Fehlermeldungen zu sehen und die dann zu[br]googeln. Und Web-GUIs sind generell... 0:15:43.729,0:15:48.085 gehen auch sehr häufig kaputt, irgendwann[br]ist dann die Java Version out of date und 0:15:48.085,0:15:55.192 dann funktioniert die Web GUI gar nicht[br]mehr. Eine weitere Challenge wäre: Wenn du 0:15:55.192,0:15:59.218 einen Raspberry PI auf dem Tisch stehen[br]hast, versuch den einfach ohne Tastatur 0:15:59.218,0:16:04.261 und Monitor zu betreiben, sondern einfach[br]nur über Text. Über die serielle Konsole 0:16:04.261,0:16:10.546 oder über SSH. Aber halt einfach mal so[br]tun, als hättest du gar kein Tastatur und 0:16:10.546,0:16:15.532 Bildschirm für den Raspberry PI. Das ist[br]dann so ähnlich, wie wenn der schon im 0:16:15.532,0:16:21.954 Datencenter steht. Andere Sache sind[br]Config files. Viel Software kannst du 0:16:21.954,0:16:27.100 einfach ohne viel zu machen installieren,[br]weil es Konfigurationsassistenten gibt. 0:16:27.100,0:16:31.694 Man wird dann immer gefragt oder[br]aufgefordert, einfach eine Datei aus dem 0:16:31.694,0:16:37.394 Internet zu laden, die dann direkt mit[br]Bash auszuführen und danach ist dein Jitsi 0:16:37.394,0:16:43.300 Server fertig konfiguriert oder so. Da[br]lernst du aber auch nichts bei. Guck dir 0:16:43.300,0:16:48.492 lieber die Config-Files an, selber, und[br]setzt da die Optionen, die du willst. Das 0:16:48.492,0:16:53.563 erleichtert dir die Wiederverwendung. Wenn[br]du einmal ein Config File verstanden hast, 0:16:53.563,0:16:59.056 kannst du dasselbe als Vorlage nehmen für[br]alle zukünftigen Projekte, wo du dieselbe 0:16:59.056,0:17:03.411 Komponente wieder brauchst. Config files[br]haben auch wieder deutlich mehr Optionen 0:17:03.411,0:17:07.536 als solche Konfigurationsassistenten. Das[br]heißt, du kannst viel mehr tweaken, viel 0:17:07.536,0:17:11.471 mehr customizen und ebenfalls wieder[br]einfacher da auf Google oder Stack 0:17:11.471,0:17:17.066 Overflow Beispiele für zu finden, weil du[br]halt nach den Texten im Config file suchen 0:17:17.066,0:17:26.266 kannst. Und wenn du das alles so machst,[br]wenn du die Kommandozeile benutzt und 0:17:26.266,0:17:31.810 Config files, wirst du feststellen, dass[br]manche Sachen dauern und manche Sachen 0:17:31.810,0:17:35.825 gehen relativ schnell. Und das Ziel sollte[br]immerzu immer sein, dass du alles 0:17:35.825,0:17:40.556 automatisiert, was zu viel Zeit kostet[br]oder zu viel Aufmerksamkeit. Das heißt, du 0:17:40.556,0:17:45.196 solltest die Kommandos, die du machst,[br]solltest du versuchen, zu skripten. Und es 0:17:45.196,0:17:51.158 gibt auch Toolings, so z.B. Ansible und[br]Saltstack, das dir dabei hilft. Du willst 0:17:51.158,0:17:55.237 prinzipiell vermeiden, dass du dieselbe[br]Sache immer wieder selber händisch machen 0:17:55.237,0:18:00.019 musst. Du willst prinzipiell alles nur[br]einmal machen und danach ist es 0:18:00.019,0:18:04.500 automatisiert und du kannst es, ohne dich[br]darum zu kümmern, jederzeit nochmal 0:18:04.500,0:18:09.816 ausführen. Genauso sollte es dir wichtig[br]sein, dass du skalieren kannst, dass es 0:18:09.816,0:18:14.040 egal ist, ob du einen Computer hast oder[br]ganz viele, auf der deine Website laufen 0:18:14.040,0:18:19.020 soll oder egal ist, ob du einen Benutzer[br]hast oder ganz viele, die da Zugriff haben 0:18:19.020,0:18:23.504 sollen. Das ist jetzt erst einmal, wenn du[br]deine eigenen Dienste für dich selber 0:18:23.504,0:18:28.974 betreibst, nicht notwendig, da ist die[br]Automatisierung eher hinderlich, weil es 0:18:28.974,0:18:32.458 geht schneller, das einfach einmal selbst[br]zu machen und deinen eigenen Nutzer für 0:18:32.458,0:18:36.277 dich selbst anzulegen , auf deinem eigenen[br]Raspberry PI, das geht schneller, wenn du 0:18:36.277,0:18:40.198 es nicht automatisch machst und nicht[br]skalierbar. Aber wenn du das alles von 0:18:40.198,0:18:45.791 Anfang an schon auf Automatisierung und[br]Skalierung auslegst, dann kannst du halt 0:18:45.791,0:18:55.147 auch ohne weiteres was für andere Menschen[br]machen mit anderen Systemen später. Der 0:18:55.147,0:19:00.795 dritte wichtige Punkt ist eine Erkenntnis,[br]die mir leider viel zu spät gekommen ist. 0:19:00.795,0:19:05.001 Das ist etwas, was ich viel lieber früher[br]verstanden hätte, weil es doch sehr viel 0:19:05.001,0:19:11.068 hilft. Es gibt sehr viel Software,[br]erstaunlich viele Textstacks, Zertifikat 0:19:11.068,0:19:17.110 Authorities und Monitoring Systeme und[br]Datenbanken und Betriebssysteme, 0:19:17.110,0:19:23.796 Hypervisors und Webservers, verschiedene[br]Arten von Tooling und Containerisation. Das ist 0:19:23.796,0:19:28.374 alles sehr verwirrend, aber es ist so[br]wichtig zu erkennen: All diese Software 0:19:28.374,0:19:33.300 ist von Menschen, Gruppen von Menschen[br]geschaffen, und diese Gruppen von Menschen 0:19:33.300,0:19:37.650 haben ihre eigene Kultur und ihre eigene[br]Sprache, d.h. sie haben spezifische Art 0:19:37.650,0:19:42.720 und Weise, wie sie abstrakte Konzepte[br]wählen, und sie haben eine spezifische 0:19:42.720,0:19:47.670 Wahl von Namen in ihrem Projekt und[br]natürlich eine unterschiedliche Art von 0:19:47.670,0:19:54.780 Syntax, weil die Raute bei Python etwas[br]anderes ist als die Raute bei C++. Und 0:19:54.780,0:19:59.430 wenn man jetzt die Sprache und die Kultur[br]versteht, dann versteht man die Software 0:19:59.430,0:20:09.930 dahinter deutlich einfacher. Also z.B.[br]jede Komponente, jedes Betriebssystem, 0:20:09.930,0:20:15.220 OpenBSD oder Ubuntu oder Tooling wie[br]Docker oder Git oder Ansible oder halt 0:20:15.220,0:20:21.430 auch sowas der TCP/IP Standard, haben alle[br]ihr eigenes Vokabular, ihre eigene 0:20:21.430,0:20:28.690 Terminologie, mit der sie daherkommen. Und[br]die Wörter sind begrenzt. Es gibt nicht so 0:20:28.690,0:20:36.160 viel verschiedene Wörter im Englischen,[br]dass jedes Tool seinen eigenen Wörter hat, 0:20:36.160,0:20:42.700 die sonst nirgends verwendet wurden. Das[br]Problem ist: Manchmal benutzen die Tools 0:20:42.700,0:20:46.540 dieselben Wörter und meinen auch[br]prinzipiell oder bedeuten auch prinzipiell 0:20:46.540,0:20:51.460 dasselbe. Manchmal benutzen sie[br]unterschiedliche Wörter. Prinzipiell aber 0:20:51.460,0:20:55.330 für dieselbe Sache. Und manchmal benutzen[br]sie auch dasselbe Wort, meinen aber 0:20:55.330,0:21:01.030 komplett unterschiedliche Sachen damit.[br]Also z.B. Docker pull ist schon dasselbe 0:21:01.030,0:21:06.700 wie git pull. Du ziehst dir halt ein[br]Docker Image oder ein Git Repository 0:21:06.700,0:21:12.220 update von dem Server, wo du das[br]ursprünglich her hast - oder git tags und 0:21:12.220,0:21:17.920 docker tags sind prinzipiell dasselbe. Du[br]machst halt einen Namen, du gibt's einen 0:21:17.920,0:21:23.530 Namen für einen Docker Image Layer oder[br]ein Git Commit, einen menschen-lesbaren 0:21:23.530,0:21:28.900 Namen. Das ist schon vergleichbar. Ansible[br]tags wiederum sind etwas komplett anderes, 0:21:28.900,0:21:32.860 das hat überhaupt nichts damit zu tun, das[br]sind eher sowas wie Gruppen oder Rollen, 0:21:32.860,0:21:39.610 die du in Ansible als Tag beschreibst. Hat[br]aber denselben Namen wie docker tag und 0:21:39.610,0:21:47.110 git tag, deswegen recht verwirrend.[br]Anderes Beispiel ist die TCP/IP. Gibt's 0:21:47.110,0:21:52.480 das Konzept von einem Port als Teil der[br]Netzwerk Adresse einer TCP Verbindung. Das 0:21:52.480,0:21:57.700 hat aber nichts mit einem OpenBSD Port zu[br]tun. Ein OpenBSD Port ist eher sowas wie 0:21:57.700,0:22:03.640 ein Ubuntu Package. Heißt aber nicht[br]Package, sondern Port. Aber Port ist nicht 0:22:03.640,0:22:08.080 dasselbe wie bei TCP/IP. Insofern alles[br]sehr verwirrend und die beste Art und 0:22:08.080,0:22:12.850 Weise, das zu navigieren, meiner Meinung[br]nach, ist zu verstehen, dass das alles 0:22:12.850,0:22:17.530 Gruppen von Menschen sind und innerhalb[br]dieser Kultur Port dann was anderes 0:22:17.530,0:22:21.310 bedeutet, als in der anderen Kultur und[br]uns sehr viel hilft zu verstehen, aus 0:22:21.310,0:22:25.930 welcher Kultur Menschen kommen, um zu[br]verstehen, was Sie jetzt gerade meinen, 0:22:25.930,0:22:35.440 wenn Sie Port sagen. Das waren meine drei[br]Vorschläge, wie man generell es angehen 0:22:35.440,0:22:39.610 sollte, wenn man System Ingenieur werden[br]will. Man sollte seine eigenen Dienste 0:22:39.610,0:22:43.810 hosten und möglichst viel davon selber[br]machen. Man sollte es sich nicht so 0:22:43.810,0:22:48.580 einfach machen, sondern halt alles[br]automatisieren und skalieren. Und man 0:22:48.580,0:22:53.980 sollte sich mit der Kultur beschäftigen,[br]damit man einfacher versteht und zuordnen 0:22:53.980,0:23:01.810 kann, was einzelne Projekte meinen. Aber[br]wenn man das alles macht, dann kommt man 0:23:01.810,0:23:05.020 auch, dann ist man eigentlich schon fast[br]da. Wenn dein Website auf Raspberry Pi 0:23:05.020,0:23:10.180 läuft und du deine Website automatisch auf[br]viele verschiedene, mehrere Raspberry Pis 0:23:10.180,0:23:15.070 ausrollen kannst, dann ist das nicht so[br]viel anders, als das im Datencenter auch 0:23:15.070,0:23:19.570 läuft, da läuft auch nur Unix. Und wenn[br]das Tooling stimmt, wenn deine Scripte 0:23:19.570,0:23:25.810 stimmen und deine Prozesse, dann ist der[br]Vorgang, das auf RaspberryPi zu machen, 0:23:25.810,0:23:30.250 sehr ähnlich zu dem, wie du das halt in[br]einem Datencenter machst. Egal ob es dann 0:23:30.250,0:23:34.780 ein Server ist oder viele oder ein Rack[br]oder viele. Das ist dasselbe Problem wie 0:23:34.780,0:23:40.840 von einem auf mehrere Raspberry Pis zu[br]gehen. Das ist alles nur Unix und was man 0:23:40.840,0:23:47.920 zu Hause mit Raspberry PI macht oder mit[br]APU, kann man sehr gut verwenden - 0:23:47.920,0:23:58.730 dieselben Skills, dieselben Techniken - um[br]Datencenter-Server zu betreuen. Soviel zu 0:23:58.730,0:24:04.289 meinen Talk. Wir machen jetzt glaub ich[br]noch eine kurze Fragerunde. Dankesehr. 0:24:07.089,0:24:11.510 Herald: Hi Folkert, schön, dich hier quasi[br]live im Studio begrüßen zu können. Vielen 0:24:11.510,0:24:15.770 Dank für deinen Vortrag. Da hab ich ja[br]gleich fast selbst Lust gekriegt, auch 0:24:15.770,0:24:20.270 noch Systemingenieurin zu werden. Was[br]denkst du denn? Was braucht man da so für 0:24:20.270,0:24:27.260 Fähigkeiten, Kenntnisse, Interessen?[br]Folkert: Gute Frage, war ich nicht darauf 0:24:27.260,0:24:31.910 vorbereitet. Ich würde prinzipiell sagen,[br]Spaß und Faszination an Computern hilft 0:24:31.910,0:24:39.110 natürlich. Das ist aber für viele andere[br]Sachen auch der Fall. Bei mir war es eher 0:24:39.110,0:24:43.610 so, ich bin da auch automatisch[br]reingekommen, weil ich halt immer ein 0:24:43.610,0:24:48.830 Computer vor mir hatte, mit dem es dann[br]irgendwas zu machen gab. Also auch wenn 0:24:48.830,0:24:51.890 ich mich über irgendetwas anderes[br]informieren wollte oder irgendetwas 0:24:51.890,0:24:55.100 anderes machen wollte, war immer der[br]Computer noch dazwischen, zwischen mir und 0:24:55.100,0:24:58.220 dem Ding. Und dann hab ich erstmal mich[br]immer um den Computer gekümmert und den er 0:24:58.220,0:25:00.920 erst mal richtig konfiguriert, dass er[br]genau das macht, was man will. Insofern 0:25:00.920,0:25:06.170 ist es weniger eine Fähigkeit als vielmehr[br]die Unfähigkeit, den Computer zu 0:25:06.170,0:25:09.830 vergessen, sondern halt immer das[br]Bedürfnis, da immer weiter weiter zu 0:25:09.830,0:25:13.010 drehen und alles noch ein bisschen[br]besser, noch ein bisschen idealer zu 0:25:13.010,0:25:18.950 machen, die am meisten hilft, denke ich.[br]H: Verstehe. Da gibt's direkt auch 0:25:18.950,0:25:23.450 eine Anschlussfrage, von unseren[br]ZuschauerInnen. Wie geht man denn wohl am 0:25:23.450,0:25:26.390 besten tiefer in die Materie, wenn man[br]sich schon so ein bisschen mit Sachen 0:25:26.390,0:25:31.100 beschäftigt hat? Was ist dann wohl ein[br]guter Ansatz, um da ein bisschen tiefer 0:25:31.100,0:25:37.100 einzusteigen dann? F: Gute Frage, also[br]prinzipiell immer Leute, andere Leute. 0:25:37.100,0:25:40.700 Hoffentlich. Also idealerweise Leute im[br]selben Alter mit demselben 0:25:40.700,0:25:44.210 Erfahrungsstand, die also quasi auf[br]demselben Level sind, mit denen man dann 0:25:44.210,0:25:49.610 gegenseitig lernt und fordert und so. Also[br]generell eine Gruppe zu finden, die 0:25:49.610,0:25:53.090 dieselben Interessen hat, ist denke ich[br]das Wichtigste. Das macht dann meistens 0:25:53.090,0:25:57.890 Spaß und bringt auch am meisten und dafür[br]ist natürlich der Remote Chaos Congress 0:25:57.890,0:26:03.380 eine sehr gute Sache oder der Chaos[br]Treff, der CCC bei euch in der Nähe 0:26:03.380,0:26:06.800 oder, was auch immer, der Hackerspace,[br]aber generell halt ähnlich gesinnte 0:26:06.800,0:26:11.970 Menschen, die da auch die genau dieselben[br]Interessen haben und auf dem selben Level 0:26:11.970,0:26:15.480 sind, dass man zusammen lernt. Und[br]natürlich dann auch noch genug Leute, die 0:26:15.480,0:26:20.430 das auch schon alles ein bisschen länger[br]machen, die ebenfalls z.B. auf dem 0:26:20.430,0:26:24.240 Kongress ansprechbar und aufzufinden sind[br]und die sich auch, denke ich, immer 0:26:24.240,0:26:28.440 freuen, Fragen zu beantworten, gerade von[br]jüngeren Leuten, die vielleicht gern auch 0:26:28.440,0:26:34.380 dieselben Sachen lernen würden.[br]H: Dann haben wir noch eine Wording- 0:26:34.380,0:26:39.210 Frage: Ist Software-IngenieurIn das[br]gleiche wie DevOps oder gibt es da noch 0:26:39.210,0:26:42.570 Unterschiede?[br]F: Gute Frage. Das DevOps hab ich 0:26:42.570,0:26:47.880 und Full Stack Engineer - oder Full Stack[br]Developer, gibts ja beides - sind beide in 0:26:47.880,0:26:53.430 letzter Zeit... sieht man die häufiger in[br]irgendwelchen Job anzeigen? Prinzipiell 0:26:53.430,0:27:00.150 dasselbe, aber DevOps ist ein bisschen...[br]also DevOps, das sind meiner subjektiven 0:27:00.150,0:27:02.700 Auffassung nach auch immer Leute, die dann[br]gleichzeitig noch die Website 0:27:02.700,0:27:06.210 programmieren, aber trotzdem irgendwie für[br]die Server-Konfiguration zuständig sind. 0:27:06.210,0:27:10.260 Das heißt, du muss halt programmieren und[br]administrieren gleichzeitig. Das sind aber 0:27:10.260,0:27:13.920 eigentlich ganz unterschiedliche Sachen.[br]Insofern würde ich mich selber nicht als 0:27:13.920,0:27:18.030 DevOps bezeichnen. Auf der anderen Seite[br]könnte ich jetzt auch jederzeit 0:27:18.030,0:27:21.690 irgendeinem Jobangebot, wo DevOps drauf[br]steht, mich einfach melden, weil die 0:27:21.690,0:27:25.530 Hälfte von dem Job auf jeden Fall[br]irgendwie mit System Engineering zu tun 0:27:25.530,0:27:30.180 hat. Insofern: Kommt immer drauf an, wer[br]das Wort wie verwendet. Meistens ist es 0:27:30.180,0:27:33.870 nur eine Ausrede vom zukünftigen[br]Arbeitgeber, dass sie halt nur eine Person 0:27:33.870,0:27:37.590 bezahlen wollen für zwei oder drei Jobs.[br]Deswegen nennen sie das dann DevOps oder 0:27:37.590,0:27:40.590 FullStack.[br]H: Das klingt nicht so richtig 0:27:40.590,0:27:45.360 attraktiv. Zum Job-Einstieg gibt's auch[br]noch eine Frage: Hast du Tipps, wie man 0:27:45.360,0:27:49.890 das mit Praktika am besten angeht? Wen man[br]da wo am besten anquatscht? Irgendwelche 0:27:49.890,0:27:54.480 Erfolgstipps?[br]F: Nee, leider, leider nichts 0:27:54.480,0:27:57.270 Konkretes, aber ich sag mal, das ist eine[br]gute Frage, die man vielleicht auch im 0:27:57.270,0:28:01.350 Rahmen des Kongresses nochmal irgendwie[br]klären kann, weil es in der Tat auch in 0:28:01.350,0:28:05.130 meinem direkten Freundeskreis und bei[br]Wikipaka genug Leute gibt, die sehr viel 0:28:05.130,0:28:08.910 Spaß an sowas haben und auch die[br]Infrastruktur haben, wo man dann Praktikas 0:28:08.910,0:28:12.120 anbieten könnte, ohne jetzt etwas[br]versprechen zu wollen. Aber das ist schon 0:28:12.120,0:28:16.440 da. Da arbeiten Leute schon dran. Insofern[br]am besten mit Wikipaka in Verbindung 0:28:16.440,0:28:20.700 setzen, würde ich sagen. Oder halt mich[br]ansprechen oder irgendwen auf dem 0:28:20.700,0:28:23.960 Kongress.[br]H: Vielleicht ja bei uns in der 2D 0:28:23.960,0:28:27.950 Welt. Wir haben ja auch die WikipakaWG[br]abgebildet. Vielleicht findet man dich da 0:28:27.950,0:28:30.318 ja nochmal.[br]F: Ja, ich werd auf jeden Fall da 0:28:30.318,0:28:33.925 auch rumhängen.[br]H: Ich hab noch eine Frage aus dem 0:28:33.925,0:28:38.750 Publikum und ich hoffe, dass ich das jetzt[br]richtig ausspreche. Was hältst du von 0:28:38.750,0:28:43.070 Kubernetes und Konsorten? Ist das die[br]Zukunft oder eher sowas mittelfristig 0:28:43.070,0:28:46.789 gehyptes?[br]F: Das kann durchaus beides 0:28:46.789,0:28:52.227 gleichzeitig sein. Also generell, also[br]Containerization ist auf jeden Fall eine 0:28:52.227,0:28:57.052 praktische Sache, das sind ja prinzipiell[br]ein ähnliches Konzept wie Jails, also 0:28:57.052,0:29:02.139 Chroot-Jails unter Linux oder Jails unter[br]BSD. Und Container machen das ganze 0:29:02.139,0:29:06.530 Konzept noch ein bisschen einfacher.[br]Insofern das bleibt auf jeden Fall. Ob das 0:29:06.530,0:29:11.592 jetzt Docker ist oder Kubernetes, wird man[br]sehen. Ich hoffe eher auf Kubernetes. 0:29:11.592,0:29:17.322 Generell ist diese Technologie halt das[br]einzige, wie man wirklich so Scharen von 0:29:17.322,0:29:22.287 Microservices über verschiedene Computer[br]einfach deployen kann. Also wenn ihr jetzt 0:29:22.287,0:29:26.768 nicht Erlang programmiert oder so, sondern[br]halt so einen typischen Linux und nginx 0:29:26.768,0:29:31.859 und LAMP und PHP und Python Stack hat,[br]dann braucht man schon irgendein 0:29:31.859,0:29:37.955 Containersystem, um mehrere Services, die[br]zueinander abhängig sind, zu deployen. 0:29:37.955,0:29:42.069 Insofern sollte man sich Container auf[br]jeden Fall anschauen. Aber halt vielleicht 0:29:42.069,0:29:45.405 nicht nur Docker, sondern Kubernetes auch[br]auf jeden Fall. 0:29:45.405,0:29:51.930 H: Eine Frage habe ich noch. Was[br]hältst du davon, sich alle RFCs 0:29:51.930,0:29:55.370 runterzuladen und einfach mal drauf[br]loszulernen? 0:29:55.370,0:30:00.050 F: Das hätte ich eigentlich sagen[br]wollen, das ist eine gute Frage, danke! Da 0:30:00.050,0:30:03.380 hätte ich fast im Vortrag eine extra Folie[br]für gemacht. Das Schöne an der Technologie 0:30:03.380,0:30:06.720 ist: A, es ist alles OpenSource oder sehr[br]sehr sehr sehr viel. Das heißt, man kann 0:30:06.720,0:30:10.520 den Source Code durchlesen und die[br]Kommentare und so. Und die Protokolle sind 0:30:10.520,0:30:14.810 halt per Definition offen. Also das[br]allermeiste. Und in der Tat gibt's das bei 0:30:14.810,0:30:20.030 IETF als RFC im schönen Text Format zum[br]runterladen und durchlesen und das hab ich 0:30:20.030,0:30:24.380 auch gemacht irgendwann. Nicht als erstes.[br]Dann ist es doch sehr verwirrend und 0:30:24.380,0:30:28.160 einschüchternd. Aber irgendwann ist man[br]auf einem Level, wo man keine Bücher mehr 0:30:28.160,0:30:31.130 lesen will, sondern halt direkt die[br]Spezifikationen, wo das alles herkommt. 0:30:31.130,0:30:34.835 Und da das... vielleicht nicht alle lesen,[br]sind ein bisschen viele mittlerweile aber 0:30:34.835,0:30:39.290 so ein paar, also IPv4 und so. Auf jeden[br]Fall zu empfehlen. Das muss man mal 0:30:39.290,0:30:48.080 gemacht haben. H: Okay. Ich habe jetzt aus[br]dem Publikum keine weiteren Fragen und ich 0:30:48.080,0:30:51.440 hab auch keine mehr - meine Frage hast du[br]schon beantwortet. Es gibt aber die 0:30:51.440,0:30:57.080 Möglichkeit, wenn es noch weitere Fragen[br]gibt, das auch noch in einem weiteren 0:30:57.080,0:31:01.370 BigBlueButton mit dir zu besprechen, falls[br]man dich nicht in der 2D Welt suchen 0:31:01.370,0:31:06.050 möchte. Da postet bestimmt mein Kollege[br]Stefan gleich mal den Link für in den 0:31:06.050,0:31:10.460 Chat. Das heißt, alle, die jetzt noch[br]Fragen haben, können die gerne da 0:31:10.460,0:31:17.068 loswerden. Und ich würde sagen, wir[br]verabschieden uns hier. Danke Folkert. 0:31:17.068,0:31:21.400 F: Dankeschön! Danke auch, schönen[br]Congress! 0:31:21.400,0:31:23.830 Abpspannmusik 0:31:23.830,0:31:31.000 Untertitel erstellt von c3subtitles.de[br]im Jahr 2021. Mach mit und hilf uns!