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!