WEBVTT

00:00:00.600 --> 00:00:07.000
Ja, hallo liebe Hörerinnen und Hörer, hier sind wir wieder, diesmal bei der zwölften Episode vom Python-Podcast.

00:00:08.100 --> 00:00:13.640
Was machen wir heute? Heute machen wir ein bisschen Deployment für Anfänger.

00:00:14.460 --> 00:00:19.460
Also so ein bisschen werde ich den Lochen löchern damit, wie man einfache Dinge auf irgendwelche Server bekommt.

00:00:21.000 --> 00:00:27.140
Ja, ich bin der Dominik, hallo, Jochen ist wieder da, wir sind im Wintergarten, Sommergarten ist wieder viel zu heiß.

00:00:28.480 --> 00:00:30.180
Wir hoffen, euch geht's gut.

00:00:30.880 --> 00:00:31.700
Hört uns gerne zu.

00:00:32.200 --> 00:00:34.200
Schreibt uns gerne alles, was ihr wollt, alles, was ihr

00:00:34.200 --> 00:00:36.460
möchtet, an hallo.pysornpodcast.de

00:00:36.460 --> 00:00:37.980
Ja,

00:00:38.140 --> 00:00:38.700
schöne Grüße.

00:00:39.800 --> 00:00:42.240
Ja, genau. Jetzt haben auch tatsächlich Leute

00:00:42.240 --> 00:00:44.280
inzwischen so ein bisschen angefangen, die Kommentarfunktion

00:00:44.280 --> 00:00:46.560
zu benutzen. Da war ich ja irgendwie...

00:00:46.560 --> 00:00:48.260
Ja, unser Pocketcast-Chapter

00:00:48.260 --> 00:00:50.060
mal funktioniert. Wirklich, wir wollen

00:00:50.060 --> 00:00:52.200
irgendwann noch mal ein bisschen daran basteln, dass das dann mal geht.

00:00:52.620 --> 00:00:54.180
Ja, und an den Kommentaren müssen wir wahrscheinlich auch noch

00:00:54.180 --> 00:00:54.840
so ein bisschen was tun.

00:00:54.840 --> 00:00:56.840
Da wäre es

00:00:57.540 --> 00:00:59.700
vielleicht nicht so schlecht, wenn man E-Mail-Benachrichtigungen kriegen könnte

00:00:59.700 --> 00:01:01.480
oder vielleicht zumindest

00:01:01.480 --> 00:01:03.580
ein Kommentarfeed oder sowas. Muss ich

00:01:03.580 --> 00:01:04.600
mal gucken. Geht bestimmt.

00:01:05.500 --> 00:01:07.620
Habe ich mir schon mal auf die To-Do-Liste geschrieben,

00:01:07.780 --> 00:01:09.120
aber es ist

00:01:09.120 --> 00:01:11.440
nicht nur sehr warm, es ist auch irgendwie sehr

00:01:11.440 --> 00:01:13.040
wenig Zeit momentan für alle möglichen Dinge.

00:01:13.540 --> 00:01:14.600
Ja, ja. Alles auf einmal.

00:01:15.220 --> 00:01:15.860
So ist das halt.

00:01:17.240 --> 00:01:19.380
Aber genau, so ein bisschen

00:01:19.380 --> 00:01:21.540
haben wir ja schon. Insofern brauchen wir uns nicht die ganze

00:01:21.540 --> 00:01:23.340
Zeit nur zu beschweren, sondern können auch ein bisschen was erzählen.

00:01:24.500 --> 00:01:25.440
Ja, diesmal durchherrsche ich

00:01:25.440 --> 00:01:27.340
dich ja ganz viel mit lustigen Dingen, wie man

00:01:27.340 --> 00:01:29.400
wieso man, warum man den ganzen Unsinn überhaupt

00:01:29.400 --> 00:01:30.720
macht. Ja, ja,

00:01:30.900 --> 00:01:32.900
ich finde es ein interessantes Thema und

00:01:32.900 --> 00:01:35.300
naja, das ist, ehrlich gesagt,

00:01:35.440 --> 00:01:37.400
ich meine, so Inspirationen aus

00:01:37.400 --> 00:01:39.360
anderen Podcasts, die ich so höre, zu

00:01:39.360 --> 00:01:41.480
nehmen, ist momentan auch so ziemlich das Einzige, wo ich Inspirationen

00:01:41.480 --> 00:01:43.380
hernehmen kann. Daher dachte ich, nehme ich mal

00:01:43.380 --> 00:01:45.380
irgendwie die Veröffentlichung von

00:01:45.380 --> 00:01:48.340
Jungle for Professionals

00:01:48.340 --> 00:01:49.060
von Will Vincent,

00:01:49.600 --> 00:01:51.300
die jetzt gerade irgendwie dieses Wochenende

00:01:51.300 --> 00:01:53.320
passiert ist, zum Anlass da auch so ein bisschen was

00:01:53.320 --> 00:01:55.400
zuzusagen, weil ich hatte so beim, ich habe es

00:01:55.400 --> 00:01:57.360
noch nicht komplett durchgelesen, aber ich habe so ein bisschen reingeguckt.

00:01:57.940 --> 00:01:59.280
Also wie ihr merkt, wir sind direkt bei der nächsten

00:01:59.280 --> 00:02:01.120
Chapter Mark-Szene.

00:02:02.060 --> 00:02:02.980
Ja, Moment, genau.

00:02:04.700 --> 00:02:05.060
News.

00:02:05.680 --> 00:02:07.000
Ja, alles klar, habe ich gesetzt.

00:02:08.160 --> 00:02:08.360
Ja,

00:02:09.440 --> 00:02:11.160
so beim Durchblättern habe ich

00:02:11.160 --> 00:02:13.160
schon gedacht, okay, das sind genau die Sachen, mit denen

00:02:13.160 --> 00:02:14.360
ich auch schon irgendwie lange

00:02:14.360 --> 00:02:16.880
rumgeplagt habe und

00:02:16.880 --> 00:02:19.180
das ist wirklich sehr schön gemacht.

00:02:21.200 --> 00:02:21.560
Und

00:02:21.560 --> 00:02:23.320
ja, das ist eine Menge

00:02:23.320 --> 00:02:25.740
Zeug, also wie betreibt man eigentlich überhaupt

00:02:25.740 --> 00:02:27.660
irgendwie so eine Webseite da draußen im Netz und

00:02:27.660 --> 00:02:29.760
was macht man da

00:02:29.760 --> 00:02:31.420
alles und gerade jetzt

00:02:31.420 --> 00:02:33.240
speziell irgendwie

00:02:33.240 --> 00:02:35.440
was Django angeht, was

00:02:35.440 --> 00:02:37.160
muss man da alles tun und

00:02:37.160 --> 00:02:39.460
insofern, wenn einen das interessiert oder man das

00:02:39.460 --> 00:02:41.600
Problem irgendwie hat, dann kann ich

00:02:41.600 --> 00:02:42.860
dieses Buch auch durchaus empfehlen, das

00:02:42.860 --> 00:02:45.800
ist eine sehr schöne Zusammenfassung

00:02:45.800 --> 00:02:47.040
von all den Dingen, die man da so

00:02:47.040 --> 00:02:48.280
beachten sollte.

00:02:50.000 --> 00:02:51.340
Ja, aber eben, genau,

00:02:51.960 --> 00:02:53.520
Also ich fand immer, das kam immer zu kurz.

00:02:53.620 --> 00:02:54.940
Also auch wenn man sich so andere Bücher anguckt.

00:02:55.360 --> 00:03:02.540
Dieser Teil, da wird dann immer gesagt, so naja, Händewedeln, das ist alles kompliziert.

00:03:02.640 --> 00:03:03.320
Das ist nicht so einfach.

00:03:03.460 --> 00:03:04.980
Fragt einfach euer Ops-Team.

00:03:05.820 --> 00:03:06.980
Ja, und dann hat man das vielleicht gar nicht.

00:03:07.080 --> 00:03:07.420
Das ist blöd.

00:03:11.100 --> 00:03:15.380
Und genau, da kriegt man einen ganz guten Eindruck, was man da so tun kann.

00:03:15.840 --> 00:03:18.540
Und irgendwie, ja, ich fand immer, das ist ein Thema, was zu kurz kommt,

00:03:18.640 --> 00:03:20.980
aber was halt durchaus sehr wichtig ist, wenn man irgendwas auf die Straße kriegt.

00:03:21.500 --> 00:03:23.100
Und darüber wollten wir so ein bisschen was reden.

00:03:23.200 --> 00:03:25.100
Vor allen Dingen, weil wir müssen ja einfach mal

00:03:25.100 --> 00:03:27.200
alle Synergien nutzen, die wir kriegen können.

00:03:27.680 --> 00:03:29.240
Ich glaube, du wolltest ja auch irgendwie so eine Webseite

00:03:29.240 --> 00:03:30.840
haben oder so, ne? Ja, ja, genau. Ich wollte

00:03:30.840 --> 00:03:33.300
so einen Server mal selber auch irgendwie aufsetzen

00:03:33.300 --> 00:03:35.180
und da brauche ich so ein bisschen Hilfe natürlich

00:03:35.180 --> 00:03:37.200
bei und gucken, was man mit Python alles

00:03:37.200 --> 00:03:39.120
machen kann und da lüge ich dich gleich ein bisschen mit.

00:03:39.920 --> 00:03:41.360
Haben wir noch irgendwelche News aus der Szene,

00:03:41.420 --> 00:03:43.480
die wir vielleicht dann noch hier reinbekommen?

00:03:43.880 --> 00:03:45.200
Ja, ich würde einfach mal die Sachen,

00:03:45.320 --> 00:03:46.700
die so passiert sind, einfach

00:03:46.700 --> 00:03:49.220
nach und nach. Was haben wir denn da noch

00:03:49.220 --> 00:03:51.120
so? Du hast noch so einen Postcast

00:03:51.120 --> 00:03:52.680
gehört am Wochenende, Data Engineering.

00:03:54.120 --> 00:03:54.960
Da hast du irgendwas

00:03:54.960 --> 00:03:57.060
Spannendes zu erzählen. Ja, aber das weiß

00:03:57.060 --> 00:03:58.520
ich gar nicht, ob das jetzt so super in

00:03:58.520 --> 00:04:01.020
dieses Format passt.

00:04:01.300 --> 00:04:01.960
Da ging es um

00:04:01.960 --> 00:04:04.220
eine Firma, die halt so

00:04:04.220 --> 00:04:06.740
Data Labeling macht. Also gut,

00:04:06.940 --> 00:04:08.620
ich mache ja auch viel Machine Learning Zeugs,

00:04:09.040 --> 00:04:09.920
Data Science und

00:04:09.920 --> 00:04:12.780
also ich fand das deswegen gut,

00:04:12.780 --> 00:04:14.780
also weil, also ich glaube,

00:04:15.260 --> 00:04:15.720
wie hieß

00:04:15.720 --> 00:04:17.580
die Firma nochmal?

00:04:18.800 --> 00:04:20.740
Cloudworker oder so. Der Chef

00:04:20.740 --> 00:04:22.700
von dem, einer der Gründer, hat er halt

00:04:22.700 --> 00:04:24.760
irgendwie auf dem Detail-Engineering-Podcast da

00:04:24.760 --> 00:04:28.340
was zu erzählen und

00:04:28.340 --> 00:04:32.760
das, was er so beschrieben hat an,

00:04:32.940 --> 00:04:34.580
das sind die Probleme, die man normalerweise kriegt, wenn man

00:04:34.580 --> 00:04:35.300
irgendwie

00:04:35.300 --> 00:04:38.200
Firmen dabei helfen will,

00:04:38.440 --> 00:04:40.760
irgendwas in die Richtung zu machen, das kam

00:04:40.760 --> 00:04:42.700
mir schon alles sehr bekannt vor, weil das sind halt auch die Dinge,

00:04:42.700 --> 00:04:44.700
die ich immer beobachte, wenn ich da irgendwelche

00:04:45.400 --> 00:04:46.660
Projekte zu mache und

00:04:46.660 --> 00:04:48.820
ja, das sind halt so, eben,

00:04:48.920 --> 00:04:50.600
wenn man, die meisten denken, das ist kein

00:04:50.600 --> 00:04:52.860
Problem. Woher kriegt man eigentlich Daten? Dabei ist das ein Riesenproblem.

00:04:53.240 --> 00:04:54.720
Also das ist oft

00:04:54.720 --> 00:04:56.260
etwas, was nicht wirklich gelöst wird

00:04:56.260 --> 00:04:58.740
oder wo viel größere Schwierigkeiten

00:04:58.740 --> 00:05:00.100
dann tatsächlich lauern.

00:05:00.160 --> 00:05:02.900
Also man kann jetzt nicht alle Maschinen lösen, aber die haben gar keine Daten, um das zu tun.

00:05:03.020 --> 00:05:04.640
Genau. Oder denken sie, haben die Daten,

00:05:04.760 --> 00:05:06.780
kommen aber irgendwie nicht ran oder brauchen die Daten

00:05:06.780 --> 00:05:08.620
aber in einem anderen Format und dann gibt es

00:05:08.620 --> 00:05:10.300
irgendwelche Abteilungen, die sich da querstellen.

00:05:10.480 --> 00:05:12.680
Das ist immer furchtbar. Also das ist immer ganz schrecklich, an die Daten

00:05:12.680 --> 00:05:14.740
ranzukommen. Das ist meistens ein großes

00:05:14.740 --> 00:05:16.060
Problem. Und

00:05:16.060 --> 00:05:18.380
der hatte auch so ein paar lustige Beispiele dafür,

00:05:18.760 --> 00:05:19.640
wie momentan da

00:05:19.640 --> 00:05:21.380
also auch wirklich

00:05:21.380 --> 00:05:23.900
kuriose Ideen der Leute kommen, um Daten

00:05:23.900 --> 00:05:25.300
zu bekommen, weil sie momentan zum Beispiel,

00:05:25.920 --> 00:05:27.780
also wenn man irgendwas mit Bilderkennung machen möchte

00:05:27.780 --> 00:05:30.080
oder so, braucht man halt auch oft viele, viele Daten

00:05:30.080 --> 00:05:31.980
und in Las Vegas

00:05:31.980 --> 00:05:33.900
scheint es wohl mittlerweile üblich zu sein, dass da

00:05:33.900 --> 00:05:34.820
irgendwie die

00:05:34.820 --> 00:05:36.920
irgendwie

00:05:36.920 --> 00:05:39.740
Hotelzimmer werden gefilmt. Ja, Hotelzimmer

00:05:39.740 --> 00:05:41.080
oder man mietet auf Airbnb

00:05:41.080 --> 00:05:43.520
diverse Geschichten und

00:05:43.520 --> 00:05:45.700
bezahlt mehr oder weniger oder gibt Leuten Goodies

00:05:45.700 --> 00:05:47.420
dafür, dass sie sich da reinstellen und dann

00:05:47.420 --> 00:05:49.420
darf man Fotos von ihnen machen oder so, weil man

00:05:49.420 --> 00:05:52.120
unterschiedliche Leute in unterschiedlichen Situationen

00:05:52.120 --> 00:05:54.000
haben muss. Nicht, dass irgendwie das Modell

00:05:54.000 --> 00:05:55.720
dann nur lernt, irgendwie

00:05:55.720 --> 00:05:57.760
den gleichen Raum wieder zu erkennen. Das wäre ja doof,

00:05:57.820 --> 00:05:59.900
deswegen braucht man unterschiedliche. Und es ist nicht so einfach.

00:06:00.080 --> 00:06:01.940
Und dann ist das natürlich

00:06:01.940 --> 00:06:03.660
auch relativ schnell, relativ teuer, wenn man die Daten

00:06:03.660 --> 00:06:06.180
versucht selber zu generieren. Oder man muss irgendwie mit Drohnen rumfliegen

00:06:06.180 --> 00:06:07.740
und Sachen fotografieren und sowas.

00:06:08.060 --> 00:06:09.160
Klingt ja nach großem Spaß.

00:06:09.700 --> 00:06:11.880
Ja, es klingt nach großem Spaß, aber es ist auch

00:06:11.880 --> 00:06:13.720
so ein bisschen, das ist alles so wilder Westen momentan so ein bisschen.

00:06:14.840 --> 00:06:15.620
Was ja auch, ja,

00:06:15.760 --> 00:06:16.240
je nachdem.

00:06:17.600 --> 00:06:18.480
Das wäre durchaus Spaß.

00:06:18.740 --> 00:06:19.340
Ja, ja, genau.

00:06:21.300 --> 00:06:22.240
Brown Code Tonight.

00:06:24.320 --> 00:06:24.920
Genau, genau.

00:06:25.000 --> 00:06:26.880
Das habe ich gehört. Das fand ich ganz cool.

00:06:27.920 --> 00:06:28.660
Kann man sich mal anhören.

00:06:28.760 --> 00:06:31.060
Ich werde einfach den Link dazu in die Show Notes packen.

00:06:31.180 --> 00:06:32.880
Das hat jetzt aber gar nicht so viel mit Python zu tun,

00:06:32.980 --> 00:06:33.540
sondern es war eher so,

00:06:34.220 --> 00:06:37.100
wie kriege ich das eigentlich hin, wenn ich viele Daten zu annotieren

00:06:37.100 --> 00:06:38.260
habe und zu labeln?

00:06:38.460 --> 00:06:40.420
Eher so Data Science Machine Learning-Geschichten.

00:06:41.140 --> 00:06:42.560
Dann hat die S-Guys was getwittert

00:06:42.560 --> 00:06:44.660
zum nächsten Chat, glaube ich, war das.

00:06:45.600 --> 00:06:47.100
Ja, ah, okay.

00:06:47.960 --> 00:06:49.700
Genau, da ging es um

00:06:49.700 --> 00:06:55.380
Pre-Talks, glaube ich.

00:06:56.920 --> 00:06:57.080
Ja.

00:06:57.900 --> 00:06:58.460
Meine ich.

00:06:59.840 --> 00:07:00.920
Das war der nächste Eintrag.

00:07:01.520 --> 00:07:02.960
Doch, ja, genau.

00:07:04.180 --> 00:07:05.840
Und zwar ist das so eine

00:07:05.840 --> 00:07:06.740
Konferenz

00:07:06.740 --> 00:07:11.700
Organisationssoftware,

00:07:11.700 --> 00:07:13.800
die halt irgendwie viele Leute verwenden.

00:07:14.100 --> 00:07:15.660
Ist auch so eigentlich ganz

00:07:15.660 --> 00:07:16.600
cool, Django-basiert.

00:07:17.960 --> 00:07:20.280
die wurde auch verwendet, um

00:07:20.280 --> 00:07:22.480
zum Beispiel die Subscribe, diese Podcast-Konferenz

00:07:22.480 --> 00:07:23.860
zu machen. Ja, da waren wir ja auch.

00:07:24.960 --> 00:07:26.680
Deswegen kam mir das schon so bekannt vor.

00:07:27.220 --> 00:07:27.900
Es wurde auch damit

00:07:27.900 --> 00:07:30.540
organisiert und viele Events

00:07:30.540 --> 00:07:32.400
im CCC-Umfeld, vor allen Dingen wohl auch das Camp,

00:07:32.480 --> 00:07:33.660
wird halt damit

00:07:33.660 --> 00:07:36.180
geplant. Und

00:07:36.180 --> 00:07:37.900
denen fehlt irgendwie

00:07:37.900 --> 00:07:40.240
ein ordentliches Ticketsystem.

00:07:41.920 --> 00:07:42.360
Und

00:07:42.360 --> 00:07:44.120
irgendwie, dass auch Pre-Talks

00:07:44.120 --> 00:07:46.020
irgendwie mit E-Mails ordentlich umgehen kann und so.

00:07:46.160 --> 00:07:47.740
Und deswegen hat auch Twitter mal gefragt,

00:07:47.960 --> 00:08:05.720
Und ob es da nicht Leute gibt, die sehr Lust hätten, sich mit zu beschäftigen oder vielleicht im Rahmen von einem Sprint auf dem Camp irgendwie da was dran zu tun. Gerne auch Einsteiger, weil man kann da sicherlich auch viel lernen und auch für andere ist es vielleicht mal eine Gelegenheit, Leuten was zu zeigen, wie Django da so funktioniert, was man da so tun kann.

00:08:06.180 --> 00:08:24.600
Also fand ich auf jeden Fall eine gute Idee und das Ding wollte ich mir auch immer schon mal näher angucken und finde ich eine gute Gelegenheit. Ich würde da auch hingehen, wenn ich auf dem Camp wäre. Ich weiß es aber nicht. Ich fürchte, ich werde nicht da sein. Ganz vielleicht doch, aber wahrscheinlich nicht. Daher wird das leider nicht funktionieren.

00:08:24.600 --> 00:08:26.940
Wann ist das denn überhaupt vielleicht für irgendjemand geneigt?

00:08:27.060 --> 00:08:28.840
Das Camp ist irgendwie Ende

00:08:28.840 --> 00:08:30.620
August. Ich glaube, es ist alles ausverkauft.

00:08:30.900 --> 00:08:32.500
Schon lange jetzt. Ja, schon lange, genau.

00:08:35.700 --> 00:08:36.780
Moment, ich gucke mal gerade.

00:08:37.060 --> 00:08:38.840
Das CCC-Camp, wann ist denn das?

00:08:38.980 --> 00:08:39.440
Also irgendwie

00:08:39.440 --> 00:08:43.020
20. bis 25.

00:08:43.960 --> 00:08:44.280
8.

00:08:45.280 --> 00:08:46.420
Irgendwo in der Nähe von Berlin.

00:08:47.200 --> 00:08:47.340
Genau.

00:08:48.880 --> 00:08:49.140
Ja,

00:08:49.420 --> 00:08:52.760
also ist auf jeden Fall,

00:08:52.760 --> 00:08:54.480
wenn da zufällig jemand hingeht oder so, dann ist das

00:08:54.480 --> 00:08:56.400
sicher eine gute Gelegenheit, um sich mal intensiver

00:08:56.400 --> 00:08:58.440
mit Django beschäftigen zu können

00:08:58.440 --> 00:09:00.500
und auch was Sinnvolles damit zu tun, was ja auch

00:09:00.500 --> 00:09:02.360
nicht so, dafür gibt es ja auch gar nicht so

00:09:02.360 --> 00:09:03.460
wahnsinnig viele Gelegenheiten oft.

00:09:05.820 --> 00:09:06.300
Ja.

00:09:07.240 --> 00:09:08.720
Und, ach, da hat eine Überleitung,

00:09:09.240 --> 00:09:10.420
die da vielleicht auch

00:09:10.420 --> 00:09:12.340
direkt Sinn macht,

00:09:12.520 --> 00:09:12.640
ist,

00:09:14.340 --> 00:09:15.760
habe ich auch gehört

00:09:15.760 --> 00:09:17.340
in einem Podcast,

00:09:18.480 --> 00:09:20.380
ja, ich bin momentan viel auf Spielplätzen

00:09:20.380 --> 00:09:21.620
unterwegs und höre da Podcasts.

00:09:23.300 --> 00:09:24.320
Kinder toben,

00:09:24.480 --> 00:09:26.820
Vor allem dann langweilig, wenn man in der Sonne rumsteht.

00:09:27.940 --> 00:09:31.040
Und zwar ging es da um Tiger.io.

00:09:31.460 --> 00:09:33.420
Halt nicht so wie das gefährliche Raubtier,

00:09:33.560 --> 00:09:38.500
sondern mehr so wie diese öde, weite Ödnis im Norden.

00:09:38.860 --> 00:09:41.220
Das Projektmanagement-Tool, das wollen wir doch später besprechen.

00:09:41.560 --> 00:09:45.300
Nee, aber das passt jetzt super, das hier dran zu flanschen,

00:09:45.420 --> 00:09:48.920
weil das ist nämlich, könnte man super auch mit dem P-Talks

00:09:48.920 --> 00:09:51.920
eigentlich verbinden, weil, na ja,

00:09:52.020 --> 00:09:53.320
da fehlt halt vielleicht so ein bisschen Ticketsystem.

00:09:53.320 --> 00:09:55.280
und das Tiger hat das

00:09:55.280 --> 00:09:57.180
auch schon eingebaut und das hat irgendwie

00:09:57.180 --> 00:09:58.920
ein ziemlich cooles Ticketsystem eigentlich

00:09:58.920 --> 00:10:01.040
und das ist halt auch Django und das ist vor allen Dingen

00:10:01.040 --> 00:10:03.060
Django REST Framework und hat eine super

00:10:03.060 --> 00:10:04.520
API, das heißt, man kann das alles

00:10:04.520 --> 00:10:07.320
toll auch irgendwie

00:10:07.320 --> 00:10:09.300
ansteuern. Jetzt müssen wir nochmal kurz erklären, was denn Tiger

00:10:09.300 --> 00:10:11.420
jetzt überhaupt ist. Also Tiger ist ein Projektmanagement-Tool,

00:10:11.520 --> 00:10:13.220
wo man Boards bauen kann, Kanbans bauen

00:10:13.220 --> 00:10:15.280
kann, so ein bisschen wie Trello, wenn ihr das vielleicht

00:10:15.280 --> 00:10:17.340
kennt oder so. Ja, wobei ich würde

00:10:17.340 --> 00:10:18.480
sagen, also wenn man

00:10:18.480 --> 00:10:21.300
irgendwie Jira

00:10:21.300 --> 00:10:24.180
Herzliches Beileid, wer es kennt, aber

00:10:24.180 --> 00:10:26.720
ich war

00:10:26.720 --> 00:10:27.260
öfter mal

00:10:27.260 --> 00:10:29.720
das Missvergnügen, irgendwie da

00:10:29.720 --> 00:10:32.100
mich mit Beschäftigen zu wissen und das war

00:10:32.100 --> 00:10:34.400
immer meistens eher schmerzhaft. Das kann aber auch sein,

00:10:34.480 --> 00:10:36.280
das ist einfach, ich meine, es ist einfach viel Zeug und ich

00:10:36.280 --> 00:10:37.620
habe jetzt auch meistens nicht so viel Lust, mich

00:10:37.620 --> 00:10:40.440
mit Projektmanagement-Software zu beschäftigen, daher

00:10:40.440 --> 00:10:42.500
vielleicht lag es auch einfach daran, dass ich da nie

00:10:42.500 --> 00:10:44.240
so wirklich durchschaut habe, wie das

00:10:44.240 --> 00:10:45.040
funktioniert und

00:10:45.040 --> 00:10:48.140
dann schnell was machen wollte und das ging dann halt nicht, weil es

00:10:48.140 --> 00:10:49.960
kompliziert ist und dann war ich irgendwie frustriert.

00:10:50.240 --> 00:10:50.600
Mag sein.

00:10:51.300 --> 00:10:53.120
Vielleicht ist es auch einfach ein furchtbares Tool, kann sein.

00:10:54.280 --> 00:10:54.600
Finde ich auch.

00:10:56.400 --> 00:10:57.360
Also ich konnte es auch nie leiden.

00:10:57.360 --> 00:10:59.400
Ja, das haben wir so auf der komplexen

00:10:59.400 --> 00:11:01.320
Enterprise-Seite irgendwie

00:11:01.320 --> 00:11:03.220
möglicherweise und dann irgendwie sowas wie

00:11:03.220 --> 00:11:05.140
Trello, also die Mutterfirma von

00:11:05.140 --> 00:11:07.220
Jira ist Atlassian,

00:11:07.540 --> 00:11:09.180
die auch mal so, wie hieß das,

00:11:09.220 --> 00:11:10.460
Bitbucket gemacht haben und so,

00:11:11.000 --> 00:11:13.580
die sich jetzt aber eher so in die Projektmanagement-

00:11:13.580 --> 00:11:14.880
Software-Ecke begeben haben, was wahrscheinlich

00:11:14.880 --> 00:11:16.020
ein schlauer Schlagzug war.

00:11:17.000 --> 00:11:19.300
Und auf der anderen Seite

00:11:19.300 --> 00:11:21.240
Trello, genau, das eigentlich von den

00:11:21.240 --> 00:11:22.840
Leuten, die auch Stack-Overflow gemacht haben,

00:11:23.340 --> 00:11:24.620
irgendwie mal gegründet worden, aber

00:11:24.620 --> 00:11:27.560
verkauft worden an

00:11:27.560 --> 00:11:29.280
Atlassian. Aber

00:11:29.280 --> 00:11:30.840
das ist eher so eine leichtgewichtige Geschichte

00:11:30.840 --> 00:11:33.220
und gefällt mir, der Ansatz gefällt mir irgendwie besser,

00:11:33.440 --> 00:11:35.200
aber auch wie man das bedient, gefällt mir besser.

00:11:36.280 --> 00:11:37.240
Kann natürlich nicht so viel

00:11:37.240 --> 00:11:39.180
wie Jira. Und das

00:11:39.180 --> 00:11:40.680
sind sozusagen vielleicht die beiden Pole,

00:11:41.280 --> 00:11:43.100
die so von

00:11:43.100 --> 00:11:45.140
super komplex Enterprise bis zu

00:11:45.140 --> 00:11:47.020
naja, relativ einfach und

00:11:47.020 --> 00:11:48.440
schlank und leicht zu bedienen.

00:11:49.220 --> 00:11:51.340
auf der anderen Seite, dazwischen

00:11:51.340 --> 00:11:52.840
gibt es aber von Atlassian jetzt nix.

00:11:54.340 --> 00:11:55.400
Und da ist

00:11:55.400 --> 00:11:57.140
glaube ich, oder da positioniert sich

00:11:57.140 --> 00:11:59.020
Tiger selber als, ist ein bisschen,

00:11:59.480 --> 00:12:01.240
hat ein bisschen mehr Features als Trello,

00:12:01.480 --> 00:12:02.920
aber ist nicht ganz so,

00:12:02.960 --> 00:12:04.740
nicht ganz so

00:12:04.740 --> 00:12:07.180
kompliziert wie jetzt Jira.

00:12:08.280 --> 00:12:09.420
Aber, und es hat halt

00:12:09.420 --> 00:12:11.080
als Kernfeature halt eine

00:12:11.080 --> 00:12:13.080
API, sodass man quasi alles, man kann sogar mit der API

00:12:13.080 --> 00:12:14.960
mehr machen, als man jetzt mit dem Frontend machen könnte.

00:12:15.700 --> 00:12:16.140
Daher,

00:12:17.200 --> 00:12:19.160
ja, es gibt irgendwie mobile

00:12:19.220 --> 00:12:21.320
Apps irgendwie, die man da verwenden

00:12:21.320 --> 00:12:23.300
kann, die jemand anders gebaut hat, aber der gesehen

00:12:23.300 --> 00:12:25.300
hat, dass man die API verwenden kann und dann hat er das einfach mal gebaut.

00:12:26.100 --> 00:12:27.320
Ja, also wir werden auch später noch

00:12:27.320 --> 00:12:28.980
erzählen, wie man sowas denn auf dem Server hostet.

00:12:29.100 --> 00:12:31.220
Das ist ja das, was wir damit tun. Genau, wenn man

00:12:31.220 --> 00:12:32.780
das installieren wollte, ist es auch komplett

00:12:32.780 --> 00:12:34.400
freistoffbar. Das heißt, man kann das irgendwie

00:12:34.400 --> 00:12:37.180
lokal sich installieren und da betreiben. Das ist ja auch

00:12:37.180 --> 00:12:39.160
für viele Leute wahrscheinlich ganz wichtig, dass man das

00:12:39.160 --> 00:12:41.260
tun kann. Und man kann halt auch reingucken

00:12:41.260 --> 00:12:43.220
und schauen, wie die da so Sachen implementiert

00:12:43.220 --> 00:12:44.540
haben. Ich habe so ein bisschen reingeguckt und war,

00:12:44.680 --> 00:12:47.020
das ist eigentlich ganz gut. Ja, man kann seinen eigenen Board bauen,

00:12:47.100 --> 00:12:49.300
seine eigenen Trelle-Boards organisieren, kann man Boards auf seinem eigenen

00:12:49.300 --> 00:12:51.340
Server basteln. Und sowas habe ich auf jeden Fall

00:12:51.340 --> 00:12:53.040
vor. Finde ich ziemlich cool und ich bin schon

00:12:53.040 --> 00:12:54.460
ziemlich gespannt, wie das alles funktioniert.

00:12:54.600 --> 00:12:57.120
Ja, genau. Also Scrum macht

00:12:57.120 --> 00:12:58.560
das Ding oder man kann halt auch

00:12:58.560 --> 00:12:59.820
damit machen.

00:13:01.100 --> 00:13:02.020
Ja, und

00:13:02.020 --> 00:13:04.880
kann man sich ja mal anschauen. Ist eigentlich ganz nett.

00:13:08.860 --> 00:13:09.180
Genau.

00:13:10.220 --> 00:13:11.140
Ja, was hatten wir noch?

00:13:11.500 --> 00:13:13.020
Wir wollten eigentlich noch ganz kurz auf die Frage von

00:13:13.020 --> 00:13:14.920
Arnim eingehen, der uns eine E-Mail geschickt hatte.

00:13:14.960 --> 00:13:16.520
Oh, das haben wir auch verschludert irgendwie.

00:13:16.740 --> 00:13:19.720
Ja, das war ein bisschen her tatsächlich, schon im Mai, glaube ich.

00:13:20.740 --> 00:13:24.380
Und ja, er wollte mehr über Error-Driven-Development hören.

00:13:24.580 --> 00:13:27.680
Und ja, wir wollten eigentlich mal eine Folge zu Tests machen.

00:13:27.680 --> 00:13:28.360
Ja, das machen wir auf jeden Fall.

00:13:29.260 --> 00:13:30.800
Aber das wird noch ein bisschen dauern.

00:13:30.800 --> 00:13:30.940
Ja.

00:13:31.560 --> 00:13:34.660
Und deswegen so viel, ja, was meinst du denn überhaupt damit an?

00:13:34.740 --> 00:13:35.780
Alle vielleicht nochmal irgendwie fragen.

00:13:35.880 --> 00:13:38.700
Es gibt irgendwie da nicht so ganz klar, welche Methode.

00:13:38.920 --> 00:13:40.780
Ich dachte, ich wüsste, was gemeint wäre.

00:13:41.000 --> 00:13:43.220
Aber dann habe ich nochmal gegoogelt und dachte so, oh nee, ich weiß doch nicht.

00:13:43.640 --> 00:13:45.040
weil, also ich glaube, das kam

00:13:45.040 --> 00:13:46.880
als Reaktion auf einen Pick

00:13:46.880 --> 00:13:48.920
aus einer Folge von Anfang

00:13:48.920 --> 00:13:50.680
Mai, wo wir erwähnt hatten, dass es

00:13:50.680 --> 00:13:52.100
MatMat gibt.

00:13:52.660 --> 00:13:53.020
Das Ding

00:13:53.020 --> 00:13:56.980
macht, sozusagen guckt halt,

00:13:57.560 --> 00:13:59.000
ob, es ist mehr so eine

00:13:59.000 --> 00:14:00.620
Geschichte, um zu schauen, ob deine Tests

00:14:00.620 --> 00:14:02.420
halbwegs abdecken, was dein Code so tut,

00:14:02.900 --> 00:14:04.800
indem es einfach deinen Code zufällig verändert

00:14:04.800 --> 00:14:06.380
und dann guckt, ob die Tests brechen oder nicht.

00:14:06.520 --> 00:14:08.940
Und wenn dein Code zufällig

00:14:08.940 --> 00:14:10.380
verändert werden kann, ohne dass deine Tests brechen,

00:14:10.480 --> 00:14:12.440
dann weißt du halt, okay, das ist ein Problem.

00:14:13.400 --> 00:14:16.060
Und sie nennen das Mutation-Testing.

00:14:17.800 --> 00:14:20.000
Das ist eigentlich auch eine ganz nette Idee.

00:14:20.580 --> 00:14:22.380
Aber das würde ich jetzt Error-Driven-Development,

00:14:22.380 --> 00:14:22.760
weiß ich nicht.

00:14:24.380 --> 00:14:27.380
Leute benutzen den Begriff gerne als Gegenbegriff

00:14:27.380 --> 00:14:28.760
zu Test-Driven-Development.

00:14:30.260 --> 00:14:32.020
Beziehungsweise schreiben dann halt,

00:14:32.260 --> 00:14:35.340
dass wenn du kein Test-Driven-Development machst,

00:14:35.700 --> 00:14:37.260
dann machst du halt Error-Driven-Development.

00:14:37.780 --> 00:14:40.040
Was vielleicht, wenn man sich das mal klar macht,

00:14:40.040 --> 00:14:41.400
also natürlich ist das irgendwie schon so.

00:14:41.780 --> 00:14:43.160
Und wenn man sich das mal klar macht,

00:14:43.260 --> 00:14:45.800
dann kann man sich auch vielleicht vorstellen, dass es nicht so eine

00:14:45.800 --> 00:14:47.660
super schlaue Idee ist, sondern dass man das vielleicht

00:14:47.660 --> 00:14:49.740
ja dann gleich richtig

00:14:49.740 --> 00:14:51.520
machen kann. Wobei, naja, ich meine,

00:14:51.600 --> 00:14:53.240
ich würde auch dieses Test Driven Development

00:14:53.240 --> 00:14:54.800
Kool-Aid nicht irgendwie

00:14:54.800 --> 00:14:57.760
nicht einfach so schlucken,

00:14:58.020 --> 00:14:58.660
sondern da

00:14:58.660 --> 00:15:01.680
also man sollte Sachen vielleicht

00:15:01.680 --> 00:15:02.720
nicht so total übertreiben,

00:15:02.980 --> 00:15:05.620
was die Reinheit angeht, der Gedanken.

00:15:07.260 --> 00:15:07.700
Ich

00:15:07.700 --> 00:15:09.580
probiere auch oft lieber Dinge erstmal

00:15:09.580 --> 00:15:11.480
aus oder so, bevor ich dann Tests schreibe, weil

00:15:11.480 --> 00:15:13.720
man legt sich halt auch, was die Implementation

00:15:13.720 --> 00:15:15.180
angeht, ziemlich fest, wenn man Tests schreibt.

00:15:17.020 --> 00:15:17.680
Damit sollte man

00:15:17.680 --> 00:15:19.500
sich dann schon halbwegs sicher sein, was das Ding eigentlich machen soll,

00:15:19.600 --> 00:15:20.720
bevor man das tut. Aber

00:15:20.720 --> 00:15:23.460
ja, es ist auf jeden Fall, Testschreiben ist eine gute Idee

00:15:23.460 --> 00:15:23.900
und

00:15:23.900 --> 00:15:26.200
sozusagen

00:15:26.200 --> 00:15:29.440
sich nicht von den Fehlern, die

00:15:29.440 --> 00:15:31.580
User anreporten, quasi

00:15:31.580 --> 00:15:32.200
die Tests

00:15:32.200 --> 00:15:35.740
als Tests zu benutzen,

00:15:35.800 --> 00:15:37.120
ist wahrscheinlich eine ganz schlaue Idee.

00:15:37.780 --> 00:15:39.460
Aber wie gesagt, ich weiß nicht genau, was gemeint war.

00:15:39.460 --> 00:15:41.200
Insofern nochmal nachfragen. Wir machen auf jeden Fall

00:15:41.200 --> 00:15:43.160
eine Folge zu Testing

00:15:43.160 --> 00:15:45.000
mindestens noch jemanden finden, der

00:15:45.000 --> 00:15:46.920
irgendwie Lust hat, da mit uns drüber zu reden.

00:15:47.600 --> 00:15:49.140
Test ist nämlich immer das spannendste Thema von allen.

00:15:49.300 --> 00:15:51.400
Ja, was

00:15:51.400 --> 00:15:53.260
noch mal, das ist ja auch schon fast ein Monat her jetzt,

00:15:53.280 --> 00:15:55.300
wir haben ja schon Juli, ist gerade eine Folge

00:15:55.300 --> 00:15:57.240
Visual Studio Code und da auch über Test,

00:15:57.360 --> 00:15:58.480
da kam ich gerade drauf, glaube ich,

00:15:59.140 --> 00:16:00.880
die man mit Visual Studio Code machen kann und

00:16:00.880 --> 00:16:03.180
das Debugging-System auf

00:16:03.180 --> 00:16:04.640
TalkPython2Me.

00:16:05.420 --> 00:16:07.220
Ja, ja, ja, das war irgendwie der, glaube ich,

00:16:07.220 --> 00:16:09.360
der Chef von den Produkt-Ownern

00:16:09.360 --> 00:16:11.320
für Visual Studio Code irgendwie, der da

00:16:11.320 --> 00:16:13.260
interviewt wurde. Der hat eine Menge

00:16:13.260 --> 00:16:14.960
auch interessante Sachen erzählt.

00:16:16.160 --> 00:16:17.420
Ja, vor allen Dingen, dass Visual Studio

00:16:17.420 --> 00:16:19.500
Code halt auch irgendwie bei Python-Entwicklern

00:16:19.500 --> 00:16:21.440
so super populär

00:16:21.440 --> 00:16:23.100
ist irgendwie, womit sie gar nicht so

00:16:23.100 --> 00:16:25.140
berechnet hätten am Anfang, aber das hat sich irgendwie so

00:16:25.140 --> 00:16:27.320
rausgestellt. Offenbar gab es da irgendwie so

00:16:27.320 --> 00:16:27.760
eine Marktlücke.

00:16:29.120 --> 00:16:31.240
Ja, ich benutze ja jetzt auch schon eine Zeit lang

00:16:31.240 --> 00:16:32.160
Visual Studio Code.

00:16:33.300 --> 00:16:35.020
Hast mich angesteckt.

00:16:35.020 --> 00:16:37.040
Ja, war eine gute Idee.

00:16:37.560 --> 00:16:38.340
Es ist tatsächlich auch ein

00:16:38.340 --> 00:16:40.260
Editorialisierer. Ich meine, es ist so eine,

00:16:40.500 --> 00:16:42.400
viele Leute mögen ja dieses

00:16:42.400 --> 00:16:44.660
Elektronen, es ist auch eine elektronenbasierter

00:16:44.660 --> 00:16:45.760
Editorial insofern.

00:16:46.600 --> 00:16:48.320
Ja, viele mögen das nicht so, aber

00:16:48.320 --> 00:16:50.480
es funktioniert ziemlich. Also wenn ich das

00:16:50.480 --> 00:16:52.080
zum Beispiel vergleiche mit PyCharm, PyCharm

00:16:52.080 --> 00:16:53.980
habe ich ja auch irgendwie eine Zeit lang verwendet,

00:16:54.340 --> 00:16:55.480
oder fand ich auch ab und zu immer noch, aber

00:16:55.480 --> 00:16:58.260
tatsächlich fühlt sich das

00:16:58.260 --> 00:16:59.320
irgendwie deutlich

00:16:59.320 --> 00:17:02.000
softer an, so smoother. Ja, irgendwie

00:17:02.000 --> 00:17:04.200
snappier, ich weiß nicht, was

00:17:04.200 --> 00:17:06.200
kam da noch vor? Ja, es gibt da so ein paar Sachen, die funktionieren direkt,

00:17:06.340 --> 00:17:07.980
also irgendwie, ne? Es ist einfach viel schneller.

00:17:08.340 --> 00:17:10.280
es fühlt sich schneller an. Vielleicht ist es gar nicht schneller, aber es

00:17:10.280 --> 00:17:12.380
fühlt sich schneller an. Die Sachen reagieren einfach

00:17:12.380 --> 00:17:14.260
viel. Also die Latenz, wenn man auf irgendwas

00:17:14.260 --> 00:17:16.240
drückt oder so oder irgendeine Tastenkombination eingibt,

00:17:16.720 --> 00:17:18.200
die Latenz, bis dann was passiert, ist

00:17:18.200 --> 00:17:20.380
deutlich schneller. Vielleicht hast du ja noch ein Rechner

00:17:20.380 --> 00:17:22.040
gekauft inzwischen. Ne, ne.

00:17:23.940 --> 00:17:24.300
Daran

00:17:24.300 --> 00:17:26.280
liegt es nicht. Und ja,

00:17:26.420 --> 00:17:28.220
das ist halt, also, ja, ich weiß nicht,

00:17:28.280 --> 00:17:30.000
wie sie das, ich weiß auch nicht, vielleicht macht auch

00:17:30.000 --> 00:17:32.140
PyCharm irgendwas falsch, keine Ahnung. Ja, das ist echt cool. Also

00:17:32.140 --> 00:17:34.060
irgendwie, wenn man seinen Code damit verwalten will,

00:17:34.120 --> 00:17:36.160
irgendwie auf Git oder sonst irgendwo,

00:17:36.240 --> 00:17:38.100
das funktioniert super. Integration mit Azure ist

00:17:38.100 --> 00:17:40.000
toll. Man kann direkt automatisch CI

00:17:40.000 --> 00:17:42.140
irgendwie CD machen und

00:17:42.140 --> 00:17:44.140
das alles pushen. Man kann Live-Sharing

00:17:44.140 --> 00:17:45.940
machen und dann gemeinsam am Code arbeiten, was auch

00:17:45.940 --> 00:17:46.840
ziemlich gut funktioniert.

00:17:46.960 --> 00:17:50.020
Link und Multicursor und

00:17:50.020 --> 00:17:51.580
Übertragung und

00:17:51.580 --> 00:17:54.040
Terminal und mittlerweile, also in dem

00:17:54.040 --> 00:17:56.000
Nightly-Bild war das drin, ich glaube, das müsste mittlerweile

00:17:56.000 --> 00:17:58.020
sowas von im Stäbel sein, dass man jetzt auch über SSH

00:17:58.020 --> 00:18:00.180
einfach sich irgendwo auf eine Maschine legen kann

00:18:00.180 --> 00:18:02.140
und da im Verzeichnis entwickeln

00:18:02.140 --> 00:18:03.680
kann, dass das auch ziemlich praktisch

00:18:03.680 --> 00:18:05.740
kannst du auf deine VSL-Maschine gehen oder auf

00:18:05.740 --> 00:18:07.800
in Respy oder auf einen anderen Server, wenn du

00:18:07.800 --> 00:18:09.840
lustig bist und direkt da editieren.

00:18:10.160 --> 00:18:11.680
Das ist ja auch oft ein Argument, was man hört, dass

00:18:11.680 --> 00:18:13.440
Leute sagen, ja, ich nutze halt

00:18:13.440 --> 00:18:15.940
VI oder Vim, weil da habe ich überall die gleiche

00:18:15.940 --> 00:18:17.140
Entwicklungsumgebung und

00:18:17.140 --> 00:18:20.000
ja, auch wenn ich mich auf irgendwelchen Produktionsmaschinen

00:18:20.000 --> 00:18:21.020
einlogge, kann ich da auch mal

00:18:21.020 --> 00:18:24.160
meine Umgebung

00:18:24.160 --> 00:18:25.620
so wie ich da, aber genau,

00:18:25.800 --> 00:18:27.720
ist natürlich in gewisser Weise ein Argument, aber geht mit

00:18:27.720 --> 00:18:29.780
VS Code jetzt auch. Braucht man gar nicht mehr

00:18:29.780 --> 00:18:30.840
unbedingt Vim für verwenden.

00:18:32.180 --> 00:18:33.680
Also falls noch jemand herausbekommen hat, wie man

00:18:33.680 --> 00:18:35.620
sowas wie Foxdot verwendet mit VS Code,

00:18:35.700 --> 00:18:36.660
Das habe ich nämlich noch nicht hinbekommen.

00:18:36.800 --> 00:18:39.340
Das ist Live-Evaluation von Python-Code.

00:18:40.020 --> 00:18:40.940
Da hätte ich noch Lust drauf.

00:18:41.020 --> 00:18:42.540
Das würde ich gerne noch rausfinden.

00:18:42.620 --> 00:18:43.760
Das müsste irgendwie funktionieren.

00:18:44.260 --> 00:18:46.080
Dass man irgendwie, weiß nicht, Alt-Enter drückt oder sowas.

00:18:46.160 --> 00:18:47.440
Und dann spielt er direkt die eine Zeile.

00:18:47.560 --> 00:18:49.440
Dann kann man Musik machen mit Foxhut für Python.

00:18:49.940 --> 00:18:50.560
Das fände ich noch super.

00:18:50.760 --> 00:18:51.940
Sonst muss ich mich irgendwie dran basteln.

00:18:52.180 --> 00:18:53.360
Aber ja, so viel.

00:18:54.380 --> 00:18:55.920
Wenig Zeit für so viele Projekte, ja.

00:18:56.400 --> 00:18:59.100
Du hattest irgendwas noch reingeschrieben.

00:18:59.200 --> 00:18:59.800
PySimple?

00:19:00.660 --> 00:19:01.360
PySimple GUI.

00:19:01.360 --> 00:19:04.620
Ja, da gibt es jetzt noch einigermaßen fünffige Versionen.

00:19:04.720 --> 00:19:06.680
ist jetzt auch irgendwie vor, weiß nicht wann das

00:19:06.680 --> 00:19:08.020
rausgekommen ist, vor ein, zwei Wochen oder so,

00:19:08.760 --> 00:19:10.160
die man ganz gut nutzen kann. Das ist

00:19:10.160 --> 00:19:11.900
ein Wrapper für

00:19:11.900 --> 00:19:14.340
Tkinter, TK oder

00:19:14.340 --> 00:19:16.680
PyQ5. Kann man beides benutzen

00:19:16.680 --> 00:19:18.800
mit derselben Syntax. Man kann halt einfach angeben, welches

00:19:18.800 --> 00:19:20.280
der dann visualisieren soll und

00:19:20.280 --> 00:19:22.660
hat einen relativ einfachen GUI für die

00:19:22.660 --> 00:19:24.640
ja, Python ist ja nicht so besonders stark

00:19:24.640 --> 00:19:26.640
bei grafischer Programmierung und

00:19:26.640 --> 00:19:28.440
das kann man damit aber ganz gut und

00:19:28.440 --> 00:19:30.080
vor allen Dingen schnell und effektiv erledigen.

00:19:31.360 --> 00:19:32.680
Das lohnt sich vielleicht da auch mal kurz

00:19:32.680 --> 00:19:33.840
reinschauen. Wollen wir mal angucken.

00:19:34.720 --> 00:19:36.860
Genau, jetzt hast du mir meine Woche schon fast geklaut.

00:19:37.340 --> 00:19:37.860
Ach so, sorry.

00:19:40.780 --> 00:19:46.680
Oh, ein Podcast, den ich auch noch gerne

00:19:46.680 --> 00:19:48.660
erwähnen würde, ist auch einer

00:19:48.660 --> 00:19:50.800
der letzten Django-Chat-Folgen

00:19:50.800 --> 00:19:52.380
mit Simon Willison.

00:19:53.000 --> 00:19:54.600
Also einer der Leute, die auch Django

00:19:54.600 --> 00:19:56.460
quasi so mit aus der

00:19:56.460 --> 00:19:57.660
Taufe gehoben haben.

00:20:01.420 --> 00:20:01.860
Ziemlich,

00:20:02.060 --> 00:20:04.460
ist also mit vielleicht, also Audioqualität

00:20:04.460 --> 00:20:05.640
ist manchmal so ein bisschen, aber

00:20:05.640 --> 00:20:08.200
ansonsten inhaltlich fand ich das

00:20:08.200 --> 00:20:10.120
sehr, sehr gut. Das war sehr, sehr

00:20:10.120 --> 00:20:11.600
spannend, was er da so alles erzählt hat,

00:20:12.480 --> 00:20:14.240
also was die Geschichte von Django angeht, aber auch

00:20:14.240 --> 00:20:16.320
was so die aktuellen Entwicklungen sind,

00:20:16.400 --> 00:20:18.040
was er für spannend hält, ne, und das halt

00:20:18.040 --> 00:20:18.760
gerade irgendwie,

00:20:19.740 --> 00:20:20.980
ja,

00:20:22.180 --> 00:20:23.260
so momentan spielt,

00:20:23.600 --> 00:20:25.980
Async-Geschichten spielen da eine große Rolle, ne, die sind gerade

00:20:25.980 --> 00:20:26.860
sehr spannend oder

00:20:26.860 --> 00:20:29.840
sein Privat, oder sein

00:20:29.840 --> 00:20:31.680
Pet-Project, was aber jetzt auch

00:20:31.680 --> 00:20:33.340
mittlerweile so groß geworden ist, dass

00:20:33.340 --> 00:20:34.980
Pet oder Pet?

00:20:35.960 --> 00:20:37.780
Ja, ja, so ein Nebenprojekt halt, aber

00:20:37.780 --> 00:20:39.840
es ist nicht mehr wirklich so neben, sondern er hat ja irgendwie auch

00:20:39.840 --> 00:20:41.940
eine... Das Peißen-Halsband für die Katze, oder?

00:20:42.280 --> 00:20:43.840
Nee, ja, also

00:20:43.840 --> 00:20:47.300
er hat da irgendwie eine

00:20:47.300 --> 00:20:49.920
Fellowship gekriegt, ich weiß es nicht genau, wo er dann von

00:20:49.920 --> 00:20:51.820
irgendeiner Uni ein Jahr lang bezahlt wird, dafür

00:20:51.820 --> 00:20:53.960
das jetzt zu entwickeln, das schon mal...

00:20:53.960 --> 00:20:55.740
Also, daher geht auch die Entwicklung da

00:20:55.740 --> 00:20:57.640
relativ schnell voran. Das Projekt heißt

00:20:57.640 --> 00:20:59.660
Dataset. Ach so.

00:21:00.220 --> 00:21:01.780
Genau, das ist mir auch

00:21:01.780 --> 00:21:03.560
früher schon mal aufgefallen, hatte ich bestimmt auch schon mal ein paar Mal

00:21:03.560 --> 00:21:05.780
erwähnt oder so. Ich glaube schon, hast du schon mal drüber gestolpert.

00:21:05.920 --> 00:21:07.940
Ja, genau. Darüber

00:21:07.940 --> 00:21:09.720
können wir bestimmt auch noch mal eine eigene

00:21:09.720 --> 00:21:11.700
Sendung machen. Ich wollte mich

00:21:11.700 --> 00:21:13.560
damit auch noch intensiver beschäftigen. Das ist

00:21:13.560 --> 00:21:14.940
eigentlich eine sehr coole Idee,

00:21:15.660 --> 00:21:16.120
wie man

00:21:16.120 --> 00:21:19.880
mit einer SQLite-Datenbank

00:21:19.880 --> 00:21:21.780
halt Datensätze

00:21:21.780 --> 00:21:23.720
irgendwie verfügbar machen kann

00:21:23.720 --> 00:21:25.600
öffentlich, und zwar

00:21:25.600 --> 00:21:27.620
auf eine Art, wie man halt sehr, sehr gut das abfragen

00:21:27.620 --> 00:21:29.560
kann, aber ohne, also man kann eine SQL-State

00:21:29.560 --> 00:21:31.620
und es einfach verwenden und man kann auch so coole Sachen

00:21:31.620 --> 00:21:33.560
machen wie JavaScript benutzen,

00:21:33.720 --> 00:21:35.520
um SQL-Statements zu erzeugen, die man da verwenden kann,

00:21:35.600 --> 00:21:36.980
um die Daten noch zu fragen, voll gut.

00:21:38.080 --> 00:21:39.680
Und normalerweise ist das alles puri bär, weil

00:21:39.680 --> 00:21:41.640
schrecklich, schrecklich SQL-Injection

00:21:41.640 --> 00:21:42.600
droht und so, aber

00:21:42.600 --> 00:21:45.060
man kann SQL

00:21:45.060 --> 00:21:47.100
SQLite

00:21:47.100 --> 00:21:49.020
so starten, dass man sagt,

00:21:49.560 --> 00:21:51.080
das ist dein Datenbankens Read-Only

00:21:51.080 --> 00:21:53.640
und dann ist das alles nicht mehr schlimm, weil es kann nichts

00:21:53.640 --> 00:21:55.220
passieren. Und

00:21:55.220 --> 00:21:57.680
da ist das, was man normalerweise nicht tun sollte,

00:21:57.800 --> 00:21:58.980
dann plötzlich alles erlaubt und cool.

00:21:59.560 --> 00:22:01.840
Das ist

00:22:01.840 --> 00:22:04.260
einfach, es ist nett.

00:22:04.360 --> 00:22:06.300
Es hat viele überraschende Wendungen, dieses Ding,

00:22:06.460 --> 00:22:08.520
wo man sich denkt, ach cool, das geht und das kann man

00:22:08.520 --> 00:22:10.520
so machen. Ja, die Datasette-Folge

00:22:10.520 --> 00:22:12.280
müssen wir uns da nochmal aufschreiben, die steht nämlich gar nicht noch.

00:22:12.280 --> 00:22:14.260
Ja, die muss da noch mit

00:22:14.260 --> 00:22:16.120
drauf. Genau, das war

00:22:16.120 --> 00:22:18.160
also diese Podcast-Episode kann ich

00:22:18.160 --> 00:22:20.300
Leuten durchaus, die sich für Django und so interessieren

00:22:20.300 --> 00:22:21.520
ins Herz legen, ist ja

00:22:21.520 --> 00:22:24.240
sehr nett. Ja, ich würde sagen, jetzt

00:22:24.240 --> 00:22:26.100
haben wir aber die News halt durch und machen den nächsten Chapter,

00:22:26.300 --> 00:22:28.180
Marc, weil so langsam löchere ich dich jetzt

00:22:28.180 --> 00:22:29.840
damit, wie das denn jetzt überhaupt funktioniert mit dem Server.

00:22:29.960 --> 00:22:31.160
Und wir fangen wirklich von ganz

00:22:31.160 --> 00:22:33.940
Basis-Bodensatz an, also so

00:22:33.940 --> 00:22:35.940
gar keine Ahnung, wie macht ihr das und so und wo

00:22:35.940 --> 00:22:37.840
und ja, ich möchte nämlich auch wissen,

00:22:37.900 --> 00:22:39.640
wie man das am besten macht, so Best Practice,

00:22:39.780 --> 00:22:40.680
was sagt denn Jochen dazu?

00:22:41.560 --> 00:22:43.740
Und ja, ich würde sagen, können wir starten

00:22:43.740 --> 00:22:45.880
jetzt mit unserem Hauptthema, Server. Dann starten wir da mal.

00:22:46.040 --> 00:22:47.300
Server, die Plattform für Anfänger, ja.

00:22:48.540 --> 00:22:49.680
Erstmal Server,

00:22:50.400 --> 00:22:51.780
was ist denn das? Also irgendwo so

00:22:51.780 --> 00:22:53.640
ein Rechner, der irgendwie bedienbar ist,

00:22:53.680 --> 00:22:55.560
das sollte ja irgendwie so klar sein, aber

00:22:55.560 --> 00:22:57.460
ja, wen nehme ich denn da?

00:22:57.660 --> 00:22:59.560
Also, was mache ich denn da für einen Server?

00:22:59.720 --> 00:23:01.740
Nämlich irgendeinen Hosting-Anbieter,

00:23:02.040 --> 00:23:03.980
Cloud-dedizierten Server, virtuellen

00:23:03.980 --> 00:23:05.860
Server, warum und so.

00:23:06.460 --> 00:23:07.400
Boah, ich brauche ja noch irgendwie

00:23:07.400 --> 00:23:09.660
jetzt eine Domain und so, ne?

00:23:10.000 --> 00:23:11.620
Wie würdest du das irgendwie so...

00:23:11.620 --> 00:23:13.860
Ja, also was man auf jeden Fall tun sollte,

00:23:13.860 --> 00:23:16.120
ist halt irgendwie eine Domain selber registrieren

00:23:16.120 --> 00:23:17.580
und was

00:23:17.580 --> 00:23:19.900
nicht so... Also, man sollte

00:23:19.900 --> 00:23:21.600
vielleicht... Da schreibst du einen Brief und schickst den an eine Stelle.

00:23:22.380 --> 00:23:23.620
Ja, nee, da gibt es ganz viele Anbieter.

00:23:23.740 --> 00:23:25.760
Ich weiß nicht, kann man... Ich bin das Universum, ich hätte gerne diese Domain.

00:23:25.780 --> 00:23:28.940
Ja, es gibt ja diverse Anbieter,

00:23:29.000 --> 00:23:30.160
da muss man halt ein bisschen Geld bezahlen,

00:23:30.300 --> 00:23:31.300
das kostet gar nicht so viel pro Jahr

00:23:31.300 --> 00:23:32.620
und dann hat man halt ein Domain.

00:23:33.040 --> 00:23:34.160
Du hast gesagt, selber registrieren,

00:23:34.240 --> 00:23:36.100
also es gibt ja verschiedenste Server,

00:23:36.400 --> 00:23:38.720
Hoster, die das alles mit einbieten.

00:23:38.740 --> 00:23:40.320
Ja, aber das ist vielleicht nicht so eine schlaue Idee,

00:23:40.400 --> 00:23:41.840
das zu machen, sondern besser.

00:23:42.040 --> 00:23:42.640
Aus welchem Grund?

00:23:43.100 --> 00:23:44.240
Weil man das ja ändern können will.

00:23:44.580 --> 00:23:45.940
Also bei vielen kann man das auch ändern,

00:23:46.060 --> 00:23:46.760
das ist kein Problem,

00:23:46.760 --> 00:23:49.900
aber ich kenne das auch,

00:23:50.020 --> 00:23:52.120
dass viele, also so gerade, weiß ich nicht,

00:23:52.200 --> 00:23:53.900
eben diese, ja,

00:23:54.820 --> 00:23:56.360
Welt, Wald und Wiesen

00:23:56.360 --> 00:23:57.420
Muster.

00:23:58.160 --> 00:24:00.080
Da hat man dann oft irgendwie so ein Formular, wo man

00:24:00.080 --> 00:24:01.720
irgendwie DNS-Geschichten eingeben kann,

00:24:01.940 --> 00:24:04.040
aber dann halt die Sachen, die man braucht,

00:24:04.840 --> 00:24:06.140
also weiß ich nicht, irgendwelche,

00:24:06.620 --> 00:24:07.660
wie heißen diese Dinge,

00:24:08.300 --> 00:24:09.560
Verified Domain,

00:24:09.860 --> 00:24:12.000
SPF Records oder, also es gibt

00:24:12.000 --> 00:24:13.820
diverse Records, die man unter Umständen einstellen

00:24:13.820 --> 00:24:15.860
können möchte. Was ist ein Record?

00:24:16.420 --> 00:24:17.460
Oh Gott, oh Gott, oh Gott.

00:24:18.080 --> 00:24:19.920
Erklären, wie das Domain Name System funktioniert.

00:24:20.560 --> 00:24:22.180
Also das ist im Grunde eine verteilte Datenbank,

00:24:22.200 --> 00:24:23.700
die

00:24:23.700 --> 00:24:27.280
Informationen darüber

00:24:27.280 --> 00:24:28.560
enthält, wie

00:24:28.560 --> 00:24:31.320
Namen auf

00:24:31.320 --> 00:24:33.860
IP-Adressen aufgelöst

00:24:33.860 --> 00:24:34.920
werden und umgekehrt.

00:24:35.640 --> 00:24:37.120
Das heißt, da steht irgendwo, wenn man irgendwie den

00:24:37.120 --> 00:24:39.260
Nameserver irgendwie fragt, keine Ahnung, der Einzige,

00:24:39.360 --> 00:24:41.300
der wahrscheinlich bekannt ist, der von Google mit den

00:24:41.300 --> 00:24:43.420
4.8 oder sowas oder 8.4.4

00:24:43.420 --> 00:24:45.280
oder was und dann gibt es ja auch noch einige unabhängigere,

00:24:45.360 --> 00:24:47.060
wenn man nicht alle seine Daten zu Google schicken möchte.

00:24:47.620 --> 00:24:49.320
Aber die fragt man dann und die wissen

00:24:49.320 --> 00:24:51.300
dann, wo, hinter welcher IP oder hinter

00:24:51.300 --> 00:24:52.600
welchem Namen, welcher IP steht.

00:24:53.000 --> 00:24:55.200
Ja, man kann auch einen eigenen Resolver betreiben. Also man kann das

00:24:55.200 --> 00:24:57.120
durchaus von Hand auch machen. Das ist vielleicht mal eine ganz interessante

00:24:57.120 --> 00:24:59.280
Geschichte, dass man halt irgendwie

00:24:59.280 --> 00:25:01.260
das mal einfach von Hand mit

00:25:01.260 --> 00:25:02.140
den S-Abfragen

00:25:02.140 --> 00:25:04.160
irgendwas resolft.

00:25:04.940 --> 00:25:07.080
Man resolft das halt so von hinten nach vorne. Also wenn man

00:25:07.080 --> 00:25:07.980
jetzt irgendwie

00:25:07.980 --> 00:25:11.100
pythonpodcast.de hätte, dann würde man

00:25:11.100 --> 00:25:13.200
erstmal gucken, okay, also was man wissen muss

00:25:13.200 --> 00:25:15.100
ist, man braucht

00:25:15.100 --> 00:25:17.180
irgendwie so einen Root-Nameserver, aber wenn

00:25:17.180 --> 00:25:18.500
man eine IP von dem hat,

00:25:18.760 --> 00:25:21.120
dann kann man den halt fragen, okay, was ist denn der

00:25:21.120 --> 00:25:22.800
Nameserver, der zuständig ist für die .de

00:25:22.800 --> 00:25:25.140
Zone. Und der Root-Nameserver, das sind

00:25:25.140 --> 00:25:27.160
die großen Knotenpunkte? Ja.

00:25:27.420 --> 00:25:29.280
Kriege ich das irgendwie raus, wenn ich so ein Trace-Root mache,

00:25:29.360 --> 00:25:31.120
wo die irgendwie hängen? Ja, die sind

00:25:31.120 --> 00:25:32.660
weltweit verteilt. Da gibt es ein paar von

00:25:32.660 --> 00:25:34.720
Rootservers.net, irgendwie

00:25:34.720 --> 00:25:36.800
a.rootservers.net oder ein paar,

00:25:37.020 --> 00:25:39.220
also ich weiß jetzt gar nicht mehr genau alles

00:25:39.220 --> 00:25:40.880
schon, altes Wissen, vielleicht ist auch

00:25:40.880 --> 00:25:42.960
mittlerweile alles anders, aber

00:25:42.960 --> 00:25:45.120
auf der ganzen Welt sind da ein paar von denen verteilt

00:25:45.120 --> 00:25:45.440
und

00:25:45.440 --> 00:25:49.120
normalerweise, also einige von denen

00:25:49.120 --> 00:25:51.020
sind halt einfach, die IP-Adressen sind halt eingebaut in

00:25:51.020 --> 00:25:51.560
diverse

00:25:51.560 --> 00:25:54.360
Resolver-Libraries daher.

00:25:55.280 --> 00:25:57.140
Aber das muss man irgendwie wissen, sonst kommt man halt

00:25:57.140 --> 00:25:59.200
auch nicht weiter. Und von denen

00:25:59.200 --> 00:26:01.040
kann man sich dann halt durchhangeln bis zu der

00:26:01.040 --> 00:26:03.100
Domain, die man eigentlich haben möchte. Und quasi

00:26:03.100 --> 00:26:05.080
für jeden Teil der Domain

00:26:05.080 --> 00:26:07.160
fragt man dann halt den entsprechenden Nameserver.

00:26:07.860 --> 00:26:08.500
Also über

00:26:08.500 --> 00:26:11.100
eben die Records, also NS-Records sind halt

00:26:11.100 --> 00:26:12.960
die Records, die zuständig sind, einem

00:26:12.960 --> 00:26:14.900
zu sagen, was denn der Nameserver

00:26:14.900 --> 00:26:17.060
zuständig Nameserver ist. Also ich frage halt quasi den

00:26:17.060 --> 00:26:21.860
NS-Record für .de

00:26:21.860 --> 00:26:23.620
den Root-Server und dann kriege ich halt

00:26:23.620 --> 00:26:25.360
irgendwie den Nameserver, der zuständig ist für die

00:26:25.360 --> 00:26:26.140
.de-Zone

00:26:26.140 --> 00:26:29.060
und das ist halt

00:26:29.060 --> 00:26:30.340
na, wie heißen sie noch?

00:26:31.640 --> 00:26:31.840
Hier

00:26:31.840 --> 00:26:35.320
DENIC, da habt ihr irgendwo

00:26:35.320 --> 00:26:36.180
Frankfurt steht, glaube ich

00:26:36.180 --> 00:26:39.520
und die haben

00:26:39.520 --> 00:26:41.000
dann das .de-Zone-File irgendwie

00:26:41.000 --> 00:26:43.440
drin und da steht dann halt

00:26:43.440 --> 00:26:45.640
drin, wer, also in dem File steht vor allen Dingen

00:26:45.640 --> 00:26:47.440
stehen die NS-Records für alle

00:26:47.440 --> 00:26:49.260
DE-Domains, sozusagen.

00:26:49.420 --> 00:26:51.480
Wenn ich jetzt wissen will, wer ist, welcher Name-Server

00:26:51.480 --> 00:26:53.280
ist dann zuständig für Python-Podcast.de,

00:26:53.920 --> 00:26:56.040
dann hole ich mir den NS-Record

00:26:56.040 --> 00:26:57.060
für Python-Podcast

00:26:57.060 --> 00:26:58.720
in dem

00:26:58.720 --> 00:27:01.600
Name-Server, der für .de zuständig ist

00:27:01.600 --> 00:27:03.520
und dann, genau,

00:27:03.660 --> 00:27:04.760
kriege ich das irgendwie zu.

00:27:04.760 --> 00:27:07.480
Könnte ich das auch irgendwie selber machen, dass ich irgendwie sage, so, hey, hier,

00:27:07.600 --> 00:27:08.500
ich heiße jetzt gerne

00:27:08.500 --> 00:27:11.680
DominikMeinPython

00:27:11.680 --> 00:27:13.580
kommen oder sowas, oder DE, wir wollen ja zu

00:27:13.580 --> 00:27:15.500
DIN-NIC und dann sage ich der DIN-NIC so,

00:27:15.540 --> 00:27:17.680
hey, wer scannet so, ist das noch frei

00:27:17.680 --> 00:27:19.520
und schick das dann irgendwie da bei

00:27:19.520 --> 00:27:21.600
DIN-NIC-Liste. Das geht nicht unbedingt so

00:27:21.600 --> 00:27:23.480
einfach. Das heißt, ich muss da ein Registrier

00:27:23.480 --> 00:27:25.400
Registrar für verwenden.

00:27:25.500 --> 00:27:26.680
Ja, also früher ging das auch.

00:27:27.620 --> 00:27:29.440
Ist man da vorbeigegangen beim DIN-NIC, hat er die Tür

00:27:29.440 --> 00:27:31.340
geklopft und gesagt, hallo. Ich hätte

00:27:31.340 --> 00:27:32.320
mal so gerne ein Domain.

00:27:32.760 --> 00:27:34.200
Aber das geht schon lange nicht mehr.

00:27:36.260 --> 00:27:37.340
Da kamen so viele Leute wahrscheinlich

00:27:37.340 --> 00:27:37.740
auf diese Idee.

00:27:40.280 --> 00:27:40.900
Ja, das

00:27:40.900 --> 00:27:42.680
geht schon lange nicht mehr. Aber

00:27:42.680 --> 00:27:45.240
genau, man braucht... Also bei Gandhi macht das dann zum Beispiel

00:27:45.240 --> 00:27:47.220
wenn ich jetzt bei dem... Ja, es gibt ganz viele

00:27:47.220 --> 00:27:48.660
unterschiedliche, also ich weiß gar nicht, ob es da

00:27:48.660 --> 00:27:51.160
ich weiß nicht, ob das, was ich da finde, gut ist oder

00:27:51.160 --> 00:27:53.080
nicht, keine Ahnung. Es spielt auch keine

00:27:53.080 --> 00:27:55.020
große Rolle, weil es ist, die können alle irgendwie

00:27:55.020 --> 00:27:55.900
mehr oder weniger das Gleiche.

00:27:57.940 --> 00:27:59.120
Ja, aber was wichtig ist,

00:27:59.160 --> 00:28:01.060
dass man selber das registriert hat und selber dann

00:28:01.060 --> 00:28:01.760
sozusagen die

00:28:01.760 --> 00:28:05.200
Sachen ändern kann und halt auch das umziehen kann,

00:28:05.200 --> 00:28:07.140
wenn man mag und so. Und das ist halt

00:28:07.140 --> 00:28:08.420
bei diesen, wenn man das beim Provider macht,

00:28:08.500 --> 00:28:11.000
oft ist es auch so, dass das geht, aber

00:28:11.000 --> 00:28:12.460
manchmal halt auch nicht und dann hat man ein Problem.

00:28:12.680 --> 00:28:14.760
wenn man zum Beispiel den Hoster wechseln möchte.

00:28:16.440 --> 00:28:18.560
Ja, und ja, genau.

00:28:18.760 --> 00:28:21.500
Aber ja, das ist so das Erste, was man braucht.

00:28:21.660 --> 00:28:22.040
Ja, okay.

00:28:22.320 --> 00:28:23.100
Einen eigenen Domain.

00:28:23.120 --> 00:28:24.260
Braucht man noch für viele andere Dinge.

00:28:24.400 --> 00:28:26.040
Wenn man Indie-Web machen will, braucht man auch einen eigenen Domain.

00:28:26.180 --> 00:28:28.140
Jetzt brauchen wir irgendwie so einen Computer, der irgendwie so läuft.

00:28:28.340 --> 00:28:30.060
Also die Frage ist, muss der schnell sein, muss der langsam sein?

00:28:30.420 --> 00:28:30.920
Was ist das denn?

00:28:31.020 --> 00:28:33.380
Also haben wir da tatsächlich einen eigenen Computer,

00:28:33.640 --> 00:28:35.200
der mit Kernfestlöse ...

00:28:35.200 --> 00:28:36.440
Oh, sorry, stopp, stopp, stopp.

00:28:36.540 --> 00:28:38.000
Ich war mit dem Auflösen noch nicht fertig.

00:28:38.140 --> 00:28:40.680
Also wenn man jetzt den NS-Rekord von einem Domain hat,

00:28:40.680 --> 00:28:42.220
das heißt noch nicht, dann muss man den nehmen.

00:28:42.300 --> 00:28:43.980
aber noch fragen, was ist denn jetzt zum Beispiel der

00:28:43.980 --> 00:28:46.060
A-Record? Das ist halt das, was halt die IP

00:28:46.060 --> 00:28:46.940
einem gibt für

00:28:46.940 --> 00:28:50.000
eine bestimmte Domain.

00:28:50.840 --> 00:28:52.420
Es gibt auch noch andere. Es gibt MX-Records,

00:28:52.540 --> 00:28:53.540
die halt einem sagen, wo die

00:28:53.540 --> 00:28:57.740
wer zuständig ist für Mail.

00:28:58.400 --> 00:29:00.040
Es gibt halt, ja, es gibt

00:29:00.040 --> 00:29:01.100
eine ganze Menge Zeugs. Es gibt

00:29:01.100 --> 00:29:04.180
doch Text-Records und weißer Teufel

00:29:04.180 --> 00:29:06.060
und manche von denen werden auch missbraucht,

00:29:06.120 --> 00:29:07.980
um andere Sachen zu signalisieren. Aber wenn man solche Sachen

00:29:07.980 --> 00:29:09.500
machen möchte, wie

00:29:09.500 --> 00:29:11.800
man möchte Mail irgendwie

00:29:11.800 --> 00:29:13.880
von einem Drittanbieter machen

00:29:13.880 --> 00:29:15.820
lassen, weil man keinen Bock hat, das irgendwie alles selber

00:29:15.820 --> 00:29:17.860
aufzusetzen und zu

00:29:17.860 --> 00:29:20.080
maintainen, dann muss man da

00:29:20.080 --> 00:29:21.960
eine ganze Menge Records

00:29:21.960 --> 00:29:23.600
setzen und so, oder auch für andere

00:29:23.600 --> 00:29:25.760
Geschichten, Services, die man da benutzen kann,

00:29:25.820 --> 00:29:26.880
damit halt sozusagen andere

00:29:26.880 --> 00:29:29.660
unter, mehr oder weniger

00:29:29.660 --> 00:29:31.160
unter der Domain auftreten können.

00:29:32.220 --> 00:29:33.880
Ja, das würde ich auf jeden Fall auch machen.

00:29:33.960 --> 00:29:36.000
Ich möchte ja gerne ganze Projekte unter unterschiedlichen

00:29:36.000 --> 00:29:37.440
Domains, die ich mir dann irgendwie buche,

00:29:37.940 --> 00:29:39.440
Vielleicht auf einen größeren Server legen

00:29:39.440 --> 00:29:40.900
und die dann irgendwie da reinrouten?

00:29:41.080 --> 00:29:42.900
Ja, das ist nochmal ein anderes Problem.

00:29:43.020 --> 00:29:44.800
Das geht natürlich auch, aber allein

00:29:44.800 --> 00:29:46.880
ist gut, DNS unter Kontrolle zu haben.

00:29:47.000 --> 00:29:48.940
Jedenfalls, also man muss nicht unbedingt

00:29:48.940 --> 00:29:50.820
einen eigenen Nameserver betreiben. Das mache ich

00:29:50.820 --> 00:29:52.780
teilweise noch, aber das ist auch irgendwie

00:29:52.780 --> 00:29:53.380
eher schmerzhaft.

00:29:54.640 --> 00:29:56.620
Weil man hat auch direkt so mit Security

00:29:56.620 --> 00:29:58.960
Geschichten oft, dann gibt es so diese

00:29:58.960 --> 00:30:01.360
komischen DNS-Amplification-Angriffe

00:30:01.360 --> 00:30:03.140
und blöde Geschichten

00:30:03.140 --> 00:30:04.960
und so Zeugs, mit denen man zu tun kriegt.

00:30:06.420 --> 00:30:07.180
Ja, aber

00:30:07.180 --> 00:30:10.440
man will das eigentlich, glaube ich, nicht unbedingt selber

00:30:10.440 --> 00:30:12.620
betreiben, wenn man da nicht Spaß dran hat, aber

00:30:12.620 --> 00:30:14.440
trotzdem möchte man

00:30:14.440 --> 00:30:16.360
die Rekords bestimmen können, weil das für

00:30:16.360 --> 00:30:18.560
viele Services, die man sonst so benutzen möchte,

00:30:18.620 --> 00:30:20.420
halt auch wichtig ist. Ich glaube, damit

00:30:20.420 --> 00:30:22.000
sind wir aber mit DNS im Grunde durch.

00:30:22.460 --> 00:30:24.280
Ja, jetzt kommen wir endlich auf den Server. Jetzt haben wir so einen Server, der hat dann

00:30:24.280 --> 00:30:25.940
irgendwie nur so eine IP und dann

00:30:25.940 --> 00:30:28.140
wissen wir noch gar nicht, ist das fest oder nicht, aber...

00:30:28.140 --> 00:30:30.140
Nee, noch nicht. Wir haben nur das DNS

00:30:30.140 --> 00:30:31.900
unter Kontrolle. Wir können das jetzt auf eine beliebige IP

00:30:31.900 --> 00:30:34.000
zeigen lassen, sozusagen. Zum Beispiel einfach, dass wenn man

00:30:34.000 --> 00:30:36.120
jetzt... Es gibt sowas wie DynDNS,

00:30:36.240 --> 00:30:38.420
Das heißt, wir könnten sogar zu Hause einfach einen Rechner ans Netz hängen

00:30:38.420 --> 00:30:40.140
oder so, wenn wir eine Dynamische haben.

00:30:40.420 --> 00:30:42.300
Dann musst du dann Games aber selber

00:30:42.300 --> 00:30:43.540
betreiben, irgendwie wahrscheinlich.

00:30:44.000 --> 00:30:45.660
Ich glaube, es gibt so einen Service, da muss man immer nur

00:30:45.660 --> 00:30:48.040
sagen, hey, ich bin jetzt hier, ich bin jetzt hier, ich bin jetzt hier.

00:30:48.320 --> 00:30:50.280
Ja, klar. Es gibt auch in vielen Routern

00:30:50.280 --> 00:30:52.180
ist das eingebaut, zum Beispiel eine Fritzbox

00:30:52.180 --> 00:30:54.360
macht das. Da kann man einfach

00:30:54.360 --> 00:30:56.160
sagen, das ist mein DNS-Anbieter

00:30:56.160 --> 00:30:58.000
und dann

00:30:58.000 --> 00:31:00.120
kriegt man halt immer eine entsprechende,

00:31:00.180 --> 00:31:01.260
dann macht die das automatisch.

00:31:01.920 --> 00:31:03.940
Wenn sich die IP-Adresse ändert, dann schickt die halt

00:31:03.940 --> 00:31:05.720
irgendwie ein Request dahin und sagt, okay,

00:31:06.240 --> 00:31:08.380
findest mich hier, hallo. Genau, und dann

00:31:08.380 --> 00:31:10.280
kann man auch sein Kram zu Hause immer

00:31:10.280 --> 00:31:11.580
erreichen, ja.

00:31:12.400 --> 00:31:14.280
Wobei man da wahrscheinlich eigentlich eher sowas

00:31:14.280 --> 00:31:15.420
wie ein VPN verwenden will, aber

00:31:15.420 --> 00:31:18.300
DynDNS geht auch, aber ist eigentlich heutzutage

00:31:18.300 --> 00:31:19.680
alles nicht mehr so richtig relevant, glaube ich.

00:31:21.600 --> 00:31:21.840
Ja,

00:31:22.120 --> 00:31:24.300
genau, also wenn man DynDNS unter Kontrolle hat,

00:31:24.400 --> 00:31:25.980
dann kann man halt jetzt, wenn man

00:31:25.980 --> 00:31:28.120
jetzt einen Server hätte,

00:31:28.120 --> 00:31:29.880
irgendwo, der unter der IP

00:31:29.880 --> 00:31:31.480
verfügbar ist, dann

00:31:31.480 --> 00:31:33.600
kann man sozusagen

00:31:33.600 --> 00:31:35.860
die Domänen darauf zeigen lassen.

00:31:36.240 --> 00:31:51.220
So, und jetzt ist die Frage, was für einen Rechner will ich denn da haben? Will ich irgendwie vom großen Rechenzentrum haben? Will ich einen bei mir zu Hause in die Ecke stellen? Möchte ich irgendwie so einen Cloud-Server mir mieten? Möchte ich so einen dedizierten Server haben? Das kann man ja skalieren von 2 bis, weiß nicht, wahrscheinlich 200, 2000 Euro im Monat.

00:31:51.220 --> 00:32:01.100
Ja, das kommt drauf an. Also was man damit vorhat, für die meisten Leute wird irgendwie da weniger, wahrscheinlich eher mehr sein. Also es wird wenig reichen, weil...

00:32:01.100 --> 00:32:03.620
Es gibt ja auch so WordPress-Hosting-Anbieter

00:32:03.620 --> 00:32:05.280
oder sowas, da kann man wahrscheinlich nichts anderes machen,

00:32:05.360 --> 00:32:07.060
außer ein WordPress-Blog

00:32:07.060 --> 00:32:09.120
drauf hosten, der auch schon

00:32:09.120 --> 00:32:10.360
ziemlich viel kann, wenn man jetzt nicht so viele

00:32:10.360 --> 00:32:11.560
Besucher hat.

00:32:13.400 --> 00:32:15.200
Ist aber nicht das, was man wahrscheinlich

00:32:15.200 --> 00:32:16.640
haben will, wenn man jetzt Python macht oder so.

00:32:16.760 --> 00:32:17.860
Da möchte man das vielleicht schon

00:32:17.860 --> 00:32:21.220
selber tun können. Also es gibt auch

00:32:21.220 --> 00:32:23.360
eben für Python-Hosting

00:32:23.360 --> 00:32:24.740
nicht so viele

00:32:24.740 --> 00:32:26.940
Anbieter, die da...

00:32:26.940 --> 00:32:29.380
Was ist denn jetzt Python-Hosting? Weil ich dachte, da läuft jetzt ein Computer.

00:32:30.320 --> 00:32:30.860
Genau, ja.

00:32:30.980 --> 00:32:32.600
Das ist halt, also bei WordPress ist halt klar,

00:32:32.880 --> 00:32:34.720
das ist halt die Software. So was gibt es natürlich

00:32:34.720 --> 00:32:36.000
für bestimmte

00:32:36.000 --> 00:32:40.720
Python-Geschichten auch. Also es gibt

00:32:40.720 --> 00:32:42.680
zum Beispiel, muss ich jetzt nochmal nachgucken,

00:32:42.780 --> 00:32:44.680
habe ich letztens irgendwie gesehen, wenn man jetzt einfach nur ein CMS

00:32:44.680 --> 00:32:46.840
haben will unter der Domain, da gibt es ja auch Anbieter,

00:32:47.600 --> 00:32:49.020
Diego, Diego, Diego,

00:32:49.240 --> 00:32:50.780
ich weiß es nicht mehr, muss ich mal nachgucken.

00:32:51.520 --> 00:32:52.860
Die bieten an, dass man

00:32:52.860 --> 00:32:54.560
irgendwie ein Wagtail CMS

00:32:54.560 --> 00:32:56.300
oder halt ein

00:32:56.300 --> 00:32:57.740
Django CMS

00:32:57.740 --> 00:33:00.600
bekommt, da gehostet

00:33:00.600 --> 00:33:02.340
und das ist dann so ähnlich wie WordPress-Hosting.

00:33:02.840 --> 00:33:04.820
Okay, das läuft dann auch im virtuellen Container irgendwo.

00:33:05.920 --> 00:33:08.000
Nee, das weiß ich nicht,

00:33:08.060 --> 00:33:13.340
ob die da einen extra Container pro Seite hochfahren.

00:33:13.440 --> 00:33:14.000
Ich denke nicht.

00:33:14.160 --> 00:33:16.380
Also wenn man sich zum Beispiel anguckt,

00:33:17.060 --> 00:33:18.620
was da die User sind,

00:33:18.700 --> 00:33:20.140
die man teilweise, wenn man in manchen Feldern

00:33:20.140 --> 00:33:21.220
versucht, irgendwas einzugeben,

00:33:21.300 --> 00:33:22.980
dann kommt eine Liste der User hoch oder so.

00:33:23.560 --> 00:33:24.960
Da kommt ziemlich wildes Zeug hoch.

00:33:25.040 --> 00:33:25.940
Das heißt, ich gehe mal davon aus,

00:33:25.980 --> 00:33:29.100
dass es nicht irgendwie pro Domain oder so gekapselt,

00:33:29.100 --> 00:33:30.920
sondern das ist halt eine Datenbank, auf der alle sind

00:33:30.920 --> 00:33:32.440
und dann gibt es halt unterschiedliche Sites

00:33:32.440 --> 00:33:34.840
und das ist ja auch durchaus

00:33:34.840 --> 00:33:36.160
vernünftig unter Umständen, also

00:33:36.160 --> 00:33:39.100
du brauchst nicht unbedingt einen Container

00:33:39.100 --> 00:33:41.020
für eine eigene Seite, da ist

00:33:41.020 --> 00:33:43.040
es gar nicht

00:33:43.040 --> 00:33:44.940
nötig, ist ja bei WordPress-Geschichten wahrscheinlich

00:33:44.940 --> 00:33:45.480
auch nicht so

00:33:45.480 --> 00:33:47.100
und

00:33:47.100 --> 00:33:50.920
genau, das gibt durchaus da auch Anbieter,

00:33:50.980 --> 00:33:52.840
aber das sind viel weniger als jetzt im PHP-Umfeld

00:33:52.840 --> 00:33:54.240
oder WordPress oder so, wo das halt

00:33:54.240 --> 00:33:55.580
eine große Geschichte ist,

00:33:57.020 --> 00:33:57.820
was eher

00:33:57.820 --> 00:34:00.240
eher eine Rolle spielt, wenn man

00:34:00.240 --> 00:34:02.060
jetzt Python-Applikationen irgendwo hosten will,

00:34:02.140 --> 00:34:04.100
ist halt sowas wie, also wenn man jetzt kommerzielle

00:34:04.100 --> 00:34:06.120
Anbieter, wir gehen einfach mal von einfach

00:34:06.120 --> 00:34:08.200
zu, es wird schwieriger oder komplizierter oder

00:34:08.200 --> 00:34:09.920
man kann mehr selber kontrollieren

00:34:09.920 --> 00:34:12.040
durch, wenn man

00:34:12.040 --> 00:34:14.220
so, die heißen alle so Platform-as-a-Service

00:34:14.220 --> 00:34:14.840
Anbieter

00:34:14.840 --> 00:34:18.160
sich anguckt. Also ganz oben wäre sowas

00:34:18.160 --> 00:34:19.120
wie eben, du kriegst halt

00:34:19.120 --> 00:34:22.060
irgendwie dein Backtail-CMS und hast dann

00:34:22.060 --> 00:34:23.580
halt ein fertiges CMS unter deiner Romain.

00:34:23.900 --> 00:34:24.940
Das wäre halt sozusagen alles

00:34:24.940 --> 00:34:27.000
Am besten

00:34:27.000 --> 00:34:28.940
nur noch mit Admin-Interface. Genau, das wäre

00:34:28.940 --> 00:34:30.860
dann auch irgendwie so quasi, ich weiß gar nicht, ob das das wäre,

00:34:30.960 --> 00:34:32.860
wahrscheinlich Software-as-a-Service, mehr oder weniger

00:34:32.860 --> 00:34:34.800
Modell. Dann Plattform-as-a-Service ist,

00:34:35.340 --> 00:34:35.880
naja, du

00:34:35.880 --> 00:34:38.860
sagst nicht, du kriegst

00:34:38.860 --> 00:34:40.760
jetzt nicht eine fertige Webseite,

00:34:40.900 --> 00:34:41.960
sozusagen, schlüsselfertig,

00:34:42.740 --> 00:34:44.900
sondern du kannst... Schlüsselfertige Webseite,

00:34:44.900 --> 00:34:46.960
ja. Sondern du kriegst halt

00:34:46.960 --> 00:34:48.960
irgendwie, du hast

00:34:48.960 --> 00:34:50.340
halt einen Account bei Heroku oder sowas,

00:34:50.460 --> 00:34:53.020
Ampeter wären das sowas wie Heroku oder Python Anywhere oder so

00:34:53.020 --> 00:34:54.260
und

00:34:54.260 --> 00:34:55.700
da

00:34:55.700 --> 00:34:58.660
Ich den Vergleich mit diesen Häusern

00:34:58.660 --> 00:35:00.460
unheimlich toll. Mit den Hochhaus-Hindställen

00:35:00.460 --> 00:35:01.220
und Gartenhütte.

00:35:02.500 --> 00:35:04.620
Ja, also sag mal so, das ist halt

00:35:04.620 --> 00:35:08.600
im Grunde, ja, da sind das

00:35:08.600 --> 00:35:10.500
dann oft wahrscheinlich Container, die da hochgefahren

00:35:10.500 --> 00:35:12.380
werden und du hast halt solche Dinge

00:35:12.380 --> 00:35:13.880
wie Datenbank ist halt schon einfach

00:35:13.880 --> 00:35:16.240
Du wohnst in einem Hotel und dann gehst du

00:35:16.240 --> 00:35:18.180
in die Lobby. Es ist quasi so eine Art Hotel.

00:35:18.860 --> 00:35:20.380
Ich weiß nicht, ob

00:35:20.380 --> 00:35:21.640
diese Analogie trägt, also wenn

00:35:21.640 --> 00:35:23.060
Software ist ein Service.

00:35:23.620 --> 00:35:25.880
Lieber Concierge, ich hätte gerne einen Kaffee.

00:35:26.680 --> 00:35:30.880
Ja, was wäre denn das fertige WordPress,

00:35:31.100 --> 00:35:32.300
was man sich nur noch einloggen braucht?

00:35:33.240 --> 00:35:34.760
Da ist der Pool schon vorgeheizt.

00:35:38.500 --> 00:35:40.460
Ich würde sagen, das ist doch eigentlich eher das Hotel, oder?

00:35:40.620 --> 00:35:41.980
Wo man sich um nichts kümmern muss.

00:35:42.460 --> 00:35:44.160
Und Heroku ist die Ferienwohnung, wo du selber kochst.

00:35:44.880 --> 00:35:46.400
Ja, und Heroku ist so ein bisschen die,

00:35:47.040 --> 00:35:50.000
es ist eher so, nicht mal das,

00:35:50.000 --> 00:35:51.120
ist es eher so der

00:35:51.120 --> 00:35:53.520
die

00:35:53.520 --> 00:35:56.020
Schuhkarton-Eigentumswohnung irgendwo

00:35:56.020 --> 00:35:58.200
der Container halt. Oder es ist wie der Container auf dem Schiff,

00:35:58.360 --> 00:36:00.200
ja, wo man irgendwie die ganze

00:36:00.200 --> 00:36:02.160
Inneneinrichtung und so, das muss man halt selber machen, weil es ist halt

00:36:02.160 --> 00:36:03.960
nicht drin. Und das kann man auch komplett austauschen.

00:36:04.040 --> 00:36:05.180
Das ist natürlich auch irgendwie ein Vorteil.

00:36:06.440 --> 00:36:08.120
Da kannst du halt sagen, okay, ich deploy da

00:36:08.120 --> 00:36:12.040
halt irgendwie ein Flask-Ding

00:36:12.040 --> 00:36:13.900
hin oder halt eben ein Django

00:36:13.900 --> 00:36:15.300
hin oder so.

00:36:18.120 --> 00:36:19.620
Aber du bist da halt nicht festgelegt, ja.

00:36:19.820 --> 00:36:21.140
Also auch nicht auf, ja.

00:36:22.020 --> 00:36:29.260
Und, ja, aber diverse andere Geschichten werden dann schon abgenommen.

00:36:29.460 --> 00:36:32.040
Also man kümmert sich sozusagen nur noch um den Teil,

00:36:32.220 --> 00:36:33.580
der halt, wenn man alles selber machen würde,

00:36:34.100 --> 00:36:38.200
im Applikationsserver, jetzt nenne ich das mal so, laufen würde.

00:36:39.320 --> 00:36:41.100
Um den Applikationsteil kümmert man sich.

00:36:41.240 --> 00:36:42.860
Aber sowas wie Datenbank, das macht man nicht selbst.

00:36:42.860 --> 00:36:45.220
Da gibt es dann halt, und es gibt auch endlos viele andere Plugins

00:36:45.220 --> 00:36:48.860
und Dinge, die man dazuklicken kann, Suchmaschinen oder irgendwas.

00:36:49.820 --> 00:36:51.640
irgendwelche anderen Sachen, die man halt auch

00:36:51.640 --> 00:36:53.600
verwenden kann und das muss man alles dann nicht selber machen

00:36:53.600 --> 00:36:55.700
bei Heroku jetzt beispielsweise, sondern das ist halt

00:36:55.700 --> 00:36:56.340
dann einfach da.

00:36:57.620 --> 00:36:59.340
Und man kümmert sich nur um die

00:36:59.340 --> 00:37:01.420
Applikationen, die man dahin deployt und

00:37:01.420 --> 00:37:03.800
natürlich definiert man irgendwie die Datenbank

00:37:03.800 --> 00:37:05.680
dadurch, dass man jetzt in Django beispielsweise die ganzen

00:37:05.680 --> 00:37:06.860
Modelle halt irgendwie

00:37:06.860 --> 00:37:09.700
definiert und die werden dann halt auch

00:37:09.700 --> 00:37:11.560
in der Postgres irgendwie

00:37:11.560 --> 00:37:13.520
eingelegt, aber man betreibt die Postgres-Datenbank

00:37:13.520 --> 00:37:14.800
nicht mehr selber, sondern das macht halt

00:37:14.800 --> 00:37:17.420
entweder Heroku oder einer von den

00:37:17.420 --> 00:37:19.800
Drittanbietern, die halt ein Postgres-Plugin

00:37:19.800 --> 00:37:21.500
für Heroku anbieten. Für einen.

00:37:22.660 --> 00:37:23.640
Was natürlich dazu führt, dass es

00:37:23.640 --> 00:37:24.440
wesentlich weniger

00:37:24.440 --> 00:37:26.980
aufwendig ist für einen Server.

00:37:28.740 --> 00:37:29.780
Aber man ist halt auch so ein bisschen

00:37:29.780 --> 00:37:30.540
eingeschränkt und

00:37:30.540 --> 00:37:33.580
diese Geschichten führen halt oft dazu,

00:37:33.840 --> 00:37:35.660
also ich habe das tatsächlich mal

00:37:35.660 --> 00:37:36.920
versucht, weil ich habe versucht für

00:37:36.920 --> 00:37:39.700
es ist ja auch sowas, wenn man

00:37:39.700 --> 00:37:41.960
Das klingt nicht nach einem gelungenen Experiment.

00:37:42.260 --> 00:37:43.780
Ja, für DjangoCast

00:37:43.780 --> 00:37:45.800
wollte ich einfach mal so, wie ist das denn,

00:37:45.800 --> 00:37:47.620
wenn man das jetzt auf Heroku mal deployen will zum Testen,

00:37:47.660 --> 00:37:48.860
damit man es halt draußen irgendwo

00:37:48.860 --> 00:37:50.960
laufen hat, aber

00:37:50.960 --> 00:37:53.380
ja,

00:37:53.500 --> 00:37:54.920
man möchte jetzt nicht vielleicht irgendwie so ein

00:37:54.920 --> 00:37:56.980
Commitment eingehen, da jeden Monat Geld zu

00:37:56.980 --> 00:37:58.960
bezahlen oder so, oder hat halt

00:37:58.960 --> 00:38:00.960
dann auch keinen Root-Server irgendwo rumstehen, den man

00:38:00.960 --> 00:38:03.000
benutzen könnte. Darauf kommen wir irgendwie später wieder.

00:38:03.200 --> 00:38:05.040
Ja, dann wäre es

00:38:05.040 --> 00:38:06.680
doch ganz praktisch, wenn man das einfach mal nach Heroku oder

00:38:06.680 --> 00:38:08.920
so deployt und dann mal guckt, wie das so funktioniert.

00:38:09.540 --> 00:38:10.760
Dachte ich, das wäre eigentlich ganz nett. Und

00:38:10.760 --> 00:38:12.920
zumal halt all diese Anbieter alle so

00:38:12.920 --> 00:38:14.220
freie Container anbieten,

00:38:14.980 --> 00:38:17.080
die also für Hobby-Benutzung

00:38:17.080 --> 00:38:18.200
oder so, die halt nichts kosten,

00:38:18.600 --> 00:38:20.880
die dann auch bestimmte Anforderungen

00:38:20.880 --> 00:38:22.400
nicht erfüllen, beziehungsweise keine garantierte,

00:38:22.780 --> 00:38:24.580
die sind beim ersten Laden oft langsam,

00:38:24.760 --> 00:38:26.460
weil das wahrscheinlich unten drunter irgendwie

00:38:26.460 --> 00:38:28.420
Docker-Container oder vielleicht

00:38:28.420 --> 00:38:31.000
benutzen die dann irgendwie Lambda-

00:38:31.000 --> 00:38:32.620
Funktionen bei AWS oder so,

00:38:32.780 --> 00:38:34.560
wer weiß. Genau, das ist das denn jetzt schon wieder?

00:38:34.960 --> 00:38:35.960
Nein, nein, nein.

00:38:36.440 --> 00:38:37.240
Ich bin mir noch auf.

00:38:38.800 --> 00:38:40.680
Also da kann es sein, dass der Container erst gestartet

00:38:40.680 --> 00:38:42.620
wird, wenn so ein Request reinkommt und dann ist

00:38:42.620 --> 00:38:44.300
das halt ein bisschen langsam und doof und

00:38:44.300 --> 00:38:46.200
aber es stört ja nicht, wenn man

00:38:46.200 --> 00:38:48.240
das eh nur so

00:38:48.240 --> 00:38:50.280
mal ausprobieren möchte

00:38:50.280 --> 00:38:50.820
und

00:38:50.820 --> 00:38:54.180
ja, und dann

00:38:54.180 --> 00:38:56.100
habe ich mich da gemacht, da so ein bisschen eine Anleitung

00:38:56.100 --> 00:38:58.220
für zu schreiben und dann ist mir relativ schnell

00:38:58.220 --> 00:38:59.940
aufgefallen, es ist nicht so einfach

00:38:59.940 --> 00:39:02.400
und ich war überrascht, wie knifflig

00:39:02.400 --> 00:39:04.080
das ist und ich bin immer noch ein bisschen überrascht,

00:39:04.200 --> 00:39:06.480
dass auch Heroku da keine gute Anleitung

00:39:06.480 --> 00:39:07.620
für hat, wie macht man das eigentlich,

00:39:07.920 --> 00:39:10.060
die machen auch Ruby on Rails und

00:39:10.060 --> 00:39:12.360
auch Node.js und weiß der Teufel, aber

00:39:12.360 --> 00:39:14.040
trotzdem, es ist schon

00:39:14.040 --> 00:39:16.440
irgendwie, es war schwerer als ich dachte und ich dachte

00:39:16.440 --> 00:39:17.580
mir so, ui, also

00:39:17.580 --> 00:39:21.020
wenn jemand daran knabbert, dann

00:39:21.020 --> 00:39:23.600
weiß ich jetzt nicht, ob ich jetzt anfänge, unbedingt

00:39:23.600 --> 00:39:25.560
mich da so reinstürzen möchte.

00:39:26.000 --> 00:39:27.620
Ich meine, auch dieses Jungle for Professionals

00:39:27.620 --> 00:39:28.780
Buch kann man sich auch mal angucken. Auch der,

00:39:29.660 --> 00:39:31.540
obwohl Vincent meinte es schon so, dass das alles

00:39:31.540 --> 00:39:33.420
irgendwie immer, also die Sachen so hinzukriegen, dass sie dann

00:39:33.420 --> 00:39:35.560
tatsächlich funktionieren, ist oft schwerer, als

00:39:35.560 --> 00:39:37.480
man so denkt. Und es war echt nicht mal

00:39:37.480 --> 00:39:39.500
ganz einfach. Das Containerschiff ist vielleicht überladen und

00:39:39.500 --> 00:39:41.360
hat irgendwie halbe Schlagseite. Man weiß es nicht genau.

00:39:41.500 --> 00:39:43.460
Ja, aber es ist halt, also ich fand

00:39:43.460 --> 00:39:45.060
jetzt überraschend, wie viel wenig

00:39:45.060 --> 00:39:47.420
einfacher das ist, als wenn man alles selber

00:39:47.420 --> 00:39:49.400
macht. Also der Schritt von, also ehrlich

00:39:49.400 --> 00:39:51.540
gesagt, ich finde es, das mag daran liegen,

00:39:51.600 --> 00:39:53.400
dass ich das häufiger selber mache

00:39:53.400 --> 00:39:55.400
irgendwie. Ich fand es einfacher, das selber

00:39:55.400 --> 00:39:56.880
zu machen als bei Heroku.

00:39:57.740 --> 00:39:59.460
Weil man stößt halt sofort auf so Probleme.

00:39:59.780 --> 00:40:00.800
Gut, kann auch sein, dass mir das,

00:40:01.640 --> 00:40:03.420
vielleicht ist das vielen Leuten egal, aber ich denke mir

00:40:03.420 --> 00:40:05.280
halt so, naja, heutzutage Webseite ohne

00:40:05.280 --> 00:40:07.340
SSL, das ist eigentlich eher kaputt. Also das

00:40:07.340 --> 00:40:09.220
muss eigentlich, SSL muss irgendwie gehen

00:40:09.220 --> 00:40:11.600
und eigentlich ist das ja auch kein Problem mehr mit Let's Encrypt

00:40:11.600 --> 00:40:13.480
und so. Aber

00:40:13.480 --> 00:40:15.420
für die Hobby-

00:40:15.420 --> 00:40:17.520
Seite bei Heroku, bei denen

00:40:17.520 --> 00:40:19.460
funktioniert das nicht.

00:40:19.620 --> 00:40:21.020
Und es hat mir

00:40:21.020 --> 00:40:23.660
nicht leicht gefallen, rauszukriegen,

00:40:23.740 --> 00:40:25.140
dass es wirklich nicht funktioniert.

00:40:26.040 --> 00:40:27.280
Und ich musste da tief graben.

00:40:27.440 --> 00:40:29.200
Und ich bin in irgendwelchen Issues gelandet, wo dann

00:40:29.200 --> 00:40:31.200
einer der Entwickler bei Heroku dann irgendwie

00:40:31.200 --> 00:40:33.360
schrieb, das sollten wir vielleicht mal in die Dokumentation schreiben,

00:40:33.360 --> 00:40:35.280
dass das wirklich nicht geht. Also auch mit diesem

00:40:35.280 --> 00:40:37.380
Weg geht das nicht. Und da dachte ich

00:40:37.380 --> 00:40:39.100
schon so, ja, solltet ihr vielleicht, weil

00:40:39.100 --> 00:40:40.700
ich habe jetzt gerade da irgendwie ganz schön

00:40:40.700 --> 00:40:43.400
Zeit reingesteckt, das rauszukriegen. Also weil

00:40:43.400 --> 00:40:45.320
es sah so aus, als würde es vielleicht doch funktionieren, wenn man dann

00:40:45.320 --> 00:40:47.040
irgendwie die Zertifikate von Hand hochlädt oder so.

00:40:47.100 --> 00:40:49.040
Nee, tut's nicht. Und dann habe ich mir erst

00:40:49.040 --> 00:40:50.940
lokal irgendwie Zartbord installiert

00:40:50.940 --> 00:40:52.100
und da irgendwie auch rumgeeiert.

00:40:53.120 --> 00:40:54.580
Aber es ging dann alles am Schluss nicht.

00:40:55.380 --> 00:40:57.320
Also SSL, HTTPS, Heroku

00:40:57.320 --> 00:40:58.520
nur, wenn man zahlt. Sonst geht's nicht.

00:40:59.560 --> 00:41:02.880
ja, auch die,

00:41:04.240 --> 00:41:05.220
wenn man jetzt irgendwie

00:41:05.220 --> 00:41:07.080
ein CDN verwendet oder so.

00:41:07.580 --> 00:41:09.040
Content Delivery Network, ja, da müssen wir auch nochmal

00:41:09.040 --> 00:41:11.160
gleich noch klauen. Ja, da kommt alles noch dazu.

00:41:11.660 --> 00:41:13.260
Ist alles... Anfängerfreundliche

00:41:13.260 --> 00:41:15.140
Folge, Jochen. Ja, ist alles nicht so

00:41:15.140 --> 00:41:17.180
einfach. Auf jeden Fall, also ich meine, man kann

00:41:17.180 --> 00:41:19.080
sich das mal angucken, wenn man

00:41:19.080 --> 00:41:21.120
jetzt auf HTTPS nicht so viel Wert liegt

00:41:21.120 --> 00:41:23.120
oder dann kriegt man auch

00:41:23.120 --> 00:41:25.160
mit Heroku wahrscheinlich schon halbwegs

00:41:25.160 --> 00:41:26.460
schnell da irgendwie zum Ziel.

00:41:26.740 --> 00:41:29.340
Es gibt glaube ich noch ein paar.

00:41:31.280 --> 00:41:31.640
Und

00:41:31.640 --> 00:41:32.980
das kann man auf jeden Fall auch verwenden.

00:41:33.380 --> 00:41:35.100
Also man hat auf jeden Fall diesen ganzen

00:41:35.100 --> 00:41:37.000
operativen Kram von der Backe, was natürlich auch

00:41:37.000 --> 00:41:38.980
schon mal ein großer Vorteil ist. Also man muss sich nicht dafür

00:41:38.980 --> 00:41:41.080
also man muss sich nicht

00:41:41.080 --> 00:41:43.400
selber dafür interessieren,

00:41:43.500 --> 00:41:45.300
wie das Zeug jetzt, ob das oben ist oder

00:41:45.300 --> 00:41:46.600
nicht. Also das macht halt

00:41:46.600 --> 00:41:49.300
jemand für einen und das

00:41:49.300 --> 00:41:50.180
ist ja auch schon mal nicht so schlecht.

00:41:52.720 --> 00:41:53.080
Ja,

00:41:53.460 --> 00:41:55.140
das wäre sozusagen eine

00:41:55.140 --> 00:41:57.520
Zwischenschicht zwischen irgendwie alles ist fertig

00:41:57.520 --> 00:41:59.220
und... Hört sich nicht so an, als würde ich das

00:41:59.220 --> 00:42:01.120
machen wollen, ehrlich gesagt. Doch, also ich kann mir

00:42:01.120 --> 00:42:03.320
durchaus vorstellen, dass es gute Gründe gibt, das zu machen.

00:42:04.200 --> 00:42:05.040
Nee, für mich nicht.

00:42:05.500 --> 00:42:07.340
Ja, finde ich jetzt nicht,

00:42:07.340 --> 00:42:09.420
aber... Nach der Dokumentation ausgeschlossen,

00:42:09.520 --> 00:42:11.020
ja. Finde ich jetzt nicht, aber

00:42:11.020 --> 00:42:12.500
ich denke schon, dass es für mich, aber

00:42:12.500 --> 00:42:14.900
oder es gibt, was auch oft eine Falle ist,

00:42:15.100 --> 00:42:16.980
wenn Startups irgendwie anfangen mit sowas,

00:42:17.060 --> 00:42:19.020
dass sie dann irgendwann doch viele

00:42:19.020 --> 00:42:21.060
Datenbank-Queries machen und da

00:42:21.060 --> 00:42:23.040
sind auch, das ist eine ganze

00:42:23.040 --> 00:42:23.860
Menge, ist irgendwie frei.

00:42:24.860 --> 00:42:27.020
Aber wenn man dann aus diesem Bereich, wo

00:42:27.020 --> 00:42:29.160
das frei ist, irgendwie rauskommt, dann wird es sehr, sehr schnell

00:42:29.160 --> 00:42:30.080
brutal teuer.

00:42:31.120 --> 00:42:32.940
Und das ist auch so etwas, was man vielleicht

00:42:32.940 --> 00:42:35.000
nicht unbedingt haben will. Aber das Problem

00:42:35.000 --> 00:42:37.000
ist, wenn man dann gerade wächst oder so, dann kann man nicht mehr so schnell

00:42:37.000 --> 00:42:38.920
irgendwie. Die Infrastruktur komplett umfassen.

00:42:38.920 --> 00:42:40.220
Ja, und dann gibt man halt ein

00:42:40.220 --> 00:42:43.080
Vermögen. Dann gibt man Arm und Bein

00:42:43.080 --> 00:42:44.600
an diese Anbieter.

00:42:45.360 --> 00:42:47.060
Was ja irgendwie so dein Geschäftsmodell

00:42:47.060 --> 00:42:48.960
ist. Ist auch nicht verwerflich, finde ich. Ist okay, aber

00:42:48.960 --> 00:42:50.800
man sollte sich halt bewusst sein, dass man da eventuell ein Problem

00:42:50.800 --> 00:42:51.300
bekommen kann.

00:42:53.280 --> 00:42:54.840
Ja, also das ist eine Möglichkeit,

00:42:54.940 --> 00:42:56.220
die man halt auch machen muss.

00:42:56.220 --> 00:42:58.720
Jetzt müssen wir aber nochmal ganz kurz, bevor wir das alles wieder vergessen haben,

00:42:58.800 --> 00:43:00.660
kurz eingehen auf Content-Division-Network.

00:43:00.720 --> 00:43:02.620
Du musst auf Division-Ocean nochmal kurz erklären und

00:43:02.620 --> 00:43:03.880
AWS-Lambda-Funktion.

00:43:03.880 --> 00:43:06.220
Ja, also wenn wir jetzt bei

00:43:06.220 --> 00:43:08.180
Software-as-a-Service,

00:43:08.320 --> 00:43:09.980
Plattform-as-a-Service. So, jetzt werden

00:43:09.980 --> 00:43:11.920
wäre quasi das Nächste, was nicht mehr

00:43:11.920 --> 00:43:13.940
das, wo man ein bisschen mehr Freiheit hat, aber

00:43:13.940 --> 00:43:17.060
sozusagen immer noch

00:43:17.060 --> 00:43:19.440
nicht so viel selber machen muss, wäre dann

00:43:19.440 --> 00:43:21.900
Infrastructure-as-a-Service, also das wäre dann

00:43:21.900 --> 00:43:23.220
halt sowas wie

00:43:23.220 --> 00:43:25.980
ja, Amazon

00:43:25.980 --> 00:43:26.620
EC2,

00:43:28.560 --> 00:43:29.480
Digital Ocean.

00:43:31.120 --> 00:43:31.640
Also da

00:43:31.640 --> 00:43:34.240
bekommt man im Grunde

00:43:34.240 --> 00:43:36.220
ja, einen Container,

00:43:36.300 --> 00:43:37.920
auf dem irgendein Linux oder so läuft, wo man

00:43:37.920 --> 00:43:39.660
sich einloggen kann als Root per SSH.

00:43:39.980 --> 00:43:41.980
und dann ist man auf sich alleine

00:43:41.980 --> 00:43:43.920
gestellt. Den Rest macht man dann halt selber.

00:43:44.780 --> 00:43:46.000
Das hört sich gar

00:43:46.000 --> 00:43:47.740
nicht so schlecht an. Ja, das hört sich gar nicht so schlecht an.

00:43:47.840 --> 00:43:48.920
Das ist auch, glaube ich, eine ganz

00:43:48.920 --> 00:43:52.080
nette Geschichte. Welches Linux

00:43:52.080 --> 00:43:53.600
nehme ich denn da? Fedora, Ubuntu,

00:43:53.820 --> 00:43:55.880
Debian? Spielt im Grunde

00:43:55.880 --> 00:43:57.880
keine große Rolle, würde ich jetzt mal so

00:43:57.880 --> 00:43:58.160
sagen.

00:44:00.680 --> 00:44:01.760
Vielleicht gibt es kein System,

00:44:01.840 --> 00:44:03.560
das besonders gut Python unterstützt oder so?

00:44:03.680 --> 00:44:05.800
Nee, das System Python kann man

00:44:05.800 --> 00:44:07.000
in keinem von den Fällen verwenden.

00:44:07.840 --> 00:44:09.900
Ist egal, muss man eh immer neu installieren.

00:44:09.980 --> 00:44:11.060
oder selber installieren.

00:44:12.660 --> 00:44:13.900
Hat Fedora jetzt nicht drei

00:44:13.900 --> 00:44:15.860
standardmäßig alles schon drin? Ja, trotzdem

00:44:15.860 --> 00:44:17.840
nee. Wie war das? Barry

00:44:17.840 --> 00:44:20.020
Warsaw hat das mal auch auf Twitter geschrieben,

00:44:20.200 --> 00:44:21.980
so, first rule of Python is you don't use

00:44:21.980 --> 00:44:23.540
system, don't use system Python.

00:44:24.560 --> 00:44:25.880
Du musst ja immer dein eigenes Python installieren,

00:44:26.080 --> 00:44:27.340
das ist kein Spaß.

00:44:29.780 --> 00:44:29.940
Ja,

00:44:30.200 --> 00:44:32.060
also genau, also insofern

00:44:32.060 --> 00:44:33.900
würde ich sagen, also der einzige Unterschied, den ich

00:44:33.900 --> 00:44:35.880
noch sehen würde, der relevant ist, ist einmal

00:44:35.880 --> 00:44:37.820
welches Paketmanagement-System einem

00:44:37.820 --> 00:44:39.320
irgendwie besser oder schlechter gefällt

00:44:39.320 --> 00:44:41.740
und ob man SystemD mag

00:44:41.740 --> 00:44:43.420
oder nicht, weil

00:44:43.420 --> 00:44:45.880
genau, wenn man das mag, dann kann man das ja benutzen

00:44:45.880 --> 00:44:47.600
und da gibt es halt Unterschiede, je nachdem, welche

00:44:47.600 --> 00:44:48.620
Distribution man verwendet.

00:44:49.100 --> 00:44:51.700
SystemD nutzt dann sowas wie LoggingUp oder sowas, das mag man

00:44:51.700 --> 00:44:53.620
vielleicht nicht, oder? Ja, aber auch vor allen Dingen

00:44:53.620 --> 00:44:55.440
sowas wie, wie sorgt man eigentlich dafür, dass

00:44:55.440 --> 00:44:57.740
der Kram, den man laufen haben möchte,

00:44:57.840 --> 00:44:59.440
eigentlich läuft und am Laufen bleibt und so.

00:44:59.620 --> 00:44:59.800
Das

00:44:59.800 --> 00:45:03.420
kann man über SystemD auch machen.

00:45:04.680 --> 00:45:05.580
Man kann auch irgendwas anderes nehmen.

00:45:06.620 --> 00:45:07.760
Ich nehme öfter

00:45:07.760 --> 00:45:08.900
Super-Vice-D,

00:45:10.240 --> 00:45:11.740
aber es ist auch, im Grunde ist es

00:45:11.740 --> 00:45:13.340
vorher Init-was?

00:45:14.440 --> 00:45:16.540
F-Init-System-5?

00:45:17.240 --> 00:45:18.320
Ich weiß nicht genau,

00:45:18.360 --> 00:45:20.000
Init-Files, es gibt da auch

00:45:20.000 --> 00:45:21.940
andere Konzepte, wie man, ja, also

00:45:21.940 --> 00:45:23.960
System-D hat schon nette Konzepte,

00:45:24.020 --> 00:45:25.800
aber es ist halt auch, es hat dann so manchmal so

00:45:25.800 --> 00:45:27.920
Vielleicht hat da irgendwie eine ganz

00:45:27.920 --> 00:45:30.060
spannende Folge dazu noch mal

00:45:30.060 --> 00:45:30.500
gehört, irgendwann

00:45:30.500 --> 00:45:33.940
die fahren irgendeinem Chaos-Radio-Express mit einem

00:45:33.940 --> 00:45:35.460
von den Developern da, das war schon ein bisschen

00:45:35.460 --> 00:45:37.720
ja, äh, na, wie heißt

00:45:37.720 --> 00:45:39.460
er noch, äh

00:45:39.460 --> 00:45:41.840
namensgerecht, keine Ahnung, ja, genau

00:45:41.840 --> 00:45:43.760
äh, ja

00:45:43.760 --> 00:45:45.680
okay, also völlig egal, welches System

00:45:45.680 --> 00:45:47.760
also ich baue mir dann Fedora und Ubuntu drauf, zum Beispiel

00:45:47.760 --> 00:45:49.800
weil ich das so ein bisschen schon kenne oder so

00:45:49.800 --> 00:45:51.820
dann irgendwie, dann mit den Repos

00:45:51.820 --> 00:45:53.680
schon ein bisschen weiß, wo ich meine Pakete finde und dann

00:45:53.680 --> 00:45:55.780
ist der To oder warum sollte ich

00:45:55.780 --> 00:45:57.800
das tun, warum nicht direkt einen eigenen Server

00:45:57.800 --> 00:45:59.640
also, ja genau, weil halt auch da dir das

00:45:59.640 --> 00:46:01.980
natürlich abgenommen wird, dass du dafür sorgen musst

00:46:01.980 --> 00:46:03.760
äh, dass das Ding ordentlich läuft

00:46:03.760 --> 00:46:05.440
oder so, ähm

00:46:05.440 --> 00:46:09.960
Ja, du musst dich um viele Dinge nicht kümmern,

00:46:10.140 --> 00:46:11.040
die du sonst tun müsstest.

00:46:13.480 --> 00:46:14.200
Die da wären?

00:46:14.960 --> 00:46:18.360
Ja, alles, was mit Netzwerk zu tun hat.

00:46:18.680 --> 00:46:19.820
Stecker reinstecken, Strom.

00:46:19.840 --> 00:46:21.380
Genau, dass das Ding immer oben bleibt.

00:46:21.980 --> 00:46:23.020
Betriebssystem-Updates, weiß ich gar nicht,

00:46:23.120 --> 00:46:24.560
das muss man wahrscheinlich selber machen.

00:46:25.120 --> 00:46:25.660
Ja, das finde ich genau.

00:46:25.880 --> 00:46:27.420
Managed-Server, glaube ich, heißt das oder so was.

00:46:27.440 --> 00:46:29.000
Ja, das will man alles, wahrscheinlich eher nicht.

00:46:29.340 --> 00:46:30.280
Aber genau.

00:46:32.000 --> 00:46:33.500
Ja, aber man muss sich,

00:46:34.000 --> 00:46:35.880
also schon um wesentliche Teile der Infrastruktur

00:46:35.880 --> 00:46:37.820
jetzt bei so einer Geschichte nicht kümmern.

00:46:38.000 --> 00:46:39.440
Also im Grunde ist halt der Container wie

00:46:39.440 --> 00:46:41.600
der andere und das funktioniert einfach so.

00:46:42.700 --> 00:46:44.060
Also das ist schon

00:46:44.060 --> 00:46:45.880
auch nett, aber man zahlt natürlich auch

00:46:45.880 --> 00:46:47.820
einen Preis, das ist halt schon teurer, als wenn man

00:46:47.820 --> 00:46:49.780
jetzt, und es gibt noch mal so super

00:46:49.780 --> 00:46:51.680
billige

00:46:51.680 --> 00:46:53.840
Geschichten, auch

00:46:53.840 --> 00:46:55.420
immer, also ich glaube die kleinsten

00:46:55.420 --> 00:46:57.900
Container, wenn die durchlaufen sollen, die kosten

00:46:57.900 --> 00:46:58.400
dann irgendwie

00:46:58.400 --> 00:47:02.020
ein paar Zehn Euro im Monat oder so was,

00:47:02.040 --> 00:47:03.880
ich weiß es nicht genau, aber

00:47:03.880 --> 00:47:05.900
es gibt auch so Dinge wie bei Amazon Light Sale

00:47:05.900 --> 00:47:07.320
heißt das glaube ich irgendwie, wo man dann für

00:47:07.320 --> 00:47:10.000
wenige Euro im Monat so ein Ding

00:47:10.000 --> 00:47:11.040
Container kriegt und bei

00:47:11.040 --> 00:47:13.280
DigitalOcean gibt es das auch

00:47:13.280 --> 00:47:15.360
und selbst bei sowas wie

00:47:15.360 --> 00:47:17.800
Hustler wie Hetzner oder so kriegt man

00:47:17.800 --> 00:47:19.560
irgendwie einen Container, der

00:47:19.560 --> 00:47:21.420
durchläuft für

00:47:21.420 --> 00:47:23.720
2,50 Euro oder 3 Euro oder so

00:47:23.720 --> 00:47:25.580
wenig Geld im Monat und hat dann

00:47:25.580 --> 00:47:27.340
ein richtiges Linux mit, wo man sich

00:47:27.340 --> 00:47:29.660
als Root einloggen kann, ist schon natürlich ganz nett.

00:47:30.020 --> 00:47:31.320
Und das will man wahrscheinlich sogar auch tun.

00:47:31.920 --> 00:47:33.860
Ja, hängt dann davon ab, was man dann

00:47:33.860 --> 00:47:35.880
Wenn man jetzt eine fette Datenbank braucht, dann geht das halt wahrscheinlich

00:47:35.880 --> 00:47:37.740
nicht mehr, dann braucht man halt Hauptspeicher

00:47:37.740 --> 00:47:39.360
und den hat man da nicht. Aber

00:47:39.360 --> 00:47:42.360
ja, so eine Testinstallation...

00:47:42.360 --> 00:47:43.920
Wann braucht man denn eine fette Datenbank?

00:47:44.100 --> 00:47:45.900
Also so jetzt als Datenmensch

00:47:45.900 --> 00:47:47.780
wirst du ja wissen, ab wie viel Traffic man da so irgendwie...

00:47:47.780 --> 00:47:49.500
Nee, das hat mit dem Traffic gar nicht so viel zu tun, sondern

00:47:49.500 --> 00:47:51.400
eher damit zu tun, wie viele Daten es sind.

00:47:52.300 --> 00:47:53.340
Weil du willst, dass dein

00:47:53.340 --> 00:47:55.100
Working Set im Hauptspeicher ist.

00:47:55.580 --> 00:47:57.940
Und das heißt, wenn du halt irgendwie ein paar Gigabyte

00:47:57.940 --> 00:47:59.760
Daten hast, dann willst du halt

00:47:59.760 --> 00:48:01.240
ein paar Gigabyte Hauptspeicher haben, mindestens mal.

00:48:01.460 --> 00:48:02.560
Wäre so viel zu viel oder so.

00:48:03.400 --> 00:48:05.220
Also ungefähr doppelt so groß wie mein Dataset sollte

00:48:05.220 --> 00:48:06.760
der Hauptspeicher dann sein. Ja, also

00:48:06.760 --> 00:48:08.600
später geht das dann irgendwann nicht mehr, aber

00:48:08.600 --> 00:48:10.540
ja, sollte schon

00:48:10.540 --> 00:48:11.580
da reinpassen.

00:48:14.380 --> 00:48:15.020
Und das,

00:48:15.460 --> 00:48:17.040
die haben alle wenig Hauptspeicher natürlich, weil

00:48:17.040 --> 00:48:18.960
die teilen sich, die sind halt auf großen Maschinen

00:48:18.960 --> 00:48:20.820
meistens, aber es sind viele kleine Container und

00:48:20.820 --> 00:48:22.880
dann muss es halt irgendwie, wenn die alle vier Hauptspeicher

00:48:22.880 --> 00:48:25.060
verbrauchen, ist halt natürlich irgendwie der Hauptspeicher weg.

00:48:25.360 --> 00:48:27.260
Wie kompliziert

00:48:27.260 --> 00:48:29.020
wäre es denn jetzt da, weiß nicht, wenn man jetzt

00:48:29.020 --> 00:48:30.980
mehrere kleine Services auf so einem Ding

00:48:30.980 --> 00:48:32.700
laufen lässt, einen von denen umzuziehen?

00:48:33.400 --> 00:48:35.620
auf eine größere Maschine.

00:48:36.180 --> 00:48:38.180
Oh, das ist, ja, da bist du

00:48:38.180 --> 00:48:39.600
dann schon, das ist alles nicht mehr so einfach.

00:48:40.100 --> 00:48:42.040
Ich würde auch das nicht so machen, dass ich

00:48:42.040 --> 00:48:43.220
die Sachen da direkt laufen lasse.

00:48:43.960 --> 00:48:45.860
Kann man auch tun, aber

00:48:45.860 --> 00:48:47.440
ich würde eher sowas wie Docker nehmen.

00:48:48.520 --> 00:48:48.820
Tatsächlich.

00:48:49.880 --> 00:48:51.700
Also das heißt, du würdest dann auf einen dieser

00:48:51.700 --> 00:48:53.980
Cloud-Dinger einen Docker

00:48:53.980 --> 00:48:56.140
bauen, installieren oder

00:48:56.140 --> 00:48:58.100
Docker installieren, Docker-Demon starten

00:48:58.100 --> 00:48:59.080
und dann halt

00:48:59.080 --> 00:49:01.880
mit so einem Docker-Compose-File das

00:49:01.880 --> 00:49:02.840
komplette System hochziehen.

00:49:03.400 --> 00:49:04.980
sodass dann halt für jeden Service, den man

00:49:04.980 --> 00:49:07.380
benutzen möchte im System,

00:49:07.480 --> 00:49:09.180
das man da hochfährt, dass man

00:49:09.180 --> 00:49:11.380
dafür einen Container hat, also einen Container für die Datenbank,

00:49:11.500 --> 00:49:12.500
man hat einen Container für Redis.

00:49:12.620 --> 00:49:15.060
Und man teilt sich dann genau die Dinge auf, also kann man

00:49:15.060 --> 00:49:17.000
Docker so einstellen, dass er für alle verschiedenen

00:49:17.000 --> 00:49:18.480
Systeme unterschiedliche Hardware nimmt?

00:49:19.600 --> 00:49:21.220
Ja, das kannst du natürlich auch tun,

00:49:21.280 --> 00:49:23.100
aber das würde ich

00:49:23.100 --> 00:49:24.100
am Anfang auch nicht machen.

00:49:25.020 --> 00:49:26.940
Und dann geht es eher so in den Bereich

00:49:26.940 --> 00:49:28.760
von Kubernetes und diesen

00:49:28.760 --> 00:49:30.200
Geschichten, das willst du nicht.

00:49:31.780 --> 00:49:32.860
Also das ist auch gar kein

00:49:32.860 --> 00:49:33.500
Problem, also

00:49:33.500 --> 00:49:35.980
das musst du nicht machen.

00:49:36.380 --> 00:49:38.680
Also Kubernetes ist eine Krake an Docker-Containern.

00:49:39.580 --> 00:49:40.880
Ja, das ist so

00:49:40.880 --> 00:49:42.560
ein bisschen, das Problem mit Docker ist halt,

00:49:42.700 --> 00:49:44.880
dass das zu betreiben ist

00:49:44.880 --> 00:49:46.720
halt fies, Netzwerk ist fies,

00:49:46.860 --> 00:49:48.800
das ist alles, das entwickelt sich

00:49:48.800 --> 00:49:50.340
auch alles noch, das ist alles nicht so richtig

00:49:50.340 --> 00:49:53.000
gefestigt,

00:49:53.060 --> 00:49:54.000
das ist nicht ganz so schlimm wie

00:49:54.000 --> 00:49:56.660
jetzt bei den JavaScript-Frontends

00:49:56.660 --> 00:49:58.600
bei React oder so,

00:49:59.020 --> 00:50:00.960
aber es ist schon,

00:50:01.140 --> 00:50:02.720
es ist nicht so, also man kann

00:50:02.720 --> 00:50:04.660
sich da nicht so gut drauf verlassen und vor allen Dingen fehlt die Unterstützung

00:50:04.660 --> 00:50:06.820
für viele Sachen und dann gibt es da eben

00:50:06.820 --> 00:50:08.720
dann, wenn man

00:50:08.720 --> 00:50:10.500
das im Großen, wenn man eine komplette Cloud irgendwo

00:50:10.500 --> 00:50:12.660
betreiben möchte oder so, dann macht man da

00:50:12.660 --> 00:50:14.120
andere Geschichten, Management-Geschichten für.

00:50:14.900 --> 00:50:16.560
Da wäre jetzt Kubernetes ein Beispiel für. Aber

00:50:16.560 --> 00:50:18.760
die Frage ist, ob man das braucht. Und wenn du das

00:50:18.760 --> 00:50:20.660
selber irgendwie nur ein System, das brauchst du

00:50:20.660 --> 00:50:22.220
nicht. Also würde ich jetzt mal einfach,

00:50:22.320 --> 00:50:24.600
würde ich jetzt einfach mal so sagen, brauchst du nicht.

00:50:24.600 --> 00:50:26.700
Ja, also ich habe eine bestimmte Voraussetzung tatsächlich,

00:50:26.820 --> 00:50:28.700
also ich möchte so verschiedene Webseiten

00:50:28.700 --> 00:50:30.760
betreiben irgendwie, ne, irgendwie private Sachen.

00:50:30.960 --> 00:50:32.840
Dann hatten wir mal über Indie-Web besprochen,

00:50:33.080 --> 00:50:34.680
dann irgendwie so die beiden Services da drauf

00:50:34.680 --> 00:50:36.660
und dann vielleicht noch irgendwie eine Firmen-Webseite

00:50:36.660 --> 00:50:38.680
mit einem kleinen Login und vielleicht noch für

00:50:38.680 --> 00:50:40.820
IoT so ein bisschen, so ein Server,

00:50:40.980 --> 00:50:42.560
der da irgendwie läuft und das irgendwie alles gerne parallel

00:50:42.560 --> 00:50:45.060
und ja. Das ist ja kein Problem.

00:50:45.860 --> 00:50:46.660
Wie baue ich das denn?

00:50:46.800 --> 00:50:48.620
Also wo fange ich denn da an? Also ich habe jetzt so einen Server

00:50:48.620 --> 00:50:50.380
dann Cloud am besten gemietet oder

00:50:50.380 --> 00:50:52.560
vielleicht doch irgendwie so einen dedizierten irgendwo

00:50:52.560 --> 00:50:54.840
hingestellt oder nur einen kleinen virtuellen

00:50:54.840 --> 00:50:56.820
genommen. Das hängt halt wieder davon ab. Also ich würde

00:50:56.820 --> 00:50:58.660
einfach mal, also nur um das

00:50:58.660 --> 00:51:00.660
halt auszuprobieren, würde ich mit so einer kleinen

00:51:00.660 --> 00:51:01.280
Geschichte anfangen.

00:51:02.420 --> 00:51:04.100
Ja, aber das ist meine Frage nach dem Umzug. Also wenn ich dann merke,

00:51:04.200 --> 00:51:06.640
oh, umziehen, muss ich alles normal machen?

00:51:07.060 --> 00:51:07.940
Nee, musst du nicht.

00:51:08.820 --> 00:51:10.440
Dafür hast du ja deine Domain registriert.

00:51:11.400 --> 00:51:12.380
Ja, aber den Server muss ich ja umziehen.

00:51:12.500 --> 00:51:14.000
Also die ganzen Sachen muss ich ja nochmal konfigurieren.

00:51:14.000 --> 00:51:16.160
Ja, aber dann nee. Dann musst du gar nichts machen.

00:51:16.820 --> 00:51:18.020
Wenn du Docker nimmst, hast du dieses

00:51:18.020 --> 00:51:18.680
Problem gelöst.

00:51:19.800 --> 00:51:21.840
Achso, ich baue den Container einfach neu auf

00:51:21.840 --> 00:51:23.920
einem anderen System. Ja, genau.

00:51:24.180 --> 00:51:25.500
Du sagst einfach auf dem anderen System

00:51:25.500 --> 00:51:28.260
docker-compose dein docker-yaml-File

00:51:28.260 --> 00:51:29.040
ab, fertig.

00:51:29.960 --> 00:51:31.720
Nicht mal das. Also gut, man würde

00:51:31.720 --> 00:51:33.580
das jetzt nicht von Hand ausführen, sondern man würde

00:51:33.580 --> 00:51:35.540
dann halt irgendwie das in SystemD anhängen oder

00:51:35.540 --> 00:51:36.960
in SuperViceD.

00:51:37.800 --> 00:51:39.620
Normalerweise die Konfiguration dafür legst du

00:51:39.620 --> 00:51:41.460
auch in dein Projektverzeichnis mit rein.

00:51:42.960 --> 00:51:43.560
Linkst das nur noch

00:51:43.560 --> 00:51:45.720
nach etc.superviceD.conf

00:51:46.540 --> 00:51:47.480
oder weiß ich wo die Config-Files

00:51:47.480 --> 00:51:49.580
dafür liegen. Startest das Ding einmal

00:51:49.580 --> 00:51:51.660
neu und dann startet er deinen kompletten Kram,

00:51:51.840 --> 00:51:53.540
ohne dass du noch irgendwas machst. Also wie gesagt, wenn ich

00:51:53.540 --> 00:51:55.320
auf einem Server das deploye, da

00:51:55.320 --> 00:51:57.780
muss ich einen Link ziehen.

00:51:58.920 --> 00:51:59.600
Ich muss etwas

00:51:59.600 --> 00:52:01.520
an der Caddy-Config

00:52:01.520 --> 00:52:02.860
ändern, das machst du, dann schreib ich neu.

00:52:03.540 --> 00:52:05.340
Caddy, es ist dieses Config,

00:52:05.440 --> 00:52:07.380
also ich muss da irgendwas rein, ist die Reihenfolge entscheidend,

00:52:07.400 --> 00:52:09.220
wie das da drin hängt, weil die dann nacheinander gelaufen,

00:52:10.100 --> 00:52:11.280
wie verteilt er die Ressourcen,

00:52:11.380 --> 00:52:12.380
also wie viele er hat.

00:52:13.600 --> 00:52:15.500
Ja, also gut, das ist nochmal ein anderes Thema.

00:52:15.680 --> 00:52:16.900
Caddy ist ein Loadbalancer, was?

00:52:17.020 --> 00:52:19.160
Wir sind zu weit, wir müssen nochmal zurück.

00:52:19.560 --> 00:52:21.320
Ja, okay. Ja, also es ging nur darum,

00:52:21.580 --> 00:52:23.300
wie kriegst du das Zeugs irgendwie

00:52:23.300 --> 00:52:24.780
auf einer Maschine zum Laufen

00:52:24.780 --> 00:52:27.420
und da würde ich

00:52:27.420 --> 00:52:29.300
empfehlen, heutzutage Docker zu nehmen. Man kann auch

00:52:29.300 --> 00:52:31.000
andere Sachen benutzen, aber...

00:52:31.000 --> 00:52:33.240
Vagrant. Ja, man könnte auch Vagrant

00:52:33.240 --> 00:52:35.420
benutzen, aber das braucht auch mehr Ressourcen.

00:52:35.640 --> 00:52:37.240
Also das würde ich jetzt zum Beispiel, wenn du

00:52:37.240 --> 00:52:38.920
irgendwie so in dem Container, vor allen Dingen

00:52:38.920 --> 00:52:41.100
Container ist ja, also es ist natürlich auch irgendwie

00:52:41.100 --> 00:52:43.260
performancetechnisch sehr fies, also in dem Container

00:52:43.260 --> 00:52:45.240
nochmal Container-Geschichte zu starten, ist vielleicht

00:52:45.240 --> 00:52:46.980
auch nicht so die schlauste Idee

00:52:46.980 --> 00:52:49.000
performancetechnisch, aber es ist halt zum Entwickeln.

00:52:50.080 --> 00:52:51.240
Es ist halt so, würde ich

00:52:51.240 --> 00:52:53.380
sagen, state of the art eigentlich.

00:52:53.820 --> 00:52:55.000
Oder es ist halt am wenigsten

00:52:55.000 --> 00:52:56.960
schmerzhaft von allem, was es so

00:52:56.960 --> 00:52:59.220
momentan gibt. Vagrant kann man

00:52:59.220 --> 00:53:01.160
lokal ganz gut verwenden oder halt, wenn man einen dicken

00:53:01.160 --> 00:53:03.180
Server hat, aber du kannst

00:53:03.180 --> 00:53:05.380
es nicht gut verwenden in einem kleinen Container.

00:53:06.220 --> 00:53:07.120
Weil das

00:53:07.120 --> 00:53:09.140
braucht halt, das fährt halt wirklich ein komplettes

00:53:09.140 --> 00:53:10.600
Linux hoch pro.

00:53:11.180 --> 00:53:12.980
Und du kannst natürlich da drin alles wieder

00:53:12.980 --> 00:53:15.140
betreiben, du musst dann nicht das in einzelne

00:53:15.140 --> 00:53:16.140
Container aufteilen.

00:53:17.760 --> 00:53:19.400
Ja, aber das ist,

00:53:19.760 --> 00:53:21.100
wenn du wenig Hauptspeicher hast, ist das vielleicht

00:53:21.100 --> 00:53:21.920
einfach keine gute Idee.

00:53:23.960 --> 00:53:25.260
Na, und Docker passt da eigentlich

00:53:25.260 --> 00:53:26.920
ganz gut zu, da hast du dann zwar auch

00:53:26.920 --> 00:53:29.100
Container in Container, aber es ist

00:53:29.100 --> 00:53:31.520
nicht so, du fährst nicht jedes Mal ein komplettes

00:53:31.520 --> 00:53:33.560
Betriebssystem hoch und so, eine komplette Maschine.

00:53:35.020 --> 00:53:35.200
Ja,

00:53:35.540 --> 00:53:39.500
du kannst natürlich das auch irgendwie

00:53:39.500 --> 00:53:41.500
komplett einfach in diesem Container

00:53:41.500 --> 00:53:43.420
alle deine Services, die du so haben willst,

00:53:43.540 --> 00:53:45.280
starten, ja, du kannst halt zum Beispiel

00:53:45.280 --> 00:53:47.400
kann man da irgendwie so, auch das benutzt man

00:53:47.400 --> 00:53:49.440
eher für größere Infrastrukturen,

00:53:49.560 --> 00:53:51.480
um da halt ein komplettes

00:53:51.480 --> 00:53:53.120
System auszurollen, ja, das ist eigentlich so

00:53:53.120 --> 00:53:54.600
Automatisierung

00:53:54.600 --> 00:53:55.600
deiner

00:53:55.600 --> 00:53:57.620
Automatisierung deiner

00:53:57.620 --> 00:54:00.340
Infrastruktur hochziehend,

00:54:00.440 --> 00:54:01.960
so was wie Ansible oder so,

00:54:02.100 --> 00:54:04.140
es gibt auch noch diverse andere, es gibt Holstack, es gibt

00:54:04.140 --> 00:54:05.260
irgendwie Puppet Chef,

00:54:06.420 --> 00:54:08.160
aber Ansible wäre jetzt auch Python

00:54:08.160 --> 00:54:09.880
und damit

00:54:09.880 --> 00:54:12.180
verwaltest du

00:54:12.180 --> 00:54:14.340
quasi ein ganzes Inventory an Rechnern

00:54:14.340 --> 00:54:16.040
irgendwie und sagst dann,

00:54:16.140 --> 00:54:18.020
roll mein System aus und dann, das Ding braucht auch nur

00:54:18.020 --> 00:54:19.980
SSH, dann connectet es sich auf all die Systeme

00:54:19.980 --> 00:54:21.720
per SSH und

00:54:21.720 --> 00:54:23.880
macht dann magische Dinge, sodass dann da

00:54:23.880 --> 00:54:25.780
wie die Services laufen, die da laufen sollen

00:54:25.780 --> 00:54:27.780
und so. Irgendwie sowas braucht man auch,

00:54:27.840 --> 00:54:29.840
wenn man einen Vagrant verwenden wollte, weil du musst ja die Services

00:54:29.840 --> 00:54:31.860
dann irgendwie in deinem Vagrant, in deiner

00:54:31.860 --> 00:54:33.860
virtuellen Maschine halt auch zum Laufen kriegen. Das heißt, du musst

00:54:33.860 --> 00:54:35.320
da irgendwie die entsprechenden Pakete installieren,

00:54:35.760 --> 00:54:37.680
musst du die Services hochfahren, du musst die Config-Files

00:54:37.680 --> 00:54:39.660
irgendwie mit Templates so

00:54:39.660 --> 00:54:41.780
irgendwie, also

00:54:41.780 --> 00:54:43.640
du hast Templates für deine Config-Files, dann musst du die so mit den

00:54:43.640 --> 00:54:45.680
echten IP-Adressen und so ersetzen, dass dann die

00:54:45.680 --> 00:54:47.720
richtigen Config-Files da sind, dann muss das Ganze hochgefahren

00:54:47.720 --> 00:54:49.760
werden und so weiter und so weiter.

00:54:50.080 --> 00:54:51.860
Und für so ein komplettes System

00:54:51.860 --> 00:54:53.420
irgendwie Ansible

00:54:53.420 --> 00:54:55.580
Rollen, nennt man das, zu schreiben. Das geht

00:54:55.580 --> 00:54:57.280
alles, habe ich auch schon gemacht und so.

00:54:58.500 --> 00:54:59.540
Aber das ist eine Menge Arbeit.

00:54:59.900 --> 00:55:01.520
Also das ist nicht so ohne. Und das dann

00:55:01.520 --> 00:55:03.580
auszurollen dauert auch ziemlich lange.

00:55:05.060 --> 00:55:05.660
Das ist halt auch

00:55:05.660 --> 00:55:07.540
so ein Nachteil gegenüber Docker. Also das ist halt

00:55:07.540 --> 00:55:09.180
irgendwie so ein komplettes

00:55:09.180 --> 00:55:11.680
Ding mit Vagrant hochzuziehen. Kann sein,

00:55:11.780 --> 00:55:13.420
dass das selbst, wenn du einen schnellen Rechner hast, lokal,

00:55:13.560 --> 00:55:15.600
kann sein, dass das 20 Minuten dauert, wenn du so viele

00:55:15.600 --> 00:55:17.640
Maschinen hochfährst oder so. Kannst natürlich

00:55:17.640 --> 00:55:19.580
auch alles in einer Maschine haben, aber dann hast du wieder das Problem, du kannst

00:55:19.580 --> 00:55:20.320
es nicht mehr aufteilen.

00:55:21.460 --> 00:55:23.340
Wenn du es jetzt auf andere Maschinen aufteilen wolltest,

00:55:23.420 --> 00:55:29.280
Und das ist halt einfach oft zu langsam.

00:55:29.620 --> 00:55:30.940
Wenn du zum Beispiel irgendwas,

00:55:31.080 --> 00:55:33.080
du versuchst, irgendeine Funktion hinzukriegen,

00:55:33.140 --> 00:55:34.840
musst dafür irgendeine Bibliothek installieren,

00:55:35.220 --> 00:55:36.000
die das halt kann,

00:55:36.160 --> 00:55:37.220
ein Python-Wrapper drumherum,

00:55:37.280 --> 00:55:38.160
der da irgendwas mitmacht.

00:55:38.900 --> 00:55:40.520
Und du willst halt so schnell iterieren können.

00:55:40.860 --> 00:55:42.080
Du willst halt schnell irgendwas ausprobieren.

00:55:42.320 --> 00:55:43.160
Ah, geht nicht, nochmal.

00:55:43.900 --> 00:55:46.700
Und bei Docker dauert so ein Build für,

00:55:47.000 --> 00:55:48.160
weiß ich jetzt nicht,

00:55:48.920 --> 00:55:50.520
je nachdem wie viel CPU-Power

00:55:50.520 --> 00:55:51.960
und Platten und Netz man hat.

00:55:51.960 --> 00:56:17.360
Aber so bei mir dauert das, ich habe so ein Standard-Django-Projekt, hat bei mir irgendwie die Datenbank, Redis, irgendwie Applikationszauber-Django, vielleicht noch Celery oder so, also fünf, sechs Container, irgendwie sowas, die alle neu zu bauen, wenn man jetzt zum Beispiel eine Abhängigkeit im Betriebssystem, also sagen wir mal, wenn man jetzt irgendwie auf Betriebssystem-Level irgendeine Bibliothek braucht oder so, die vorher nicht da war, dann muss man die Container neu bauen.

00:56:18.040 --> 00:56:19.280
Und das dauert bei mir so

00:56:19.280 --> 00:56:22.560
zwei bis drei Minuten

00:56:22.560 --> 00:56:23.580
lokal.

00:56:24.440 --> 00:56:25.460
Ja, je nach Größe der Anwendung natürlich.

00:56:25.620 --> 00:56:27.600
Ja, je nach Größe der Anwendung, aber das ist

00:56:27.600 --> 00:56:30.200
die Anwendung

00:56:30.200 --> 00:56:31.980
selber, die Genre-Anwendung hat damit gar nichts mehr zu tun.

00:56:32.340 --> 00:56:34.200
Der Hauptteil, der da dauert, ist halt

00:56:36.320 --> 00:56:36.720
tatsächlich

00:56:36.720 --> 00:56:37.880
die Installation

00:56:37.880 --> 00:56:40.320
und das Bauen der Container.

00:56:40.900 --> 00:56:42.420
Und dann halt hinterher müssen nochmal die ganzen

00:56:42.420 --> 00:56:44.560
PIP-Abhängigkeiten per PIP

00:56:44.560 --> 00:56:45.580
installiert werden. Das dauert auch.

00:56:47.940 --> 00:56:49.680
Ja, aber das ist halt

00:56:49.680 --> 00:56:51.680
viel, viel schneller, als wenn man

00:56:51.680 --> 00:56:53.620
das jetzt bei Ansible und Vagrant machen

00:56:53.620 --> 00:56:55.160
wollte. Und

00:56:55.160 --> 00:56:57.500
das Problem ist halt, drei Minuten ist auch schon lang,

00:56:58.480 --> 00:56:59.740
aber das macht

00:56:59.740 --> 00:57:01.560
einem so gerade vielleicht den Flow noch

00:57:01.560 --> 00:57:03.340
nicht kaputt. Aber wenn man jetzt irgendwie da

00:57:03.340 --> 00:57:05.080
dann jedes Mal 20 Minuten warten muss, dann

00:57:05.080 --> 00:57:07.040
geht man Kaffee trinken und macht irgendwas anderes.

00:57:07.680 --> 00:57:08.920
Und man muss aber möglicherweise

00:57:08.920 --> 00:57:11.060
zehnmal was anderes ausprobieren,

00:57:11.760 --> 00:57:13.440
weil oft bleibt einem nichts übrig, als

00:57:13.440 --> 00:57:14.840
Sachen auszuprobieren, ob es jetzt so geht.

00:57:15.100 --> 00:57:17.600
Der Python-Rapper funktioniert nicht, muss einen anderen nehmen,

00:57:17.660 --> 00:57:18.720
mit dir nochmal aus.

00:57:19.660 --> 00:57:21.880
Wenn du da zehnmal irgendwas ausprobieren möchtest

00:57:21.880 --> 00:57:22.900
und du hast immer eine

00:57:22.900 --> 00:57:25.440
20 Minuten Latenz dazwischen ist,

00:57:25.600 --> 00:57:27.760
das macht einen langsam.

00:57:28.220 --> 00:57:29.820
Du hast gerade gesagt, von dir gehört

00:57:29.820 --> 00:57:31.260
noch eine Redis, das ist ein Cache,

00:57:31.360 --> 00:57:33.920
da man die Sachen von der Datenbank direkt verfügbar hat.

00:57:35.180 --> 00:57:35.960
Ja, einfach nur

00:57:35.960 --> 00:57:37.440
zum Cachen von beliebigen Dingen.

00:57:37.880 --> 00:57:39.660
Nicht nur Datenbank, also es gibt ja auch vielleicht

00:57:39.660 --> 00:57:41.740
andere Sachen, die länger laufen oder wo man halt

00:57:41.740 --> 00:57:42.940
Statische Files oder sowas.

00:57:42.940 --> 00:57:44.320
Nee, nee, nee, das machen wir nicht.

00:57:44.460 --> 00:57:45.220
Nein, nein, okay.

00:57:46.460 --> 00:57:48.520
Ne, also es gibt noch, wenn du jetzt

00:57:48.520 --> 00:57:50.280
statische Files cachen möchtest, das würde man

00:57:50.280 --> 00:57:52.600
auf der anderen Seite machen. Also Redis ist etwas,

00:57:53.200 --> 00:57:54.560
die Applikation, also

00:57:54.560 --> 00:57:55.860
wenn ich jetzt zum Beispiel in Django

00:57:55.860 --> 00:57:58.300
eine Funktion habe, die irgendwas lange

00:57:58.300 --> 00:58:00.560
berechnet

00:58:00.560 --> 00:58:02.240
oder so, dann ist fertig ist, dann

00:58:02.240 --> 00:58:03.820
schreibe ich darüber irgendwie

00:58:03.820 --> 00:58:06.420
CacheProperty oder so zum Beispiel in Django

00:58:06.420 --> 00:58:08.560
um Django zu sagen, cache das hier

00:58:08.560 --> 00:58:10.280
mal bitte, weil ich will das nicht

00:58:10.280 --> 00:58:11.280
jedes Mal, wenn dieses

00:58:11.280 --> 00:58:12.940
Property

00:58:12.940 --> 00:58:16.400
jemand, wenn jemand darauf zugreift,

00:58:16.460 --> 00:58:17.880
möchte ich nicht, dass es jedes Mal neu berechnet wird.

00:58:18.020 --> 00:58:18.980
Es soll nur einmal berechnet werden.

00:58:19.010 --> 00:58:21.050
und dann im Cache landen. Und dann verwende ich diesen

00:58:21.050 --> 00:58:23.170
Dekorator und dann landet

00:58:23.170 --> 00:58:24.850
das im Redis. Also wenn ich jetzt Redis

00:58:24.850 --> 00:58:27.070
konfiguriert habe, als das ist der Cache

00:58:27.070 --> 00:58:28.070
für meine Django-Applikation.

00:58:29.250 --> 00:58:30.990
Für sowas ist es gut. Man kann Redis auch noch

00:58:30.990 --> 00:58:32.490
für diverse andere Geschichten verwenden.

00:58:34.170 --> 00:58:34.490
Und

00:58:34.490 --> 00:58:36.810
wenn ich jetzt sozusagen

00:58:36.810 --> 00:58:39.170
die statischen Files cachen wollte

00:58:39.170 --> 00:58:41.030
in Memory, das kann auch durchaus Sinn machen, aber das

00:58:41.030 --> 00:58:43.090
würde ich an einer anderen Stelle machen. Und zwar

00:58:43.090 --> 00:58:45.010
vorne dran, vor dem Django.

00:58:45.990 --> 00:58:46.930
Vor dem Applikationsfang.

00:58:47.050 --> 00:58:48.790
Da würde ich

00:58:48.790 --> 00:58:49.950
einen Varnish nehmen oder so.

00:58:50.130 --> 00:58:52.530
Das ist so ein In-Memory-Cache,

00:58:53.370 --> 00:58:54.990
den man

00:58:54.990 --> 00:58:56.010
davor hängt und

00:58:56.010 --> 00:58:57.930
der würde halt

00:58:57.930 --> 00:59:00.150
sozusagen alles, was so an statischen Files geht

00:59:00.150 --> 00:59:02.530
oder so, die da durchgehen, halt

00:59:02.530 --> 00:59:03.590
In-Memory-Cachen.

00:59:04.550 --> 00:59:06.770
Oder überhaupt alles, was an statischen Assets drin ist

00:59:06.770 --> 00:59:07.470
oder auch andere Sachen.

00:59:09.270 --> 00:59:09.950
Überhaupt alle

00:59:09.950 --> 00:59:12.830
Dinge, die identifizierbar

00:59:12.830 --> 00:59:14.390
sind als cachebar über die Cache-Header.

00:59:15.330 --> 00:59:16.650
Und das wäre dann

00:59:16.650 --> 00:59:18.750
viel, viel schneller. Also das macht man

00:59:18.750 --> 00:59:19.370
dann an der Stelle.

00:59:20.330 --> 00:59:22.510
Ist jetzt aber in meinen Projekten meistens gar nicht mit drin,

00:59:22.730 --> 00:59:23.030
weil

00:59:23.030 --> 00:59:26.590
brauche ich eigentlich meistens nicht, weil ich

00:59:26.590 --> 00:59:28.710
habe nicht so viel Traffic. Wenn ich jetzt irgendwo viel Traffic

00:59:28.710 --> 00:59:30.490
hätte, ja, dann macht das

00:59:30.490 --> 00:59:32.150
wahrscheinlich durchaus Sinn, sowas zu verwenden.

00:59:33.310 --> 00:59:33.630
Aber

00:59:33.630 --> 00:59:36.630
ansonsten werden die statischen Assets

00:59:36.630 --> 00:59:38.450
halt ausgeliefert entweder von

00:59:38.450 --> 00:59:40.450
in meinem Fall meistens

00:59:40.450 --> 00:59:42.370
vom Caddy.

00:59:42.510 --> 00:59:43.870
Das ist der, ja,

00:59:43.870 --> 00:59:45.730
ich mache diesen Stack nochmal komplett durch.

00:59:46.310 --> 00:59:48.090
Also das, was davor ist, und das ist auch etwas, was

00:59:48.090 --> 00:59:49.070
leider nicht in dem

00:59:49.070 --> 00:59:52.070
Docker-Geschichten selber

00:59:52.070 --> 00:59:53.830
mit, also sagen wir mal so, wenn man jetzt Cookie-Cutter

00:59:53.830 --> 00:59:56.250
verwendet, um ein Django-Projekt

00:59:56.250 --> 00:59:58.190
zu erzeugen, dann ist der Caddy schon

00:59:58.190 --> 00:59:59.890
mit drin, aber

00:59:59.890 --> 01:00:01.450
man kann das oft nicht verwenden,

01:00:02.090 --> 01:00:04.150
wenn man das jetzt auf irgendeine Maschine da draußen

01:00:04.150 --> 01:00:05.710
deployt oder in einen Container,

01:00:06.490 --> 01:00:07.930
auf den man sich per Route einloggt,

01:00:08.450 --> 01:00:10.210
weil, wenn man da jetzt zum Beispiel mehrere Domains

01:00:10.210 --> 01:00:10.450
hat,

01:00:12.230 --> 01:00:12.750
die man

01:00:12.750 --> 01:00:15.730
da ausliefern will,

01:00:16.310 --> 01:00:18.430
dann muss der Caddy

01:00:18.430 --> 01:00:20.090
halt unabhängig von den

01:00:20.090 --> 01:00:22.470
einzelnen Systemen sein, sonst geht das halt nicht.

01:00:22.670 --> 01:00:23.690
Und was macht der Caddy denn jetzt?

01:00:23.770 --> 01:00:26.170
Im Celery hattest du noch eventuell, musst du auch noch mal kurz.

01:00:26.530 --> 01:00:28.170
Ja, also Caddy ist

01:00:28.170 --> 01:00:29.950
ein grob geschriebener

01:00:29.950 --> 01:00:31.310
Web-Server,

01:00:32.310 --> 01:00:32.530
der

01:00:32.530 --> 01:00:35.990
besonders schön integriert ist mit halt

01:00:35.990 --> 01:00:37.850
Let's Encrypt, sodass halt HTTPS,

01:00:38.130 --> 01:00:40.090
also SLL, TLS kann

01:00:40.090 --> 01:00:42.110
halt ohne, dass man da irgendwie viel konfigurieren muss,

01:00:42.750 --> 01:00:44.070
ohne dass man irgendwie Startboard selber

01:00:44.070 --> 01:00:45.110
irgendwie verändern muss.

01:00:46.270 --> 01:00:49.150
es ist so,

01:00:50.390 --> 01:00:51.210
ja, HTTPS

01:00:51.210 --> 01:00:53.170
funktioniert einfach magisch und man muss sich nicht mehr

01:00:53.170 --> 01:00:55.130
kümmern. Das ist halt so der Effekt.

01:00:56.050 --> 01:00:56.970
Was ja ganz nett ist.

01:00:58.390 --> 01:00:58.650
Und

01:00:58.650 --> 01:01:01.210
der ist auch sonst relativ

01:01:01.210 --> 01:01:03.170
schnell. Der ist nicht ganz so schnell wie Nginx oder so.

01:01:03.350 --> 01:01:05.030
Aber ich meine, ob das Ding jetzt,

01:01:05.110 --> 01:01:06.990
weiß ich nicht, 10.000 Requests pro Sekunde kann oder

01:01:06.990 --> 01:01:09.150
nur 5.000, macht für die allermeisten Leute überhaupt keinen

01:01:09.150 --> 01:01:11.110
Unterschied, weil sie haben nicht mal

01:01:11.110 --> 01:01:12.930
ein Request pro Sekunde da. Ja, ist egal.

01:01:13.950 --> 01:01:14.990
3, 3, 4, ja.

01:01:15.210 --> 01:01:16.830
Ja, aber selbst bei 100 ist es völlig wurscht.

01:01:17.610 --> 01:01:19.050
Und, ähm, ja,

01:01:19.270 --> 01:01:21.090
und dass sein Google geschrieben ist, macht vielleicht das Ganze auch noch

01:01:21.090 --> 01:01:22.950
ein bisschen vertrauenswürdiger, als wenn ich meine Nginx

01:01:22.950 --> 01:01:24.930
C und so, hm,

01:01:25.130 --> 01:01:25.470
wer weiß.

01:01:26.990 --> 01:01:28.870
Aber, naja, eigentlich ist es wurscht.

01:01:28.970 --> 01:01:31.050
Also was für mich den Ausschlag gibt, den zu verwenden, ist halt

01:01:31.050 --> 01:01:33.090
die schöne Let's Encrypt-Integration.

01:01:34.070 --> 01:01:35.050
Und, ähm,

01:01:35.790 --> 01:01:36.910
ja, der ist sozusagen vor den,

01:01:37.290 --> 01:01:39.090
vor Django davor, halt eben um

01:01:39.090 --> 01:01:40.890
sowas wie Statisch Falls auszuliefern, weil das kann halt

01:01:40.890 --> 01:01:42.950
Django nicht so gut selber. Wobei, muss man

01:01:42.950 --> 01:01:45.110
auch einschränken, sagen, äh,

01:01:45.210 --> 01:01:49.970
Mit White Noise ist das vielleicht nicht mehr so ganz aktuell, aber...

01:01:49.970 --> 01:01:50.650
Was ist White Noise?

01:01:51.110 --> 01:01:51.730
Oh Gott.

01:01:53.850 --> 01:02:04.550
Das ist ein, ja, ich weiß nicht, innerhalb von Django kann man das als Party-App installieren

01:02:04.550 --> 01:02:10.390
und das liefert dann Files, also wenn man normalerweise einfach so ein File ausliefern würde in Django,

01:02:10.390 --> 01:02:14.510
dann zieht man das halt in den Hauptspeicher, also von der Platte in den Hauptspeicher

01:02:14.510 --> 01:02:16.350
und dann von dem Hauptspeicher schickt man es

01:02:16.350 --> 01:02:16.870
wieder durch

01:02:16.870 --> 01:02:20.370
den Kernel-Space

01:02:20.370 --> 01:02:22.070
irgendwie wieder raus über die Netzwerkkarte

01:02:22.070 --> 01:02:23.790
und da wird

01:02:23.790 --> 01:02:25.870
viele Daten werden da kopiert und

01:02:25.870 --> 01:02:27.690
das ist alles scheußlich und man blockiert

01:02:27.690 --> 01:02:28.250
einen

01:02:28.250 --> 01:02:32.190
Worker-Prozess. Hängt auch wieder davon ab,

01:02:32.290 --> 01:02:33.990
welchen Applikations-Server verwendet

01:02:33.990 --> 01:02:34.890
Unicorn,

01:02:35.870 --> 01:02:37.730
Micro-Whisky oder My-Whisky oder

01:02:37.730 --> 01:02:39.830
WSGI oder so, also das ist alles

01:02:39.830 --> 01:02:41.330
der gleiche, weil es nur nicht wieder ausgesprochen wird.

01:02:43.210 --> 01:02:43.890
Man muss ja

01:02:43.890 --> 01:02:45.790
irgendeinen Applikations-Server

01:02:45.790 --> 01:02:47.270
verwenden, der sozusagen dieses

01:02:47.270 --> 01:02:48.970
WSGI-Protokoll spricht

01:02:48.970 --> 01:02:51.510
mit der Applikation.

01:02:52.810 --> 01:02:52.990
Und

01:02:52.990 --> 01:02:55.190
naja,

01:02:55.810 --> 01:02:56.590
also wenn man

01:02:56.590 --> 01:02:59.530
das File tatsächlich einfach so selbst ausliefert,

01:03:00.230 --> 01:03:01.670
dann ist das extrem langsam

01:03:01.670 --> 01:03:03.410
und dann ist halt bei wenigen Files

01:03:03.410 --> 01:03:04.470
schon direkt Schluss.

01:03:05.610 --> 01:03:07.150
Und das ist natürlich etwas, was man

01:03:07.150 --> 01:03:08.090
nicht haben will.

01:03:09.070 --> 01:03:11.150
Und wenn der Caddy

01:03:11.150 --> 01:03:13.270
oder auch ein Nginx

01:03:13.270 --> 01:03:14.950
kann halt problemlos viele

01:03:14.950 --> 01:03:17.430
Files irgendwie ausliefern

01:03:17.430 --> 01:03:19.270
und macht das halt nicht

01:03:19.270 --> 01:03:21.390
so, dass er erst die Files in den Hauptspeicher kopiert,

01:03:21.530 --> 01:03:23.290
dann durch den User, also vom

01:03:23.290 --> 01:03:25.110
Kernel zu den User-Files und dann wieder zurück schiebt,

01:03:25.350 --> 01:03:27.230
um das auszuliefern, sondern der

01:03:27.230 --> 01:03:28.830
verwendet halt einen Kernel

01:03:28.830 --> 01:03:30.850
und ein syscall

01:03:30.850 --> 01:03:33.010
send-File, um die Files halt raus zu

01:03:33.010 --> 01:03:35.290
sagt halt diesem Kernel

01:03:35.290 --> 01:03:36.830
nur irgendwie hier, dieses File,

01:03:37.210 --> 01:03:38.890
diese Verbindung bitte sehr, liefere aus.

01:03:39.490 --> 01:03:40.290
Sodass das halt

01:03:40.290 --> 01:03:43.030
ja, viel, viel schneller ist.

01:03:43.130 --> 01:03:45.290
Also der Kernel liefert im Grunde mehr oder weniger die Files aus

01:03:45.290 --> 01:03:49.150
und kann da

01:03:49.150 --> 01:03:51.130
irgendwelche Tricks machen. Teilweise werden die

01:03:51.130 --> 01:03:52.870
Sachen nicht mehr durch den Hauptspeicher, sondern

01:03:52.870 --> 01:03:54.670
gehen direkt per Serial Copy TCP

01:03:54.670 --> 01:03:56.670
irgendwie in den Netzwerkwaffer der

01:03:56.670 --> 01:03:58.810
Karte oder so von den Platten aus und so.

01:03:59.090 --> 01:04:00.990
Also da gibt es crazy

01:04:00.990 --> 01:04:03.110
Shit-Optimierungskrams,

01:04:03.130 --> 01:04:04.990
der da gemacht wird. Bin ich jetzt auch nicht mehr so auf der

01:04:04.990 --> 01:04:06.890
Höhe der Zeit, was da momentan aktuell ist, aber es geht

01:04:06.890 --> 01:04:08.190
irgendwie eine Menge.

01:04:08.870 --> 01:04:11.150
Und White Noise verwendet

01:04:11.150 --> 01:04:12.890
auch Sendfile. Insofern ist das da nicht mehr so

01:04:12.890 --> 01:04:13.090
schlimm.

01:04:14.910 --> 01:04:16.910
Aber eigentlich

01:04:16.910 --> 01:04:19.010
will man jetzt auch nicht große Mengen darüber ausliefern,

01:04:19.110 --> 01:04:21.010
weil der Request ja dann immer noch aufschlägt

01:04:21.010 --> 01:04:21.690
im Django.

01:04:23.150 --> 01:04:24.770
Oder jeder, der Request nach einem

01:04:24.770 --> 01:04:26.770
File, und das kann halt viel sein. Also wenn man viele kleine

01:04:26.770 --> 01:04:28.270
Bilder hat auf einer Webseite zum Beispiel,

01:04:28.930 --> 01:04:30.910
wenn man eine Liste von irgendwelchen

01:04:30.910 --> 01:04:32.590
Dingen, wo halt immer Bilder dabei sind, dann

01:04:32.590 --> 01:04:34.510
ist halt jedes Bild, macht halt ein Request.

01:04:35.510 --> 01:04:35.790
Und

01:04:35.790 --> 01:04:38.890
in moderner Browser machen die ganzen Requests ja auch ein Parallel.

01:04:39.290 --> 01:04:40.710
Das heißt, die prügeln halt dann auf

01:04:40.710 --> 01:04:42.430
deine Applikations-Server ein und das ist halt

01:04:42.430 --> 01:04:45.470
Und das finde ich nicht so gut.

01:04:46.210 --> 01:04:54.470
Und da, ich mache es nicht so, aber was wohl gut ist,

01:04:54.470 --> 01:04:58.350
ist halt, man verwendet White Noise und dann da vorne irgendwie Varnish oder sowas

01:04:58.350 --> 01:05:03.070
oder halt ein CDN, sodass halt beim ersten Mal werden die Sachen dann tatsächlich von White Noise ausgeliefert

01:05:03.070 --> 01:05:07.250
und danach sind sie halt gecached irgendwo im Content Delivery Network oder halt Varnish oder so.

01:05:07.390 --> 01:05:08.310
Und dann ist es schnell.

01:05:10.110 --> 01:05:10.850
Was ich mache,

01:05:11.030 --> 01:05:12.950
ich verwende

01:05:12.950 --> 01:05:15.330
meistens den Webserver

01:05:15.330 --> 01:05:17.010
in Caddy oder Nginx vorne dran zum

01:05:17.010 --> 01:05:18.930
Aussehen meiner statischen Assets.

01:05:19.070 --> 01:05:20.130
Da gibt es halt einen Unterschied in Django.

01:05:20.830 --> 01:05:22.510
Statische Geschichten, das ist sowas wie JavaScript,

01:05:22.830 --> 01:05:23.330
CSS,

01:05:25.930 --> 01:05:26.810
Fav-Icon,

01:05:27.170 --> 01:05:28.750
dieser ganze Kram halt sozusagen, der

01:05:28.750 --> 01:05:30.770
ja,

01:05:30.930 --> 01:05:32.850
zum Projekt halt dazugehört, aber jetzt sich

01:05:32.850 --> 01:05:34.390
im Grunde nicht ändert.

01:05:34.630 --> 01:05:36.830
Das Firmenlogo, was du immer schon eingebaut hast.

01:05:36.850 --> 01:05:38.730
Genau, also wenn man, die Sachen werden

01:05:38.730 --> 01:05:40.370
dann auch generiert, diese High-Namen

01:05:40.370 --> 01:05:42.250
und dann sobald man

01:05:42.250 --> 01:05:44.750
da was

01:05:44.750 --> 01:05:46.770
dran ändert und dann noch Collect Static aufruft,

01:05:46.870 --> 01:05:48.650
um das halt alles in ein Verzeichnis zu kopieren, das dann halt

01:05:48.650 --> 01:05:50.690
von einem Webserver ausgeliefert werden kann, dann kriegen die

01:05:50.690 --> 01:05:52.630
halt unike Namen, sodass das halt

01:05:52.630 --> 01:05:54.570
man auch sagen kann, die werden für immer gecached, weil

01:05:54.570 --> 01:05:56.570
wenn es was Neues gibt, dann wird der eh einen anderen Namen verwenden.

01:05:57.970 --> 01:05:58.130
Ja,

01:05:59.630 --> 01:06:00.510
das ist halt, dieses

01:06:00.510 --> 01:06:02.710
Headlink der Static-Files ist halt ein bisschen anders, als

01:06:02.710 --> 01:06:04.270
wenn jetzt User Bilder hochladen oder so.

01:06:04.390 --> 01:06:06.370
Dann ist das Media-Root in Django

01:06:06.370 --> 01:06:07.750
und es wird halt so ein bisschen anders

01:06:07.750 --> 01:06:09.610
gehandelt und statische Files

01:06:09.610 --> 01:06:11.390
werden ausgeliefert vom

01:06:11.390 --> 01:06:13.770
Caddy und

01:06:13.770 --> 01:06:15.450
alles, was User

01:06:15.450 --> 01:06:17.270
an Content hochladen, landet

01:06:17.270 --> 01:06:19.270
in einem CDN, also landet in

01:06:19.270 --> 01:06:21.610
S3, in einem Bucket

01:06:21.610 --> 01:06:23.510
und der wiederum wird dann

01:06:23.510 --> 01:06:25.450
ausgeliefert über, ich glaube, das ist

01:06:25.450 --> 01:06:27.570
CloudFront, das ist

01:06:27.570 --> 01:06:29.010
auch das CDN von

01:06:29.010 --> 01:06:31.470
Amazon, sodass

01:06:31.470 --> 01:06:33.430
ich halt auch damit keinen Stress mehr habe,

01:06:33.990 --> 01:06:34.550
sondern das

01:06:34.550 --> 01:06:37.510
ja, dann

01:06:37.750 --> 01:06:38.930
das ist dann halt auch schnell.

01:06:39.330 --> 01:06:39.950
Ist halt ein bisschen,

01:06:41.110 --> 01:06:42.710
ja, muss man vielleicht gar nicht machen,

01:06:42.910 --> 01:06:43.870
weiß ich jetzt gar nicht so genau.

01:06:45.510 --> 01:06:46.290
Aber das ist halt auch eine Lösung.

01:06:46.610 --> 01:06:48.730
Das ist natürlich auch eine, ja genau, das ist dann auch

01:06:48.730 --> 01:06:49.370
quasi beliebig.

01:06:50.530 --> 01:06:53.310
Ja, Traffic

01:06:53.310 --> 01:06:54.150
wird halt irgendwann teuer.

01:06:54.150 --> 01:06:55.110
Ja, da muss man sich...

01:06:55.110 --> 01:06:59.170
Ja, aber man muss halt dann pro,

01:06:59.370 --> 01:07:00.750
ja, weiß ich nicht,

01:07:00.870 --> 01:07:02.130
weiß ich gar nicht, pro Gigabyte

01:07:02.130 --> 01:07:03.990
oder weiß ich nicht, irgendwann bezahlt man halt pro

01:07:03.990 --> 01:07:05.910
irgendwas. Man hat irgendwie 100 Gigabyte

01:07:05.910 --> 01:07:07.390
frei oder so, dann fängt man irgendwann an zu bezahlen.

01:07:07.750 --> 01:07:08.750
Zwei Euro pro Request.

01:07:10.050 --> 01:07:11.450
Ist nicht ganz so schlimm, aber es ist

01:07:11.450 --> 01:07:13.970
ja, und wenn man das selber macht

01:07:13.970 --> 01:07:15.670
mit White Noise und so, kann man

01:07:15.670 --> 01:07:17.570
wirklicherweise sich da auch den Traffic sparen, was

01:07:17.570 --> 01:07:18.370
auch schnell ist.

01:07:19.450 --> 01:07:21.410
Wenn man CDN vorne ran findet, auch nicht.

01:07:22.330 --> 01:07:23.870
Wie auch immer, also genau.

01:07:24.090 --> 01:07:25.410
Jetzt haben wir auf jeden Fall den Dango

01:07:25.410 --> 01:07:27.830
Applikations-Server, da hast du gesagt, Junicorn, irgendwas laufen.

01:07:28.050 --> 01:07:29.810
Junicorn, ja, also ich würde sagen, wenn man

01:07:29.810 --> 01:07:31.930
eben nicht mehrere Seiten

01:07:31.930 --> 01:07:33.390
hostet, dann

01:07:33.390 --> 01:07:35.850
sondern, dass er so ein eigenes Projekt

01:07:35.850 --> 01:07:37.530
hat, was irgendwie und der

01:07:37.530 --> 01:07:39.610
Applikationsserver nur das für eine

01:07:39.610 --> 01:07:41.210
Geschichte macht, für eine Domain oder so,

01:07:41.670 --> 01:07:43.870
dann ist GeoNikon, denke ich, die bessere Wahl.

01:07:44.950 --> 01:07:45.870
Ansonsten, wenn es

01:07:45.870 --> 01:07:47.910
komplizierter ist, dann, gut, muss man

01:07:47.910 --> 01:07:48.770
vielleicht dieses

01:07:48.770 --> 01:07:50.710
WSGI-Ding nehmen,

01:07:51.250 --> 01:07:53.370
das hat

01:07:53.370 --> 01:07:54.570
einen Haufen

01:07:54.570 --> 01:07:57.250
Einstellungen, die ja darauf optimiert sind, dass man,

01:07:57.610 --> 01:07:58.750
wenn man HOSA ist selber,

01:07:59.250 --> 01:08:01.770
kann man halt auch eine Menge andere Dinge

01:08:01.770 --> 01:08:03.890
noch einstellen, ist aber komplizierter,

01:08:03.970 --> 01:08:06.030
Daher würde ich das jetzt nicht direkt empfehlen.

01:08:06.130 --> 01:08:07.810
Auch wenn man Cookie-Cutter nimmt, ist Unicorn dabei.

01:08:08.550 --> 01:08:10.510
Ich würde sowieso empfehlen, das Cookie-Cutter-Django-Template

01:08:10.510 --> 01:08:12.050
zu verwenden, weil das macht eigentlich an der Stelle

01:08:12.050 --> 01:08:12.930
schon viel richtig.

01:08:14.930 --> 01:08:16.070
Ja, da

01:08:16.070 --> 01:08:18.150
muss man sich selber

01:08:18.150 --> 01:08:19.930
um diese... Also Cookie-Cutter ist was, das deine

01:08:19.930 --> 01:08:21.970
Projekte automatisch vorkonfiguriert,

01:08:22.090 --> 01:08:23.250
deployed oder voranstellt.

01:08:23.250 --> 01:08:25.550
Nee, das erzeugt das Projekt.

01:08:25.850 --> 01:08:28.290
Es ist ein Projekt-Template

01:08:28.290 --> 01:08:30.290
und es fragt einen, wenn man

01:08:30.290 --> 01:08:31.570
es ausführt, am Anfang

01:08:31.570 --> 01:08:34.470
so ein paar Sachen und da antwortet man

01:08:34.470 --> 01:08:35.790
halt so zum Beispiel, wie das Projekt heißt oder

01:08:35.790 --> 01:08:38.490
keine Ahnung, ob man jetzt Celery verwenden möchte oder nicht

01:08:38.490 --> 01:08:40.390
oder so oder welche Datenbank. Celery hast du

01:08:40.390 --> 01:08:42.210
jetzt auch noch nicht. Genau, das ist auch

01:08:42.210 --> 01:08:43.730
Arbeiten, Bienen oder

01:08:43.730 --> 01:08:46.350
Celery, genau, man hat oft

01:08:46.350 --> 01:08:49.650
die Geschichte, dass man

01:08:49.650 --> 01:08:51.730
nicht, dass man langlaufende

01:08:51.730 --> 01:08:53.810
Jobs hat, die

01:08:53.810 --> 01:08:56.130
ausgelöst werden von einem

01:08:56.130 --> 01:08:58.250
Web-Request und man möchte jetzt den User am Ende

01:08:58.250 --> 01:09:00.410
aber nicht warten lassen. Also sowas

01:09:00.410 --> 01:09:01.850
wie, keine Ahnung,

01:09:04.210 --> 01:09:04.390
ja,

01:09:04.470 --> 01:09:06.210
User lädt ein Video hoch und man muss das jetzt in alle

01:09:06.210 --> 01:09:07.030
Formate rendern,

01:09:07.630 --> 01:09:10.370
die halt so gebraucht werden für unterschiedliche,

01:09:10.670 --> 01:09:11.870
fürs iPhone, für Android.

01:09:13.250 --> 01:09:14.290
Ja, da nimmt man dann

01:09:14.290 --> 01:09:15.850
halt auch irgendwie anderen Codec oder so

01:09:15.850 --> 01:09:18.690
und in unterschiedliche Auflösungen,

01:09:18.790 --> 01:09:20.310
je nachdem, wo man das irgendwie anzeigen will.

01:09:20.950 --> 01:09:22.370
Da möchte man nicht, und diese Renderjobs

01:09:22.370 --> 01:09:24.310
dauern halt, je nachdem, wie lang das Video ist, sehr, sehr

01:09:24.310 --> 01:09:25.750
lang. Jetzt lädt hier jemand ein Video,

01:09:26.330 --> 01:09:28.270
das eine Stunde lang ist, hoch. Dann möchte

01:09:28.270 --> 01:09:30.170
er nicht, dass der Request, wenn das im Request

01:09:30.170 --> 01:09:31.650
selber lauft, dass es nochmal zwei Stunden dauert,

01:09:32.050 --> 01:09:33.970
das wäre irgendwie komisch, sondern

01:09:33.970 --> 01:09:36.090
dann nimmt man das Video her, sagt, okay, man macht

01:09:36.090 --> 01:09:38.170
jetzt einen Task, man erzeugt einen Task,

01:09:38.350 --> 01:09:40.030
der irgendwie

01:09:40.030 --> 01:09:41.910
dann unabhängig vom Web-Server läuft

01:09:41.910 --> 01:09:44.010
und der rendert dann halt

01:09:44.010 --> 01:09:45.590
irgendwie das Video in die unterschiedlichen

01:09:45.590 --> 01:09:46.850
Formate und so

01:09:46.850 --> 01:09:49.790
und sagt dem User schon mal,

01:09:49.790 --> 01:09:50.810
alles okay, dann

01:09:50.810 --> 01:09:53.970
upload es durch. Für solche Sachen

01:09:53.970 --> 01:09:55.630
braucht man das. Video ist ein

01:09:55.630 --> 01:09:57.450
extremes Beispiel, es gibt sicherlich eine Menge

01:09:57.450 --> 01:09:59.390
Beispiele, bei denen das nicht ganz so schlimm wäre,

01:09:59.950 --> 01:10:01.890
aber auch schon so nervig, dass man das vielleicht nicht

01:10:01.890 --> 01:10:03.650
haben will. Also es hätte doch nicht einfach

01:10:03.650 --> 01:10:05.710
so Arbeitsbienen loszuschicken, die dann halt die einzelnen Tasks

01:10:05.710 --> 01:10:07.890
abarbeiten. Ja, also die Tasks selber, genau,

01:10:07.970 --> 01:10:09.870
da kann man sich auch suchen, welches Backend

01:10:09.870 --> 01:10:11.870
man verwenden möchte und Redis ist halt auch ein Backend

01:10:11.870 --> 01:10:13.830
sozusagen über das, damit

01:10:13.830 --> 01:10:15.470
Redis als Queue verwendet. Also

01:10:15.470 --> 01:10:17.790
es gibt, also Celery ist

01:10:17.790 --> 01:10:18.610
im Grunde eine Task,

01:10:19.950 --> 01:10:20.330
ja, es

01:10:20.330 --> 01:10:23.190
besteht aus

01:10:23.190 --> 01:10:26.070
einem Ding, was irgendwie die Worker koordiniert,

01:10:26.170 --> 01:10:27.750
dann eine Menge von Workern

01:10:27.750 --> 01:10:29.850
und halt einer Queue, in die die

01:10:29.850 --> 01:10:31.810
Tasks halt reinlaufen, also

01:10:31.810 --> 01:10:34.010
wenn man so einen Task erzeugt, dann landet

01:10:34.010 --> 01:10:35.370
der halt in so einer Warteschlange

01:10:35.370 --> 01:10:37.970
und die Worker greifen sich aus dieser Warteschlange halt

01:10:37.970 --> 01:10:39.890
ihre Jobs raus, sozusagen, das sind Prozesse, die

01:10:39.890 --> 01:10:41.830
laufen einfach irgendwie. Also wer am lautesten schreit, der wird dann

01:10:41.830 --> 01:10:43.870
als erstes bedient oder was? Genau, ja, das erste

01:10:43.870 --> 01:10:45.030
ja,

01:10:45.270 --> 01:10:47.870
der erste Worker nimmt sich halt irgendwie den ersten Job

01:10:47.870 --> 01:10:49.690
aus der Queue und rechnet dann halt,

01:10:49.850 --> 01:10:51.810
bis er irgendwie fertig ist, der nächste Worker nimmt sich

01:10:51.810 --> 01:10:53.810
den nächsten und so weiter, bis halt keine Worker mehr da sind,

01:10:53.870 --> 01:10:55.610
die nichts zu tun haben und dann warten die Sachen

01:10:55.610 --> 01:10:57.810
in der Queue halt einfach und die werden dann halt so

01:10:57.810 --> 01:10:59.410
mit der Zeit abgearbeitet und

01:10:59.410 --> 01:11:01.630
ja, dann hat das Ding auch noch so ein Webfrontend-Flower

01:11:01.630 --> 01:11:03.390
heißt das irgendwie mit dabei, da kann man sich angucken,

01:11:03.750 --> 01:11:05.550
was ist denn jetzt mal so ein Task geworden, haben die

01:11:05.550 --> 01:11:07.490
irgendwelche Exceptions geworfen, gibt's da

01:11:07.490 --> 01:11:09.570
Tracebacks, sind die alle gut durchgelaufen, wie lang

01:11:09.570 --> 01:11:12.010
laufen die denn so, so Basis-Statistiken,

01:11:12.110 --> 01:11:13.310
wie lang laufen die denn durchschnittlich,

01:11:14.290 --> 01:11:15.570
ja, und all solche

01:11:15.570 --> 01:11:16.310
Sachen, und

01:11:16.310 --> 01:11:19.670
also, das, wenn's funktioniert,

01:11:19.750 --> 01:11:21.570
ist es eigentlich ganz gut, ja, kann man

01:11:21.570 --> 01:11:23.350
nix sagen, ist eigentlich solide Geschichte,

01:11:23.750 --> 01:11:25.110
es ist aber so manchmal, also

01:11:25.110 --> 01:11:27.870
im Salary ist es manchmal so ein bisschen scharfkantig,

01:11:27.950 --> 01:11:29.570
muss man, ich hatte auch schon,

01:11:30.310 --> 01:11:31.830
also wenn es nicht funktioniert, ist es nicht so geil,

01:11:32.010 --> 01:11:32.770
muss man sagen.

01:11:33.370 --> 01:11:35.330
Dann geht das nicht für fast alle Dinge bei der Software.

01:11:35.490 --> 01:11:37.590
Ja, aber es gibt manche Sachen, bei denen passiert

01:11:37.590 --> 01:11:38.990
einem das nicht, dass die dann nicht funktionieren.

01:11:39.770 --> 01:11:41.470
Also zum Beispiel Redis ist dann so ein Stück von Software,

01:11:41.550 --> 01:11:42.950
das funktioniert eigentlich fast immer super.

01:11:43.870 --> 01:11:44.930
Es gibt selten den Fall,

01:11:45.330 --> 01:11:46.510
oder habe ich noch nie erlebt,

01:11:46.510 --> 01:11:48.510
habe ich noch nie erlebt, dass Redis irgendwie

01:11:48.510 --> 01:11:50.930
etwas gemacht hat

01:11:50.930 --> 01:11:52.310
und ich habe es nicht wieder hingekriegt.

01:11:52.610 --> 01:11:54.530
Ich habe es noch nicht kaputt gekriegt,

01:11:54.630 --> 01:11:56.470
sozusagen, oder auch Postgres ist so ein Ding,

01:11:56.510 --> 01:11:57.270
das kriegst du nicht kaputt.

01:11:57.950 --> 01:11:59.710
äh, Celery, äh,

01:11:59.790 --> 01:12:01.910
hingegen, da installiert

01:12:01.910 --> 01:12:03.570
man irgendwie, da wechselt man

01:12:03.570 --> 01:12:05.370
irgendwie die Python-Miner-Version

01:12:05.370 --> 01:12:07.490
und dann geht gar nichts mehr.

01:12:08.570 --> 01:12:09.770
Und, äh, alles

01:12:09.770 --> 01:12:10.830
kaputt, ja, also,

01:12:11.710 --> 01:12:13.530
und das ist, äh,

01:12:14.050 --> 01:12:15.830
ja, oder man wechselt die Django-Version und nichts

01:12:15.830 --> 01:12:17.230
geht mehr, ne, also es ist halt, äh,

01:12:17.790 --> 01:12:19.810
also es ist halt deutlich fragiler, es ist nicht so, dass

01:12:19.810 --> 01:12:21.670
man da, das, also bei Celery

01:12:21.670 --> 01:12:23.810
hab ich das schon häufig erlebt, dass es kaputt gegangen ist und zwar

01:12:23.810 --> 01:12:25.670
auch dann so kaputt gegangen ist, dass man es im Grunde

01:12:25.670 --> 01:12:27.770
nicht mehr fixen kann und das ist immer ärgerlich, wenn man

01:12:27.770 --> 01:12:29.810
dann zum Beispiel eben Python nicht upgraden

01:12:29.810 --> 01:12:31.710
kann oder halt auch Django nicht upgraden kann,

01:12:31.790 --> 01:12:33.650
weil halt ein Celery daran hindert.

01:12:33.650 --> 01:12:35.750
Das ist, und das ist schon öfter passiert.

01:12:36.290 --> 01:12:37.750
Also, ähm,

01:12:38.030 --> 01:12:38.170
ja.

01:12:38.730 --> 01:12:41.110
Wenn man's,

01:12:41.970 --> 01:12:43.470
man kann's halt oft nicht vermeiden,

01:12:43.570 --> 01:12:44.770
dann braucht man's halt und dann,

01:12:45.050 --> 01:12:47.570
es gibt noch diverse andere Task-Queue

01:12:47.570 --> 01:12:49.630
Geschichten. Celery ist halt

01:12:49.630 --> 01:12:50.590
die verbreitetste für Django.

01:12:51.370 --> 01:12:52.770
Ähm, ja.

01:12:54.330 --> 01:12:55.610
Äh, vielleicht lohnt es sich

01:12:55.610 --> 01:12:56.750
auch, die sich die anzugucken.

01:12:57.770 --> 01:13:12.570
Ich weiß es nicht genau, aber ja, also wenn man es nicht braucht, dann war es nicht unbedingt, also es ist nicht unbedingt eine Geschichte, die man aufgrund von reiner Freude, weil es so viel Spaß macht, das zu benutzen, verwenden sollte, weil das macht einfach nicht so wahnsinnig viel Freude.

01:13:13.310 --> 01:13:15.070
Und wenn man die Abhängigkeit nicht braucht, sollte man sie weglassen.

01:13:16.530 --> 01:13:18.670
Ja, aber oft braucht man sowas tatsächlich.

01:13:19.710 --> 01:13:20.510
Ja, was haben wir noch?

01:13:21.050 --> 01:13:24.410
Ja, ich würde jetzt nochmal so ein bisschen auf die ganz basic Sachen zurückkommen.

01:13:24.590 --> 01:13:26.870
wie weiß ich denn jetzt, auf welche

01:13:26.870 --> 01:13:29.030
Route ich jetzt meinen Nameserver zum Beispiel

01:13:29.030 --> 01:13:30.870
schicke, auf welches Verzeichnis ich

01:13:30.870 --> 01:13:32.170
den verweise oder

01:13:32.170 --> 01:13:35.130
ich habe jetzt verschiedene Django-Apps

01:13:35.130 --> 01:13:36.770
laufen oder du hast ja gesagt,

01:13:36.850 --> 01:13:38.870
Junicorn ist nur eine, dann habe ich sonst ein Whiskey

01:13:38.870 --> 01:13:40.950
und Whiskey weiß dann, wo was liegt.

01:13:40.970 --> 01:13:42.770
Junicorn ist eine Applikations-Server, jetzt sagen wir mal,

01:13:42.830 --> 01:13:44.430
wenn du jetzt Cookie-Cutter verwendet hast und so,

01:13:45.210 --> 01:13:46.810
dann läuft

01:13:46.810 --> 01:13:48.770
dein System, läuft halt

01:13:48.770 --> 01:13:50.610
irgendwo intern in einen

01:13:50.610 --> 01:13:52.050
Worker-Container und

01:13:52.050 --> 01:13:54.490
sozusagen kann angesprochen werden,

01:13:54.590 --> 01:13:56.290
aus dem Container heraus,

01:13:56.410 --> 01:13:58.890
oder aus der Maschine heraus, auf der du dich angelockt hast,

01:13:59.370 --> 01:14:00.870
auf irgendeinem Port 5000 oder sowas,

01:14:00.970 --> 01:14:02.850
da läuft das Ding halt. Nimmt aber nur Requests an

01:14:02.850 --> 01:14:04.750
von innen. Also sollte nicht von außen

01:14:04.750 --> 01:14:06.730
erreichbar sein. Das heißt also, ich muss aber dann

01:14:06.730 --> 01:14:08.670
den Port kämpfe ich natürlich an und dann, die Ports muss ich

01:14:08.670 --> 01:14:09.930
irgendwie auf meiner Maschine routen dann?

01:14:10.310 --> 01:14:11.870
Nee. Zu den Docker-Containern? Nee.

01:14:12.350 --> 01:14:14.810
Nein? Wie? Wo funktioniert das denn? Die sind nur lokal.

01:14:15.950 --> 01:14:16.310
Da.

01:14:16.890 --> 01:14:18.470
Kannst du lokal drauf connecten, sonst nicht.

01:14:19.850 --> 01:14:20.130
Und

01:14:20.130 --> 01:14:22.650
wie dann die Requests sozusagen aus dem Web

01:14:22.650 --> 01:14:24.730
da reinkommen ist, du hast halt den Caddy vorne

01:14:24.730 --> 01:14:26.690
dran, da gehen die Sachen per

01:14:26.690 --> 01:14:28.550
Report 443 kommen die rein.

01:14:29.550 --> 01:14:30.770
Und den Caddy muss ich konfigurieren?

01:14:30.930 --> 01:14:32.750
Den musst du konfigurieren, da brauchst du einen Config für,

01:14:32.790 --> 01:14:34.630
die ist aber relativ einfach und da steht

01:14:34.630 --> 01:14:35.690
mehr oder weniger nur drin,

01:14:36.690 --> 01:14:38.370
irgendwie, wenn es an die Domain gehen soll,

01:14:38.630 --> 01:14:40.330
dann alles an den Applikationsserver.

01:14:40.410 --> 01:14:42.830
Okay, aber das heißt, der Caddy

01:14:42.830 --> 01:14:44.810
ist derjenige, der ist alles verwaltet. Das heißt, in der Caddy-Konfiguration

01:14:44.810 --> 01:14:46.710
stelle ich das ein, Name-Server, HTML-Routing.

01:14:46.870 --> 01:14:47.350
Nein, nein, nein.

01:14:47.350 --> 01:14:49.090
Nein, HTML-Routing im Dung?

01:14:49.330 --> 01:14:49.490
Nein.

01:14:50.650 --> 01:14:52.970
Nein, da steht nur drin, auf welche Domain

01:14:52.970 --> 01:14:54.950
geht, also

01:14:54.950 --> 01:14:57.510
je nachdem, auf welche

01:14:57.510 --> 01:14:59.290
Domain der Request geht, auf welchen

01:14:59.290 --> 01:15:00.470
Applikationsserver soll das gehen.

01:15:01.490 --> 01:15:03.130
Insofern kann man auch sagen, das ist in gewisser Weise

01:15:03.130 --> 01:15:06.130
Routing, aber es ist sehr, sehr

01:15:06.130 --> 01:15:06.450
einig.

01:15:07.070 --> 01:15:08.850
Und HTML-Routing ist das selbe,

01:15:08.850 --> 01:15:10.150
aber das ist damit verknüpft, weil halt das

01:15:10.150 --> 01:15:10.570
Name-Routing...

01:15:10.570 --> 01:15:14.510
Es gibt noch das, es gibt etwas, was sich

01:15:14.510 --> 01:15:16.470
URL-Routing nennt bei Django.

01:15:16.970 --> 01:15:18.630
Ja, aber das ist aber innerhalb von Django.

01:15:18.750 --> 01:15:20.270
Das ist innerhalb von Django. Aber ich kann ja verschiedene Projekte nehmen.

01:15:20.310 --> 01:15:22.370
Ich könnte jetzt auch sagen, ich möchte jetzt einfach ein Verzeichnis

01:15:22.370 --> 01:15:24.250
serven. Weiß nicht, war www irgendwas,

01:15:24.330 --> 01:15:25.350
was da früher gab oder so?

01:15:26.310 --> 01:15:28.050
Einfach ein Verzeichnis mit einer Index, irgendwas

01:15:28.050 --> 01:15:29.870
noch bereitstellen.

01:15:29.890 --> 01:15:32.230
Das kannst du mit dem Caddy auch machen, klar. Kann ich mit dem Caddy auch sagen,

01:15:32.290 --> 01:15:34.130
das Verzeichnis kommt auch dann unter dem

01:15:34.130 --> 01:15:36.250
Namen, wie so oft,

01:15:36.670 --> 01:15:37.530
geroutet rein.

01:15:39.110 --> 01:15:40.210
Okay, das ist

01:15:40.210 --> 01:15:42.250
spannend. Also das sind halt verschiedene Optionen,

01:15:42.290 --> 01:15:43.930
die kann ich alle gleichzeitig mit dem einen Caddy bauen.

01:15:44.050 --> 01:15:45.950
Das heißt, das Einzige, um das zu machen, muss ich

01:15:45.950 --> 01:15:47.950
meinen Caddy konfigurieren. Was ist mit E-Mail, wenn ich

01:15:47.950 --> 01:15:49.870
jetzt irgendwie E-Mail schicken will über den Server? Auch Caddy?

01:15:50.310 --> 01:15:55.350
Ne, das ist wirklich nur ein Webserver.

01:15:55.790 --> 01:15:58.630
Das würdest du in einer Django-Applikation halt irgendwie machen

01:15:58.630 --> 01:16:00.350
und da kannst du es entweder selber tun,

01:16:00.410 --> 01:16:02.650
wenn du halt lokal einen Mail-Server laufen hast.

01:16:03.650 --> 01:16:09.050
Oh, nein, ich meine, wenn ich jetzt meine Domain-E-Mail,

01:16:09.550 --> 01:16:12.130
da gibt es sowas, wie nennt man das, C-Names oder sowas,

01:16:12.570 --> 01:16:16.930
wo man dann die E-Mails direkt weggeroutet werden vom Server

01:16:16.930 --> 01:16:19.430
auf, weiß nicht, Gmail oder sowas.

01:16:19.450 --> 01:16:21.650
G-Name ist eine Art von Rekord

01:16:21.650 --> 01:16:23.390
für DNS, wo

01:16:23.390 --> 01:16:25.510
dran steht, also dieser Name ist eigentlich

01:16:25.510 --> 01:16:26.750
nur ein Alias für den Namen.

01:16:27.210 --> 01:16:29.370
Ja, aber die Alias muss ich

01:16:29.370 --> 01:16:30.950
ja irgendwie auf meinem Server auch eintragen.

01:16:32.210 --> 01:16:33.390
Wie passiert das denn? Also wenn ich

01:16:33.390 --> 01:16:35.370
beispielsweise eine G-Suite habe, mit der

01:16:35.370 --> 01:16:37.290
ich meine Firmen-E-Mail-Adressen

01:16:37.290 --> 01:16:38.890
verwalten möchte, dann

01:16:38.890 --> 01:16:40.950
trotzdem die Domain auf

01:16:40.950 --> 01:16:42.450
meinen Server ankommt.

01:16:42.950 --> 01:16:44.850
Wo muss ich dann einstellen, dass dann die

01:16:44.850 --> 01:16:46.850
E-Mail-Adressen zur G-Suite weitergehen? Was ist das,

01:16:46.950 --> 01:16:48.510
was da liegt? Im Name-Server.

01:16:49.350 --> 01:16:51.750
Also da sagst du halt, der zuständige

01:16:51.750 --> 01:16:53.650
MX, das ist wieder ein anderer Rekord, MX-Rekord,

01:16:54.090 --> 01:16:54.910
der ist für Mail zuständig,

01:16:55.550 --> 01:16:57.490
der Mail-Server für meine

01:16:57.490 --> 01:16:59.010
Domain ist Google.

01:16:59.850 --> 01:17:01.370
Aber das ist dann am Mail-Server, also an meinem

01:17:01.370 --> 01:17:03.110
Provider, an meinem Name?

01:17:03.670 --> 01:17:05.470
Nein, da, wo du

01:17:05.470 --> 01:17:07.550
deine Domain registrierst. Ja, das mache ich an meinem Registrar, sage ich

01:17:07.550 --> 01:17:09.390
dann. Registrar, der hat

01:17:09.390 --> 01:17:11.290
eigentlich eine andere Aufgabe, das ist halt, der Name-Server

01:17:11.290 --> 01:17:13.430
macht das. Aber der, wo du deine

01:17:13.430 --> 01:17:15.470
Domain registriert hast, der betreibt wahrscheinlich den Name-Server,

01:17:15.630 --> 01:17:17.110
wo dann deine Domain liegt. Ja, okay.

01:17:18.170 --> 01:17:19.750
Ja, genau. Da machst du das.

01:17:20.570 --> 01:17:22.230
Und genau, dann geht

01:17:22.230 --> 01:17:24.230
halt alle Mail, die an deine Domain

01:17:24.230 --> 01:17:25.050
geschickt wird, halt

01:17:25.050 --> 01:17:28.090
dem Mail-Client

01:17:28.090 --> 01:17:29.990
beziehungsweise Mail-Server, den halt irgendjemand

01:17:29.990 --> 01:17:31.790
verwendet hat, macht dann

01:17:31.790 --> 01:17:34.150
ein MX-Lookup

01:17:34.150 --> 01:17:35.830
auf deine Domain, sieht halt, ah, die Mail soll

01:17:35.830 --> 01:17:37.750
zu Google gehen und schickt dann die Mail direkt zu Google.

01:17:38.230 --> 01:17:39.950
Und dann landet sie halt bei dir irgendwo

01:17:39.950 --> 01:17:40.950
bei Gmail oder wo auch immer.

01:17:41.570 --> 01:17:43.810
Und wenn ich jetzt einen File-Tab machen will,

01:17:43.890 --> 01:17:45.730
dann muss ich das einfach wieder über den Kettich ruten, ob irgendein

01:17:45.730 --> 01:17:47.670
Verzeichnis... Was ist ein File-Server?

01:17:48.170 --> 01:17:49.210
Oder was meinst du damit?

01:17:49.270 --> 01:17:51.670
Vielleicht einfach ein File, ein Verzeichnis, das ich freigebe,

01:17:51.750 --> 01:17:53.650
wo ich dann hoch- und runterladen kann.

01:17:54.750 --> 01:17:55.830
Einfach so schreibe

01:17:55.830 --> 01:17:57.730
und lese Zugriff. Brauche ich dafür

01:17:57.730 --> 01:17:59.810
sowas wie altes USFDP?

01:18:00.450 --> 01:18:01.910
Nee, das hängt

01:18:01.910 --> 01:18:03.730
halt sehr davon ab, was du da machen möchtest.

01:18:03.950 --> 01:18:05.710
Ich würde sagen, ja, sowas gibt es

01:18:05.710 --> 01:18:07.430
außerhalb der Windows-Welt eigentlich so nicht.

01:18:08.190 --> 01:18:09.410
Also da ist es halt irgendwie Samba

01:18:09.410 --> 01:18:11.610
oder ich weiß nicht, wie das Protokoll Microsoft

01:18:11.610 --> 01:18:12.230
intern heißt.

01:18:15.290 --> 01:18:15.650
Wahrscheinlich

01:18:15.650 --> 01:18:17.510
heißt es irgendwie anders. Keine Ahnung. Ich kenne es nur, wie man es

01:18:17.510 --> 01:18:19.550
jetzt Linux, wenn man Linux

01:18:19.550 --> 01:18:21.330
als Server betreiben will, dann heißt das irgendwie Samba ist

01:18:21.330 --> 01:18:23.490
dein Server. Aber das, was du betreibst, ist halt nicht am Internet.

01:18:23.910 --> 01:18:24.870
Also, warum?

01:18:25.950 --> 01:18:26.510
Viel zu gefährlich.

01:18:27.950 --> 01:18:29.410
Das ist, äh,

01:18:29.490 --> 01:18:31.590
ne. Und es macht auch so komische Sachen

01:18:31.590 --> 01:18:33.730
mit irgendwie Broadcast-Geschichten

01:18:33.730 --> 01:18:35.350
und so. Das geht alles im Internet nicht. Also,

01:18:35.610 --> 01:18:37.490
äh. Also, zu gefährlich ist das.

01:18:37.570 --> 01:18:39.270
Aber es würde gehen. Ne, geht auch nicht.

01:18:39.530 --> 01:18:41.410
Ich glaube, es geht gar nicht.

01:18:41.910 --> 01:18:43.550
Also, was war denn? FTP-Server, den hätte man

01:18:43.550 --> 01:18:45.470
aber einfach. FTP-Server, ja, aber FTP ist

01:18:45.470 --> 01:18:46.530
auch irgendwie, also. Out.

01:18:47.230 --> 01:18:49.410
Ja, so die, wie würde man sagen,

01:18:49.470 --> 01:18:51.410
die 70er haben angerufen und die 80er

01:18:51.410 --> 01:18:51.690
haben dann

01:18:51.690 --> 01:18:53.430
ihre

01:18:53.430 --> 01:18:55.990
Wares zurück.

01:18:57.130 --> 01:18:59.390
Also das ist... Das war ja damals ziemlich cool,

01:18:59.490 --> 01:19:01.490
da konnte man irgendwie so einen FTP-Server connecten

01:19:01.490 --> 01:19:03.170
und hat dann da alles rumgeschoben,

01:19:03.290 --> 01:19:04.670
hinterhergeschoben, was man so brauchte.

01:19:05.150 --> 01:19:07.390
Ja, da konnte man lustige

01:19:07.390 --> 01:19:08.770
Dinge machen, also das ist uralt.

01:19:11.410 --> 01:19:13.310
Da gab es ja irgendwann die File-Sharing-Plattform,

01:19:13.450 --> 01:19:15.370
Hoster, was gibt es denn heute? Also einfach dann Cloud?

01:19:16.070 --> 01:19:17.490
Ja, das macht man einfach

01:19:17.490 --> 01:19:18.250
nicht mehr, würde ich sagen.

01:19:19.310 --> 01:19:21.430
Es ist einfach komplett weg. Man hat das einfach sowieso

01:19:21.430 --> 01:19:22.690
scheiße, da ist alles zur Verfügung.

01:19:23.430 --> 01:19:25.330
Also, wenn du

01:19:25.330 --> 01:19:27.310
Sachen hoch und runterladen, das ist heute alles HTTP.

01:19:28.610 --> 01:19:29.510
Und auch da gab es

01:19:29.510 --> 01:19:30.890
dann irgendwie früher so

01:19:30.890 --> 01:19:33.130
Geschichten, vielleicht gibt es das auch immer noch,

01:19:33.210 --> 01:19:34.670
ich weiß nicht so genau, WebDAV oder so,

01:19:35.250 --> 01:19:36.510
wo man das dann auch

01:19:36.510 --> 01:19:38.770
mounten kann, dass es dann halt aussieht, als hätte man

01:19:38.770 --> 01:19:40.690
das lokal im Dateisystem oder so.

01:19:41.590 --> 01:19:42.710
Aber es ist alles

01:19:42.710 --> 01:19:44.730
heutzutage ist es eigentlich eher

01:19:44.730 --> 01:19:46.950
Also wenn ich jetzt irgendwie nicht sowas machen will

01:19:46.950 --> 01:19:48.730
für mich, irgendwie mit meinem kleinen Login oder sowas,

01:19:48.790 --> 01:19:50.970
dass ich sage, hey, ich hätte gerne 10 Dateien, die ich immer runterziehe,

01:19:51.030 --> 01:19:52.830
die nicht wichtig sind, wo man nicht besonders

01:19:52.830 --> 01:19:54.590
viel kaputt machen kann, wenn da irgendwas auseinanderfließt.

01:19:54.610 --> 01:19:56.810
Die Frage ist, was möchtest du machen? Was möchtest du eigentlich haben?

01:19:57.310 --> 01:19:58.870
Nur einfach so eine Feilablage, so eine Teilablage

01:19:58.870 --> 01:20:00.690
für, weiß ich nicht, 5 Fotos oder

01:20:00.690 --> 01:20:02.850
irgendwas. Ich meine,

01:20:02.910 --> 01:20:04.710
Fotos, weiß ich, gibt es ja auch andere Möglichkeiten, aber

01:20:04.710 --> 01:20:06.890
nur so. Du willst

01:20:06.890 --> 01:20:08.810
irgendwie verzeichnete Synchronen halten.

01:20:08.810 --> 01:20:10.610
Ja, so ein kleines Dropbox. Ja, oder so ein kleines

01:20:10.610 --> 01:20:13.090
Store für irgendwas, so mein virtueller USB-Stick.

01:20:14.730 --> 01:20:20.910
Da gibt's, also würde ich

01:20:20.910 --> 01:20:22.630
eher sagen, also da gibt's, als fertig

01:20:22.630 --> 01:20:24.430
würde mir jetzt eigentlich nur einfallen, sowas wie

01:20:24.430 --> 01:20:26.050
OnCloud oder UnCloud.

01:20:27.930 --> 01:20:28.790
Aber intern,

01:20:28.870 --> 01:20:30.750
was die wahrscheinlich alle machen, das machen wahrscheinlich solche

01:20:30.750 --> 01:20:32.770
selbst wie, oder wenn man

01:20:32.770 --> 01:20:34.470
jetzt Apple verwendet, würde ich sagen, dann nimmt man halt einfach iCloud.

01:20:34.950 --> 01:20:36.150
Also UnCloud oder iDrive.

01:20:39.530 --> 01:20:40.630
Wenn du selber hosten willst,

01:20:40.710 --> 01:20:42.710
OnCloud wahrscheinlich, aber intern wird das auch

01:20:42.710 --> 01:20:43.250
nichts anderes machen.

01:20:44.130 --> 01:21:06.410
Ja, das wird nichts anderes machen, das machen auch Dropbox und die ganzen anderen wahrscheinlich, die sprechen alle HTTP oder HTTPS mit zu Hause sozusagen und dann haben sie irgendwie Client-Software, die halt auf deinem Rechner läuft, die halt sich per iNotify oder sonst irgendwie oder wie auch immer sich benachrichtigen lässt, wenn halt irgendwie sich was an ein Verzeichnis erinnert und dann synkt die das halt rüber und umgekehrt halt genauso.

01:21:06.410 --> 01:21:08.010
deswegen brauchst du auch einen Client, weil

01:21:08.010 --> 01:21:10.630
das ja dann sozusagen eine stehende

01:21:10.630 --> 01:21:12.590
Verbindung irgendwie braucht und du halt

01:21:12.590 --> 01:21:14.530
auch vom Server aus den Client

01:21:14.530 --> 01:21:16.130
benachrichtigen können willst und

01:21:16.130 --> 01:21:18.670
ja, ich weiß nicht, ob es

01:21:18.670 --> 01:21:19.710
irgendeine gute, freie,

01:21:20.490 --> 01:21:22.390
selbstgehostete Geschichte dafür gibt, aber

01:21:22.390 --> 01:21:24.690
warum nicht irgendwie Dropbox oder sonst

01:21:24.690 --> 01:21:26.550
irgendwie? Ja, ne, also ich meinte einfach nur jetzt so der private

01:21:26.550 --> 01:21:28.510
USB-Stick, ne, wo man kurz was hinterschieben

01:21:28.510 --> 01:21:29.950
kann, so von

01:21:29.950 --> 01:21:32.570
Gerät zu Gerät

01:21:32.570 --> 01:21:34.550
oder sowas, wo man einfach dann eine URL eingibt und dann

01:21:34.550 --> 01:21:36.050
kurz seinen Login und dann hat man das

01:21:36.050 --> 01:21:37.690
das wäre irgendwie schon nett

01:21:37.690 --> 01:21:40.370
ja, ich weiß es nicht

01:21:40.370 --> 01:21:42.550
ich glaube, also ich meine, was geräteübergreifend

01:21:42.550 --> 01:21:43.990
funktioniert, ist wahrscheinlich dann Google

01:21:43.990 --> 01:21:45.950
der Boot muss ja dann auch irgendwie auf die Telefone kommen

01:21:45.950 --> 01:21:47.890
wäre ja dann praktisch

01:21:47.890 --> 01:21:50.390
ja, und dann bist du eh

01:21:50.390 --> 01:21:51.350
entweder bei Apple oder bei Google

01:21:51.350 --> 01:21:54.510
da kommst du ja selber gar nicht mehr drauf

01:21:54.510 --> 01:21:56.570
ja, dann fangen wir doch an

01:21:56.570 --> 01:21:57.270
mit dem nächsten Thema an

01:21:57.270 --> 01:22:00.650
ja, es ist ein bisschen

01:22:00.650 --> 01:22:01.610
traurig alles, aber leider

01:22:01.610 --> 01:22:04.410
ja, also

01:22:04.410 --> 01:22:06.890
SSL-Zertifikate, hast du gesagt,

01:22:06.950 --> 01:22:08.610
sind alles im Caddy mit drin. Das heißt, da funktioniert

01:22:08.610 --> 01:22:10.530
das HTTPS mit, unterstützt

01:22:10.530 --> 01:22:12.290
also, kannst du nochmal vielleicht einen Unterschied kurz, SSL,

01:22:12.410 --> 01:22:13.970
HTTPS, ist das dasselbe?

01:22:15.670 --> 01:22:16.650
Naja, SSL ist

01:22:16.650 --> 01:22:18.570
eigentlich, glaube ich, veraltet. Das gibt es

01:22:18.570 --> 01:22:20.530
eigentlich gar nicht mehr. Es ist immer nur so, dass man halt

01:22:20.530 --> 01:22:22.570
davon redet, weil man das irgendwie gewohnt ist. Also mittlerweile

01:22:22.570 --> 01:22:24.170
ist, was man eigentlich verwendet, TLS.

01:22:25.510 --> 01:22:25.790
Und

01:22:25.790 --> 01:22:28.510
naja, so genau weiß ich das

01:22:28.510 --> 01:22:29.110
jetzt auch alles nicht.

01:22:30.290 --> 01:22:32.470
Das zu konfigurieren ist ein Schmerz. Also ich

01:22:32.470 --> 01:22:34.270
weiß, dass ich das, ich habe das mal ein paar Mal gemacht

01:22:34.270 --> 01:22:36.430
für NGINX und das hat

01:22:36.430 --> 01:22:38.350
das war auch, das hat länger gedauert, als ich

01:22:38.350 --> 01:22:39.450
dachte. Es gibt da so ein

01:22:39.450 --> 01:22:42.330
Test von

01:22:42.330 --> 01:22:44.250
SSL Labs, wo man dann überprüfen kann, ob die

01:22:44.250 --> 01:22:45.970
eigene Seite irgendwie den aktuellen

01:22:45.970 --> 01:22:48.270
Sicherheitsanforderungen irgendwie genügt. Muss man da irgendwie ein Zertifikat

01:22:48.270 --> 01:22:50.130
sich irgendwo generieren? Kann man das selber

01:22:50.130 --> 01:22:52.130
erzeugen? Muss man das kaufen? Da gibt es ja irgendwie

01:22:52.130 --> 01:22:53.890
so kostenlose Angebote.

01:22:54.410 --> 01:22:56.350
Warum nimmt man die? Warum nimmt man freies?

01:22:56.450 --> 01:22:57.190
Geht das auch frei?

01:22:57.870 --> 01:23:00.090
Also ich würde da gar nicht so super in Detail drauf

01:23:00.090 --> 01:23:02.150
eingehen. Also wenn man kann das kaufen, dann hat man

01:23:02.150 --> 01:23:04.070
unter Umständen so Vorteile wie,

01:23:04.350 --> 01:23:06.310
es wird in der Browser-Leiste grün angezeigt oder so,

01:23:06.350 --> 01:23:08.710
weil es irgendwie so Spezial-Deals zwischen den Browser-Herstellern

01:23:08.710 --> 01:23:10.370
gibt und

01:23:10.370 --> 01:23:12.170
ich meine, das sieht auch komisch aus.

01:23:12.250 --> 01:23:14.290
Ich weiß nicht mal, ob das jetzt vertrauenserweckender ist oder

01:23:14.290 --> 01:23:16.110
nicht vielleicht, dass die Leute denken, das ist lieber seltsam.

01:23:16.250 --> 01:23:17.310
Oh, Kapitalisten, weg da!

01:23:17.970 --> 01:23:20.090
Nein, ich weiß nicht. Also, dann ist es so,

01:23:20.130 --> 01:23:20.530
die ganzen

01:23:20.530 --> 01:23:24.110
Certificate Authorities

01:23:24.110 --> 01:23:26.030
sind halt dadurch

01:23:26.030 --> 01:23:27.070
aufgefallen, also von denen

01:23:27.070 --> 01:23:29.710
kaufst du sozusagen die Dienstleistung, dass sie

01:23:29.710 --> 01:23:31.770
dein Key

01:23:31.770 --> 01:23:33.930
unterschreiben und damit

01:23:33.930 --> 01:23:35.630
der Browser halt, weil er die

01:23:35.630 --> 01:23:37.670
Certification Authority kennt, halt sagen kann,

01:23:37.790 --> 01:23:39.830
okay, ich glaube, dass das jetzt die Seite

01:23:39.830 --> 01:23:40.810
ist, mit der ich tatsächlich rede.

01:23:42.530 --> 01:23:43.810
Die haben, sind

01:23:43.810 --> 01:23:45.630
halt schon ganz oft dadurch aufgefallen, dass

01:23:45.630 --> 01:23:47.050
irgendwie, dass

01:23:47.050 --> 01:23:49.630
sie Sachen unterschrieben haben, also das

01:23:49.630 --> 01:23:51.510
eine Ding, was sie eigentlich nicht machen dürfen, Dinge

01:23:51.510 --> 01:23:53.670
unterschreiben und damit authentifizieren, dass

01:23:53.670 --> 01:23:55.770
jemand, der ist, der vorgibt zu sein,

01:23:56.330 --> 01:23:57.150
der halt nicht, der ist,

01:23:57.710 --> 01:23:59.650
der halt ein anderer war, so für Microsoft

01:23:59.650 --> 01:24:01.510
das ist schon ein paar Mal passiert, dass jemand

01:24:01.510 --> 01:24:03.670
sich dann als Microsoft ausgegeben konnte,

01:24:03.750 --> 01:24:05.530
der es nicht war. Da kannst du natürlich den ganzen Leuten

01:24:05.530 --> 01:24:07.810
halt per Windows Update

01:24:07.810 --> 01:24:08.710
Sachen reinschieben.

01:24:09.630 --> 01:24:10.310
Nicht so geil.

01:24:12.450 --> 01:24:13.450
Und solche Sachen.

01:24:13.650 --> 01:24:15.510
Das passiert halt dauernd. Daher ist diese

01:24:15.510 --> 01:24:18.230
ganze Certificate Authority

01:24:18.230 --> 01:24:19.490
Geschichte, das ist alles, das

01:24:19.490 --> 01:24:21.570
funktioniert nicht so richtig gut. Und dann hast du

01:24:21.570 --> 01:24:23.430
auch Probleme mit, was passiert, wenn du jetzt Sachen

01:24:23.430 --> 01:24:25.350
revoken willst. Das geht alles nicht richtig.

01:24:25.790 --> 01:24:26.790
Das ist schrecklich.

01:24:29.190 --> 01:24:48.090
Also insofern würde ich sagen, man muss auch heutzutage eigentlich kein Geld mehr bezahlen. Es gibt eine freie CA, Let's Encrypt, die in allen Browsern die Keys drin hat, sodass man halt überprüfen kann, ob die korrekt signiert sind.

01:24:48.650 --> 01:25:11.990
Das heißt, wo es früher gar nicht möglich war, wo man halt keine verschlüsselte Verbindung bekommen hat, ohne dass einer der Browser irgendwie schreckliche Warngeschichten angezeigt hat, ohne dass man bezahlt hat, das geht heute. Insofern, es ist, ja. Und ja, ich mache das so. Es gibt auch Gründe, das nicht so zu machen.

01:25:13.670 --> 01:25:15.690
Oh, wir haben gerade eine Live, eine E-Mail

01:25:15.690 --> 01:25:17.630
bekommen zu einem Podcast. Die ist aber leider so lange, dass ich

01:25:17.630 --> 01:25:18.650
sie nicht lange vorlesen kann.

01:25:19.430 --> 01:25:20.270
Von Topit.

01:25:21.410 --> 01:25:23.450
Ja, bin gespannt. Ja, ich werde mir gleich mal

01:25:23.450 --> 01:25:24.130
durchlesen. Ich freu mich schon.

01:25:25.330 --> 01:25:27.790
Also, Thorsten. Ja. Hi, Thorsten.

01:25:28.570 --> 01:25:29.910
Jetzt war eine Live-Interaktion.

01:25:30.030 --> 01:25:30.370
Finde ich super.

01:25:31.950 --> 01:25:32.310
Ja.

01:25:33.490 --> 01:25:35.210
Engagement heute sehr hoch.

01:25:36.490 --> 01:25:37.690
Also, wir möchten gerne tatsächlich

01:25:37.690 --> 01:25:39.190
diesen Server, den wir jetzt ja irgendwie stehen haben,

01:25:39.230 --> 01:25:40.890
mit dem ganzen SSL-Zertifikate und was.

01:25:40.890 --> 01:25:42.610
Kann man denn irgendwie was, also wahrscheinlich

01:25:42.610 --> 01:25:44.390
ich erzähle jetzt wieder irgendwelchen Unsinn, irgendwie mit

01:25:44.390 --> 01:25:46.590
als Proxy benutzen, irgendwie über den

01:25:46.590 --> 01:25:48.690
ins Netz connecten und Anfragen stellen auch,

01:25:48.750 --> 01:25:50.450
dass ich irgendwie den anderen Weg gehen kann,

01:25:50.550 --> 01:25:52.650
dass nicht jeder sieht, wovon ich komme, dass ich dann von meinem Server

01:25:52.650 --> 01:25:54.790
ausgehe. Na, das willst du aber

01:25:54.790 --> 01:25:56.470
nicht, weil dann weiß doch jeder, woher du

01:25:56.470 --> 01:25:58.450
Ja, aber das ist doch okay, aber dann ist das

01:25:58.450 --> 01:26:00.410
Das willst du ja gerade nicht.

01:26:00.470 --> 01:26:02.570
Nein, aber vielleicht habe ich ja einen anderen Standort und ich connecte immer meinen

01:26:02.570 --> 01:26:04.730
Server und dann wissen die vielleicht, dass ich immer mein Server bin

01:26:04.730 --> 01:26:06.550
oder sowas, aber die wissen

01:26:06.550 --> 01:26:08.510
meinen eigentlichen Standort jetzt nicht, weil ich nicht

01:26:08.510 --> 01:26:10.510
immer über meinen Provider gehe. Ja, aber da sind die

01:26:10.510 --> 01:26:12.490
Also mein Provider weiß zum Beispiel dann nicht mehr, wo ich hingehe, weil

01:26:12.490 --> 01:26:14.630
ich über meinen Server gehe. Ja, okay, gut,

01:26:14.990 --> 01:26:18.370
gut, aber der Nachteil ist,

01:26:18.530 --> 01:26:22.970
dass jeder Web-Server-Betreiber

01:26:22.970 --> 01:26:24.090
weiß, wer du bist.

01:26:24.870 --> 01:26:26.190
Was vielleicht auch nicht so cool ist.

01:26:27.390 --> 01:26:28.650
Das sind alles Dinge,

01:26:28.770 --> 01:26:30.010
das will man wahrscheinlich nicht so machen.

01:26:30.010 --> 01:26:30.910
Ja, aber vielleicht,

01:26:31.210 --> 01:26:34.210
wenn die ganze Zeit mein Provider sonst immer

01:26:34.210 --> 01:26:35.930
alles mitbekommt, vielleicht kann man...

01:26:35.930 --> 01:26:37.670
Es ist halt die Frage, vor wem du Angst hast.

01:26:38.110 --> 01:26:38.910
Vielleicht vor dem Provider.

01:26:39.410 --> 01:26:40.850
Wenn du vor dem Provider Angst hast, ja.

01:26:41.030 --> 01:26:42.930
Dann könnte man da raus und das könnte man als Tunnel benutzen.

01:26:42.950 --> 01:26:44.490
Würde ich nicht so machen.

01:26:44.610 --> 01:26:46.410
Dann nimm lieber was ordentliches, nimm lieber Tor.

01:26:47.130 --> 01:26:47.510
Ja, okay.

01:26:48.290 --> 01:26:50.550
Oder nimm halt einen von den VPN-Dienstleistern,

01:26:50.610 --> 01:26:52.470
aber die sind auch, ich meine, da muss man sich auch bewusst sein,

01:26:52.530 --> 01:26:54.610
dass die auch gecaptured werden.

01:26:54.870 --> 01:26:57.390
Und vor allem, dass die möglicherweise zweimal verdienen.

01:26:57.530 --> 01:26:59.830
Die verdienen halt einmal, weil sie Geld von dir bekommen

01:26:59.830 --> 01:27:00.810
und dann verdienen sie halt nochmal,

01:27:00.970 --> 01:27:03.230
weil sie Geld von Facebook oder sonst wem bekommen

01:27:03.230 --> 01:27:04.810
für die Nutzungsdaten.

01:27:04.810 --> 01:27:08.510
Also ich hatte mich jetzt gar nicht für anonyme Surfen interessiert,

01:27:08.610 --> 01:27:10.530
sondern ich einfach nur, ob die technischen Möglichkeiten,

01:27:10.690 --> 01:27:12.530
wie das funktioniert, wenn ich jetzt da meine Connection über

01:27:12.530 --> 01:27:14.770
so einen Server schicken will, was ich da einrichten

01:27:14.770 --> 01:27:16.510
würde. Das hat aber nichts

01:27:16.510 --> 01:27:18.510
mit Web zu tun. Das ist dann, da würde

01:27:18.510 --> 01:27:20.330
es dann irgendwie sowas wie OpenVPN nehmen oder so.

01:27:20.830 --> 01:27:22.510
Das heißt, ich würde einen VPN-Server starten,

01:27:22.610 --> 01:27:24.650
dahin connecten und dann von dem dann weiterlaufen.

01:27:25.210 --> 01:27:25.350
Ja.

01:27:27.030 --> 01:27:28.510
Okay. Das OpenVPN

01:27:28.520 --> 01:27:31.460
Das ist tatsächlich

01:27:31.460 --> 01:27:33.220
ein Anwendungsfall, für den ich das

01:27:33.220 --> 01:27:34.800
tatsächlich auch benutze und auch

01:27:34.800 --> 01:27:36.680
einen OpenVPN-Server laufen habe.

01:27:37.980 --> 01:27:39.600
Bei iPhone geht das

01:27:39.600 --> 01:27:40.780
sehr, sehr easy. Da kannst du halt

01:27:40.780 --> 01:27:43.480
OpenVPN-Server auch einfach eintragen

01:27:43.480 --> 01:27:45.100
als, das ist jetzt VPN. Du kannst ja dann

01:27:45.100 --> 01:27:47.320
VPN irgendwie auswählen und kannst sagen, ich nehme jetzt einfach den.

01:27:49.080 --> 01:27:49.680
Ist halt

01:27:49.680 --> 01:27:50.240
für

01:27:50.240 --> 01:27:53.560
Netflix und die ganzen

01:27:53.560 --> 01:27:55.320
Streaming-Geschichten, Spotify-Sachen,

01:27:55.360 --> 01:27:56.940
die funktionieren ja sonst im Urlaub halt nicht mehr.

01:27:58.220 --> 01:28:00.280
die sind ja quasi, und wenn man dann

01:28:00.280 --> 01:28:01.460
VPN anmacht, dann gehen die halt trotzdem.

01:28:02.720 --> 01:28:04.200
Und dafür habe ich es halt benutzt

01:28:04.200 --> 01:28:04.480
bisher.

01:28:06.020 --> 01:28:08.200
Ja genau, den musst du dann

01:28:08.200 --> 01:28:09.200
auch über den Caddy routen?

01:28:09.800 --> 01:28:12.200
Nein, das ist kein HTTP.

01:28:13.700 --> 01:28:14.200
Das läuft einfach

01:28:14.200 --> 01:28:16.320
auf einem anderen Ort, als Service auf dem Rechner.

01:28:16.740 --> 01:28:18.120
Das ist ein ganz anderes Protokoll.

01:28:18.740 --> 01:28:20.300
OpenVPN, ein eigenes Protokoll,

01:28:20.540 --> 01:28:21.960
läuft üblicherweise, du kannst auch

01:28:21.960 --> 01:28:23.800
bei TCP, normalerweise bei UDP,

01:28:24.400 --> 01:28:26.060
irgendwo auf einem Port, ich weiß nicht,

01:28:26.060 --> 01:28:27.920
irgendwas. Das heißt, ich starte einfach dann auf dem

01:28:27.920 --> 01:28:29.960
Rechner, dann die verschiedenen Services am Anfang,

01:28:30.080 --> 01:28:31.780
die dann halt hochgefahren sind und die dann nebenbei als

01:28:31.780 --> 01:28:33.680
Demons dann laufen. Dazu gehört dann der OpenVPN,

01:28:34.180 --> 01:28:35.960
der auf einem anderen Port dann läuft, als der

01:28:35.960 --> 01:28:37.660
Caddy, der auf dem 443er läuft.

01:28:38.080 --> 01:28:39.840
Und dadurch kann ich dann, indem ich auf die verschiedenen Ports

01:28:39.840 --> 01:28:42.060
zugreife, dann auf die verschiedenen einzelnen

01:28:42.060 --> 01:28:44.040
Applikationen geroutet werden. Ja, so wie das im Internet halt so üblich ist.

01:28:44.160 --> 01:28:45.460
Ja. Was halt quasi

01:28:45.460 --> 01:28:47.940
die unterschiedlichen Services haben halt unterschiedliche Ports.

01:28:48.440 --> 01:28:49.800
So, Dapp ist halt 80

01:28:49.800 --> 01:28:51.640
und 443. Ja, Mail ist

01:28:51.640 --> 01:28:53.340
25, DNS ist

01:28:53.340 --> 01:28:55.400
53,

01:28:55.880 --> 01:28:56.360
je nachdem.

01:28:57.340 --> 01:28:59.360
ja, und so weiter. SSH ist 22?

01:29:00.780 --> 01:29:01.100
Genau,

01:29:01.260 --> 01:29:02.860
FTP 21, ja.

01:29:04.000 --> 01:29:05.220
Ja, also SSH will ich wahrscheinlich auch

01:29:05.220 --> 01:29:06.680
haben. Ja.

01:29:07.060 --> 01:29:09.200
Weil ich halt da irgendwie connecten will. Der muss ja irgendwie auf die Maschine drauf, genau.

01:29:09.300 --> 01:29:11.080
Aber dann ist halt auch die Frage, dann, also

01:29:11.080 --> 01:29:13.100
als Route auf die Maschine draufgehen, ist das nicht ein bisschen riskant,

01:29:13.140 --> 01:29:15.060
das irgendwie zu exponieren? Oder sage ich dem,

01:29:15.160 --> 01:29:17.040
der darf sich gar nicht einloggen? Oder wie mache ich das? Mache ich das per

01:29:17.040 --> 01:29:19.000
Passwort oder muss ich da irgendwie ein authorized key

01:29:19.000 --> 01:29:20.760
irgendwie am besten hinterlegen in irgendeinem

01:29:20.760 --> 01:29:22.760
SSH-Konto? Genau, also Authentifizierung

01:29:22.760 --> 01:29:24.180
immer per Key und dann

01:29:24.180 --> 01:29:26.600
sozusagen legst du den Public Key

01:29:26.600 --> 01:29:28.860
in ein File namens

01:29:28.860 --> 01:29:30.420
authorize-keys in dem

01:29:30.420 --> 01:29:33.000
.ssh-Verzeichnis auf deinem Server

01:29:33.000 --> 01:29:35.060
und dann kannst du dich da einloggen.

01:29:35.160 --> 01:29:36.900
Und man kann, glaube ich, sogar dann Login

01:29:36.900 --> 01:29:39.220
per Passwort abschalten oder sowas? Kann man machen, ja.

01:29:39.380 --> 01:29:41.100
Sollte man vielleicht auch. Ja, aber dann kann man

01:29:41.100 --> 01:29:43.020
tatsächlich nur noch mit seinem Private Key connecten.

01:29:43.340 --> 01:29:44.900
Was macht man denn dann, wenn der kaputt geht?

01:29:46.180 --> 01:29:47.220
Dann kann man sich nicht mehr connecten.

01:29:48.300 --> 01:29:49.100
Dann ist er am Arsch.

01:29:49.520 --> 01:29:51.020
Kannst aber mehrere zum Beispiel nehmen.

01:29:51.160 --> 01:29:52.880
Ja, okay, aber dann ist man normalerweise am Arsch, dann muss man

01:29:52.880 --> 01:29:54.940
den Server komplett abhauen, weil das alles dann

01:29:54.940 --> 01:29:56.240
nicht mehr geht. Dann muss man den Server

01:29:56.240 --> 01:29:58.480
hart, wie kommt man da wieder dran?

01:29:58.620 --> 01:29:59.520
Also kann man nur die Presse...

01:29:59.520 --> 01:30:01.720
Also das hängt halt davon ab,

01:30:01.780 --> 01:30:03.060
was das ist.

01:30:04.500 --> 01:30:04.860
Du kannst

01:30:04.860 --> 01:30:08.440
auch zum Beispiel, wenn du jetzt einen eigenen Server hast,

01:30:08.480 --> 01:30:10.800
den Fall hatten wir noch gar nicht, der ist aber auch vielleicht gar nicht so uninteressant,

01:30:11.340 --> 01:30:12.220
jetzt bei Hetzner oder so,

01:30:12.220 --> 01:30:14.120
wo du wirklich physikalisch eine Maschine gemietet hast,

01:30:14.200 --> 01:30:14.880
die irgendwo im Rack steht,

01:30:15.780 --> 01:30:17.380
da kriegst du auch eine Konsole drauf.

01:30:18.080 --> 01:30:19.980
Ein paar serielle Konsole kannst du dich

01:30:19.980 --> 01:30:21.880
auf das Ding, was halt auch interessant ist, wenn du

01:30:21.880 --> 01:30:24.020
irgendwelche Dinge machen möchtest, während das Ding bootet oder so.

01:30:26.140 --> 01:30:28.360
wo du halt per SSH nichts

01:30:28.360 --> 01:30:30.180
machen kannst, weil es gibt keinen SSH, der da läuft,

01:30:30.260 --> 01:30:31.500
weil der Kernel noch gar nicht hochgefahren ist.

01:30:32.660 --> 01:30:34.260
Da willst du halt was anderes haben, mit dem

01:30:34.260 --> 01:30:35.540
du drauf connectest und das geht da.

01:30:36.200 --> 01:30:38.360
Oft. So, dass du halt wirklich das Ding

01:30:38.360 --> 01:30:40.280
booten sehen kannst und halt kannst du auch Dinge tun

01:30:40.280 --> 01:30:40.980
bei booten.

01:30:42.580 --> 01:30:44.240
Genau, also das geht alles. Insofern

01:30:44.240 --> 01:30:45.960
gibt es da noch andere Wege rein, aber

01:30:45.960 --> 01:30:48.380
bei so einem Container, der halt

01:30:48.380 --> 01:30:50.040
einfach da...

01:30:50.040 --> 01:30:51.620
Da geht das natürlich so nicht, aber

01:30:51.620 --> 01:30:53.880
das ist ja so Wegwerf-Kram.

01:30:54.020 --> 01:30:54.780
Den schmeißt du halt einfach weg.

01:30:54.780 --> 01:30:56.040
Wenn ich den Server irgendwie

01:30:56.040 --> 01:30:58.380
abgeschossen habe oder so

01:30:58.380 --> 01:31:00.320
und der bootet nicht mehr,

01:31:00.600 --> 01:31:02.040
dann kann ich ja nicht anders.

01:31:02.080 --> 01:31:03.720
Dann schmeißt du den Container weg und machst einen neuen.

01:31:04.180 --> 01:31:06.520
Es dauert ja nicht lange, das dann wieder hochzuziehen.

01:31:06.520 --> 01:31:07.960
Ja gut, aber wenn das im Container läuft, dann ist das kein Problem.

01:31:08.760 --> 01:31:10.480
Also ich würde sagen, wenn das ordentlich

01:31:10.480 --> 01:31:12.360
gemacht ist, dann dauert das von

01:31:12.360 --> 01:31:14.520
irgendwie, du kopierst dein Projektverzeichnis dahin

01:31:14.520 --> 01:31:16.400
oder checkst es halt aus,

01:31:16.460 --> 01:31:17.260
was du auch machen kannst.

01:31:17.940 --> 01:31:20.380
Wenn du SSH anhast mit irgendwie

01:31:20.380 --> 01:31:22.560
Forward Agent, dann kannst du halt auch

01:31:22.560 --> 01:31:24.320
private Repositories, beispielsweise GitHub

01:31:24.320 --> 01:31:26.240
oder irgendwelchen Gridlab auschecken.

01:31:26.560 --> 01:31:28.260
Du connectest die einfach hin, checkst es aus,

01:31:28.840 --> 01:31:29.800
sagst Docker Compose

01:31:29.800 --> 01:31:32.200
irgendwie Build und dann linkst du halt

01:31:32.200 --> 01:31:34.280
das noch einmal in deinen Super-Wise-D-Config

01:31:34.280 --> 01:31:35.240
Dings da nach etc.

01:31:36.100 --> 01:31:38.240
Sagst Super-Wise-Control

01:31:38.240 --> 01:31:40.020
Restart dein, was auch immer

01:31:40.020 --> 01:31:42.080
wie das heißt. Und das

01:31:42.080 --> 01:31:44.100
dauert dann drei, vier Minuten und dann ist das Ding

01:31:44.100 --> 01:31:44.420
wieder oben.

01:31:46.860 --> 01:31:48.500
Selbst das könntest du noch automatisieren.

01:31:48.780 --> 01:31:50.060
Das kannst du per Script machen.

01:31:50.180 --> 01:31:51.800
Kannst du auch per Python

01:31:51.800 --> 01:31:53.980
SSH bedienen, per Paramiko

01:31:53.980 --> 01:31:54.500
oder so.

01:31:55.460 --> 01:31:56.180
Paramiko heißt das?

01:31:56.520 --> 01:31:58.720
Das ist die Library, mit der man in SSA sprechen kann.

01:32:00.140 --> 01:32:00.940
Ja, okay.

01:32:01.440 --> 01:32:02.820
Ja, also Ports haben wir jetzt einmal so kurz

01:32:02.820 --> 01:32:04.260
drauf eingegangen. Also ich könnte auch irgendwie

01:32:04.260 --> 01:32:06.180
irgendwelche Ports hinten aufmachen oder irgendwas hinterstecken.

01:32:07.320 --> 01:32:08.380
Macht man dann auch sowas wie

01:32:08.380 --> 01:32:10.580
so einen Honigtopf auf, dass man einfach irgendwie so eine Reaktion

01:32:10.580 --> 01:32:12.480
hat, falls die Leute irgendwie sagen, hey, klassischer

01:32:12.480 --> 01:32:14.140
Angriff. Würde ich jetzt nicht machen.

01:32:14.600 --> 01:32:16.600
Aber gut, kann man natürlich, wenn man Spaß daran hat.

01:32:16.920 --> 01:32:18.620
Also, ja.

01:32:18.880 --> 01:32:20.420
Fliegen fangen. Es gibt für

01:32:20.420 --> 01:32:22.720
Danglund zum Beispiel auch so ein Honeypot-Modul

01:32:22.720 --> 01:32:24.640
irgendwie, dass es so

01:32:24.640 --> 01:32:26.380
ein Admin-Interface gäbe

01:32:26.380 --> 01:32:28.440
und dann, wo sich Leute dann einloggen können mit

01:32:28.440 --> 01:32:30.400
Standard-Passwörtern und dann können sie da irgendwie Dinge machen,

01:32:30.480 --> 01:32:32.480
aber das ist alles nur Fake und dann kann man sich hinterher angucken, was sie gemacht haben.

01:32:33.080 --> 01:32:34.400
Aber ja,

01:32:34.540 --> 01:32:36.000
ich meine, wenn...

01:32:36.000 --> 01:32:38.360
Ja, wenn man ein bisschen rumspielt in der Hobbygruppe und mal so guckt, was man so

01:32:38.360 --> 01:32:40.220
alles rausfinden kann und wie man das alles so macht und so.

01:32:40.740 --> 01:32:42.500
Aber ich würde sagen, ich würde es deswegen nicht machen,

01:32:42.600 --> 01:32:43.920
weil das ist gefährlich.

01:32:44.260 --> 01:32:45.860
Das ist halt viel Code, der mit außen redet.

01:32:46.500 --> 01:32:47.240
Das ist viel Angriffsfläche.

01:32:48.020 --> 01:32:49.980
Ja gut, ich sag mal, wenn man auf dem Server jetzt nichts zu verstecken hat,

01:32:50.040 --> 01:32:52.100
sondern es eh nur so zum Rumspielen ist, dann ist das ja vielleicht gar nicht so schlimm.

01:32:52.320 --> 01:32:53.200
Kannst du auch einfach offen lassen.

01:32:54.240 --> 01:32:55.940
Dann gucken wir uns die Leute, vielleicht ist es hinterher besser.

01:32:56.280 --> 01:32:58.840
Vielleicht ist das ja auch ein bisschen Honig ausliegen.

01:32:59.940 --> 01:33:00.340
Schokolade.

01:33:04.340 --> 01:33:04.780
Firewall?

01:33:05.100 --> 01:33:09.180
Ist das auf Router-Ebene

01:33:09.180 --> 01:33:10.120
dann im Serverzentrum?

01:33:10.260 --> 01:33:12.760
Nein, also Firewall ist halt die Frage,

01:33:12.800 --> 01:33:13.660
was die Leute darunter verstehen.

01:33:13.780 --> 01:33:15.140
Das sind auch unterschiedliche Dinge.

01:33:15.260 --> 01:33:18.460
Ich kenne es halt eher so aus der Internet-Admin-Welt.

01:33:19.400 --> 01:33:21.420
Und da nennt man

01:33:21.420 --> 01:33:22.580
ein Firewall ist ein System

01:33:22.580 --> 01:33:25.560
zur Durchsetzung einer Policy

01:33:25.560 --> 01:33:26.980
am Übergang zwischen Netzwerken.

01:33:27.300 --> 01:33:28.200
Das ist eine Firewall.

01:33:30.200 --> 01:33:31.760
Ich weiß, dass es so im Heimcomputer-Bereich

01:33:31.760 --> 01:33:33.600
gibt es da irgendwie andere Definitionen von.

01:33:33.700 --> 01:33:35.580
Da gibt es auch so Personal Firewalls oder sowas.

01:33:35.680 --> 01:33:37.280
Aber das ist alles Quatsch.

01:33:37.440 --> 01:33:39.560
Aus meiner Perspektive, weil die machen genau

01:33:39.560 --> 01:33:40.040
das eben nicht.

01:33:41.140 --> 01:33:43.540
Was heißt denn eine Policy-Restriktion? Also wann darf

01:33:43.540 --> 01:33:45.480
denn welches Protokoll mit welchem ich reden? Oder darf ein bestimmtes

01:33:45.480 --> 01:33:46.540
Protokoll nicht auf einem bestimmten Port?

01:33:47.120 --> 01:33:49.060
Du guckst dir halt,

01:33:49.360 --> 01:33:51.380
was ich normalerweise, also Firewall ist

01:33:51.380 --> 01:33:53.280
ein Konzept, das ist nicht unbedingt eine

01:33:53.280 --> 01:33:55.540
Implementation. Das, was die meisten Leute

01:33:55.540 --> 01:33:57.300
vielleicht darunter verstehen, ist sowas wie ein Paketfilter.

01:33:57.920 --> 01:33:59.500
Paketfilter, da guckt sich immer vier Sachen an.

01:34:00.580 --> 01:34:01.300
Quell-IP,

01:34:01.560 --> 01:34:03.440
Ziel-IP, Quellport, Zielport.

01:34:03.940 --> 01:34:05.300
Du kannst jetzt natürlich auf beliebige

01:34:05.300 --> 01:34:07.420
Kombinationen davon Policies definieren.

01:34:07.520 --> 01:34:09.520
Kannst du sagen, okay, das lasse ich durch, das lasse ich nicht

01:34:09.520 --> 01:34:11.500
durch. Und jetzt ein Paketfilter guckt

01:34:11.500 --> 01:34:13.520
sich immer diese Quadruple an

01:34:13.520 --> 01:34:15.440
und entscheidet dann, ob er das

01:34:15.440 --> 01:34:17.400
Paket durchlässt oder nicht. Und sowas kann man dann

01:34:17.400 --> 01:34:19.180
mit Paketeinlösung, mit

01:34:19.180 --> 01:34:21.240
Pyshark machen und das dann selber bauen?

01:34:21.760 --> 01:34:23.460
Da gibt es Software, die das

01:34:23.460 --> 01:34:25.120
macht, aber das macht nur dann Sinn.

01:34:25.620 --> 01:34:26.420
Also einmal willst du

01:34:26.420 --> 01:34:29.240
solche Sachen niemals verwenden, um

01:34:29.240 --> 01:34:31.820
dich

01:34:31.820 --> 01:34:33.280
darauf zu verlassen, sondern das ist immer

01:34:33.280 --> 01:34:34.920
nur ein zusätzliches Sicherheitsnetz.

01:34:35.360 --> 01:34:37.100
Also die Sachen sollten sicher sein von sich aus.

01:34:37.840 --> 01:34:39.360
Das kann ja auch sein, dass

01:34:39.360 --> 01:34:41.280
Paketfilter ausfallen oder nicht ordentlich funktionieren

01:34:41.280 --> 01:34:43.520
oder so. Das sollte deine Sicherheit nicht beeinträchtigen.

01:34:44.000 --> 01:34:45.280
Sondern das ist einfach nur,

01:34:45.280 --> 01:34:46.860
damit du sagen kannst, ich habe hier ein Stück Hardware,

01:34:47.020 --> 01:34:48.600
das ist sonst mit nichts verbunden.

01:34:50.480 --> 01:34:51.260
Ja, das ist nicht

01:34:51.260 --> 01:34:52.960
irgendwie auf der gleichen Maschine, da kann ich

01:34:52.960 --> 01:34:54.860
irgendwie, wenn jemand meine Maschine aufgemacht hat

01:34:54.860 --> 01:34:56.920
oder eine Applikation aufgemacht hat, kann er

01:34:56.920 --> 01:34:58.620
diese Policy nicht ändern. Das heißt,

01:34:59.020 --> 01:35:00.120
dafür muss es dann halt

01:35:00.120 --> 01:35:02.860
physikalisch getrennte Maschine im Grunde sein,

01:35:03.220 --> 01:35:04.860
auf der nur der Paketfilter läuft, sonst nichts.

01:35:05.160 --> 01:35:06.940
Sonst macht das keinen Sinn. So, und den hast du

01:35:06.940 --> 01:35:08.780
halt am Übergang zwischen unterschiedlichen Netzen, weil

01:35:08.780 --> 01:35:10.600
da kannst du halt genau auf

01:35:10.600 --> 01:35:12.160
Basis dieser vier

01:35:12.160 --> 01:35:14.880
Attribute irgendwie

01:35:14.880 --> 01:35:16.640
dann deine Policy irgendwie durchsetzen.

01:35:16.740 --> 01:35:19.180
Falls ich doch meinen offenen File-Dings da betreiben will,

01:35:19.220 --> 01:35:21.160
dann sollte ich dann eine Firewall zwischen dem Netz und ...

01:35:21.160 --> 01:35:22.680
Aber das kannst du überhaupt nicht.

01:35:22.700 --> 01:35:23.840
Du hast ja nicht Kontrolle über das Netz.

01:35:24.500 --> 01:35:25.940
Ich würde sagen, das macht ja nur dann Sinn,

01:35:26.020 --> 01:35:27.340
wenn du auch das Netz da unter Kontrolle hast.

01:35:27.360 --> 01:35:28.980
Dann muss ich das lokale Netz unter Kontrolle haben.

01:35:29.660 --> 01:35:32.960
Du müsstest das Netz, in dem du diese Policy durchsetzen willst,

01:35:33.080 --> 01:35:34.060
musst du unter Kontrolle haben.

01:35:34.060 --> 01:35:35.500
Aber meine eigene Server-Farm zu Hause.

01:35:35.860 --> 01:35:36.960
Du kannst es zu Hause machen, ja.

01:35:37.080 --> 01:35:38.920
Für zwei verschiedene Router-Netze oder so was,

01:35:38.940 --> 01:35:40.180
die ich voneinander trennen will.

01:35:40.700 --> 01:35:44.140
Vielleicht habe ich irgendwie ein kleines offenes Netz da.

01:35:44.300 --> 01:35:46.400
Da gibt es ja so ein paar Optionen, wo man frei sich

01:35:46.400 --> 01:35:48.080
verbinden kann an einem Funk.

01:35:48.560 --> 01:35:50.560
Und dann könnte man das mit seinem Heimnetzwerk machen und da sollte man

01:35:50.560 --> 01:35:52.560
sowas dazwischen hängen, weil die Geräte zwar im gleichen

01:35:52.560 --> 01:35:54.000
Laden... Das ist viel zu viel Aufwand.

01:35:54.260 --> 01:35:55.940
Das ist viel zu viel Aufwand, um sowas selber zu machen.

01:35:56.980 --> 01:35:58.960
Oder ich wüsste jetzt nicht, dass das irgendein...

01:35:58.960 --> 01:36:00.120
Also ich

01:36:00.120 --> 01:36:02.560
finde, diese Zeiten sind vorbei. Also das ist...

01:36:03.680 --> 01:36:04.380
Das macht man nicht mehr.

01:36:04.800 --> 01:36:06.080
Ja, also ich meine, eben diese

01:36:06.080 --> 01:36:08.160
die Hoster und

01:36:08.160 --> 01:36:10.580
vielleicht auch Amazon, die werden solche Sachen betreiben.

01:36:10.840 --> 01:36:11.960
Die machen das so.

01:36:13.060 --> 01:36:13.380
Aber

01:36:13.380 --> 01:36:17.780
für zu Hause macht das doch kein...

01:36:17.780 --> 01:36:19.840
Ich meine, du musst wirklich ein eigenes

01:36:19.840 --> 01:36:21.320
Gerät dafür haben, dass das nur das tut.

01:36:21.540 --> 01:36:23.500
Und dann brauchst du mehrere davon, weil

01:36:23.500 --> 01:36:24.940
du willst ja

01:36:24.940 --> 01:36:27.420
nicht nur einen, du brauchst ja dann irgendwie

01:36:27.420 --> 01:36:29.460
unterschiedliche Zonen

01:36:29.460 --> 01:36:29.960
und

01:36:29.960 --> 01:36:34.040
da gibt es ja unterschiedliche Konzepte, wie du

01:36:34.040 --> 01:36:35.780
das realisierst und du kommst ja

01:36:35.780 --> 01:36:37.520
mit einem Ding auch gar nicht aus, da brauchst du mehrere davon.

01:36:37.760 --> 01:36:39.740
Das heißt, du betreibst mehrere Rechner zu Hause nur, um

01:36:39.740 --> 01:36:41.680
diese Policy da durchzusetzen.

01:36:42.040 --> 01:36:43.140
Welchen Gewinn erzielst du dadurch?

01:36:43.940 --> 01:36:45.820
Und vor allen Dingen im Verhältnis zu dem Aufwand.

01:36:48.620 --> 01:36:50.080
Als Rechenzentrumsbetreiber kann man

01:36:50.080 --> 01:36:51.860
das irgendwie rechtfertigen, dass man zu jedem Switch dann noch

01:36:51.860 --> 01:36:53.040
irgendwie einen Paketfilter stellt.

01:36:54.320 --> 01:36:56.200
Oder alle zwei, drei

01:36:56.200 --> 01:36:57.960
Racks stellt man da halt irgendwie noch einen Paketfilter

01:36:57.960 --> 01:36:58.260
dazu.

01:36:59.620 --> 01:37:02.040
Aber zu Hause...

01:37:02.940 --> 01:37:04.120
Da bin ich aber

01:37:04.120 --> 01:37:06.040
ganz sicher, da bin ich nicht mehr so Glaskörper-mäßig.

01:37:06.700 --> 01:37:07.480
Ja, aber das Ding

01:37:07.480 --> 01:37:09.780
hilft dir ja für die meisten Sachen, die dich

01:37:09.780 --> 01:37:11.080
sozusagen, wenn du...

01:37:11.080 --> 01:37:11.780
Mist, nicht.

01:37:12.960 --> 01:37:15.480
Genau, es hängt halt

01:37:15.480 --> 01:37:17.220
davon ab, wovor du Angst hast.

01:37:17.420 --> 01:37:19.000
Wenn du Angst davor hast, dass die

01:37:19.000 --> 01:37:20.780
Applikationen, die bei dir laufen, was Böses tun, dann

01:37:20.780 --> 01:37:22.860
schützt dich das alles überhaupt gar nicht.

01:37:23.280 --> 01:37:24.820
Das schützt dich halt bloß davor, dass jemand

01:37:24.820 --> 01:37:26.460
Verbindungen irgendwie, die du

01:37:26.460 --> 01:37:28.060
laut Policy nicht zulässt,

01:37:28.120 --> 01:37:30.980
macht. Aber das passiert heute eh fast

01:37:30.980 --> 01:37:31.340
nicht mehr.

01:37:33.440 --> 01:37:34.720
Oder das passiert ja auch nur dann, wenn

01:37:34.720 --> 01:37:36.260
überhaupt eine Verbindung möglich wäre. Die meisten

01:37:36.260 --> 01:37:38.960
sitzen hinter irgendeinem komischen, dynamischen

01:37:38.960 --> 01:37:40.200
IP oder irgendeinem seltsamen NAT.

01:37:41.080 --> 01:37:45.180
das ist mit den Verbindungen sowieso nicht so toll.

01:37:46.340 --> 01:37:46.780
Und da müssen

01:37:46.780 --> 01:37:48.980
sich, müssen ja diejenigen,

01:37:49.140 --> 01:37:49.400
die das,

01:37:50.800 --> 01:37:52.640
wenn du da irgendwie, wenn jemand

01:37:52.640 --> 01:37:54.680
dich kompromittiert hat, dann muss er ja irgendwie nach Hause

01:37:54.680 --> 01:37:56.800
telefonieren und dann muss er das eh auf eine relativ

01:37:56.800 --> 01:37:58.420
schlaue Art tun, sonst kommt er ja gar nicht mehr durch.

01:37:58.940 --> 01:38:00.640
Aber wenn er das auf eine relativ schlaue Art tut, dann nützt dir der ganze

01:38:00.640 --> 01:38:02.200
Paketfilterkram nichts, weil

01:38:02.200 --> 01:38:04.720
der sieht ja nichts Schlaues, der macht ja nichts Schlaues,

01:38:04.840 --> 01:38:06.640
sondern der macht ja was sehr, sehr Einfaches eigentlich.

01:38:07.920 --> 01:38:08.280
Also

01:38:08.280 --> 01:38:10.660
schwer. Also Firewalls sind auch quasi

01:38:10.660 --> 01:38:12.280
aus den Relikten, aus der Pakete.

01:38:12.280 --> 01:38:14.060
Naja, also Firewall ist ja unter Umständen noch viel mehr.

01:38:14.180 --> 01:38:15.980
Es ist ja nicht nur Paketfilter, sondern das ist halt,

01:38:17.240 --> 01:38:18.780
man kann ja auch noch andere Dinge tun.

01:38:18.880 --> 01:38:20.300
Man könnte auch solche Sachen machen wie,

01:38:25.800 --> 01:38:26.800
na, du hast da einen Rechner,

01:38:27.480 --> 01:38:28.860
auf dem läuft nur

01:38:28.860 --> 01:38:30.200
ein,

01:38:30.940 --> 01:38:32.220
wie heißt das, VLC oder so,

01:38:32.220 --> 01:38:34.200
nee, dieses Ding ist VNC.

01:38:34.360 --> 01:38:35.080
VNC ist das, ja.

01:38:35.740 --> 01:38:37.900
Du connectest dich darauf, du hast selber,

01:38:38.140 --> 01:38:39.380
bist du abgeschnitten von,

01:38:40.060 --> 01:38:42.000
Du kannst halt bloß über so eine grafische Schnittstelle

01:38:42.000 --> 01:38:43.720
irgendwie mit außen kommunizieren.

01:38:43.820 --> 01:38:45.800
Das macht man auch manchmal. Das ist auch, würde ich sagen,

01:38:45.860 --> 01:38:47.900
eine Firewall, um halt

01:38:47.900 --> 01:38:49.720
zu verhindern, dass du

01:38:49.720 --> 01:38:51.740
Netzwerke miteinander überhaupt verbinden musst. Dann kannst du halt da

01:38:51.740 --> 01:38:53.500
sagen, okay, da ist

01:38:53.500 --> 01:38:55.420
gar keine Verbindung in dem Sinne.

01:38:58.740 --> 01:38:59.680
Es würde

01:38:59.680 --> 01:39:01.740
für mich auch irgendwie unter Firewall fallen.

01:39:02.840 --> 01:39:03.820
Oder es kann diverse

01:39:03.820 --> 01:39:05.600
andere Geschichten geben, die

01:39:05.600 --> 01:39:07.560
halt auch darunter fallen. Also ich würde eher sagen,

01:39:07.640 --> 01:39:09.840
das ist eher ein Konzept,

01:39:10.060 --> 01:39:13.160
ja, aber das ist alles

01:39:13.160 --> 01:39:15.280
Sachen, das ist heute, ich würde

01:39:15.280 --> 01:39:16.940
sagen, ich weiß es natürlich nicht so genau,

01:39:17.060 --> 01:39:19.360
das ist heutzutage eher ein Ding für Experten.

01:39:20.520 --> 01:39:20.780
Weil

01:39:20.780 --> 01:39:22.780
wer hat...

01:39:22.780 --> 01:39:24.640
Also ich meine,

01:39:24.860 --> 01:39:27.040
wenn einem das Spaß macht, kann man sich ja damit beschäftigen, aber

01:39:27.040 --> 01:39:29.140
so,

01:39:30.460 --> 01:39:30.760
das,

01:39:31.080 --> 01:39:31.760
ja,

01:39:32.780 --> 01:39:33.760
die meisten Firmen

01:39:33.760 --> 01:39:35.620
machen ja auch ihr Rechenzentrumskram nicht mehr selber.

01:39:35.720 --> 01:39:37.620
Auch das macht natürlich Spaß, irgendwie selber Racks zu

01:39:37.620 --> 01:39:39.600
bauen und Kabel zu ziehen und die zu labeln

01:39:39.600 --> 01:39:41.420
und so, voll gut, aber das macht auch

01:39:41.420 --> 01:39:43.360
heute kaum noch jemand, weil alle gehen halt

01:39:43.360 --> 01:39:44.020
in die Cloud und

01:39:44.020 --> 01:39:47.360
es ist halt so ein bisschen

01:39:47.360 --> 01:39:49.300
das wird halt eher, das rutscht halt alles so

01:39:49.300 --> 01:39:49.780
in die Richtung

01:39:49.780 --> 01:39:52.800
Commodity, also früher hat es halt

01:39:52.800 --> 01:39:55.460
vielleicht noch einen Unterschied gemacht, wenn man jetzt in einer Firma war

01:39:55.460 --> 01:39:57.260
und hat halt irgendwie sein eigenes

01:39:57.260 --> 01:39:59.460
Rechenzentrum im Keller betrieben, ob man

01:39:59.460 --> 01:40:01.360
jetzt die Kabel ordentlich

01:40:01.360 --> 01:40:03.340
gelabelt hat und irgendwie da

01:40:03.340 --> 01:40:05.240
die Paketfelder ordentlich hingestellt hat und so

01:40:05.240 --> 01:40:07.440
und heutzutage ist das halt so, darüber kann man

01:40:07.440 --> 01:40:08.900
sich schwer differenzieren, weil

01:40:08.900 --> 01:40:11.360
also außer man macht es halt scheiße,

01:40:11.480 --> 01:40:13.600
aber ansonsten kann man es, wenn man es gut

01:40:13.600 --> 01:40:15.520
macht, besser als Amazon wird man es nicht

01:40:15.520 --> 01:40:17.160
machen können, daher, oder nur

01:40:17.160 --> 01:40:18.680
mit einem Aufwand, der

01:40:18.680 --> 01:40:21.440
das ist halt nicht mehr gerechtfertigt. Nicht mehr bezahlbar

01:40:21.440 --> 01:40:23.420
natürlich. Nicht bezahlbar, ja, es lohnt sich einfach

01:40:23.420 --> 01:40:25.140
nicht. Also Amazon ist

01:40:25.140 --> 01:40:27.220
so gut, die anderen auch,

01:40:28.180 --> 01:40:29.420
dass sich das nicht mehr lohnt,

01:40:29.420 --> 01:40:30.960
das selber zu machen, um sich da noch irgendwie

01:40:30.960 --> 01:40:31.920
was rauszuholen.

01:40:32.260 --> 01:40:34.780
Das musst du mir nochmal genauer erklären.

01:40:35.520 --> 01:40:37.120
Das ist so ein bisschen schade irgendwie, weil

01:40:37.120 --> 01:40:38.960
natürlich viele coole Sachen, die früher irgendwie

01:40:38.960 --> 01:40:41.160
interessant waren, heute halt nicht mehr so.

01:40:42.440 --> 01:40:42.800
Aber

01:40:42.800 --> 01:40:45.160
ich fürchte, das ist halt so der Gang der Dinge.

01:40:45.800 --> 01:40:46.740
Zeiten sind vorbei.

01:40:47.800 --> 01:40:48.160
Na gut.

01:40:48.920 --> 01:40:50.660
Aber ja, ich meine, das ist natürlich schon alles interessant.

01:40:51.880 --> 01:40:53.220
Also ich würde vielleicht gerne noch mal

01:40:53.220 --> 01:40:54.400
kurz das mit dem Server abschließen.

01:40:55.040 --> 01:40:57.020
So ein bisschen, was ich noch machen würde, also für mich

01:40:57.020 --> 01:40:58.920
jetzt persönlich, ich würde gerne so ein paar IoT-Geräte

01:40:58.920 --> 01:41:00.980
da ranschicken. Also ich habe jetzt irgendwo

01:41:00.980 --> 01:41:02.740
ein paar Respi-Sensoren oder sowas,

01:41:02.740 --> 01:41:03.720
die ich dann da

01:41:03.720 --> 01:41:06.760
Broadcast oder sowas mit MQTT

01:41:06.760 --> 01:41:08.760
habe ich gelernt, das würde ganz gut funktionieren.

01:41:08.880 --> 01:41:10.580
Und dann lade ich irgendwie so ein REST

01:41:10.580 --> 01:41:12.780
oder ein GraphQL am besten.

01:41:13.140 --> 01:41:14.440
Was würdest du sagen, API

01:41:14.440 --> 01:41:17.060
laufen über so ein Caddy

01:41:17.060 --> 01:41:18.820
dann ein Django ansteuern?

01:41:19.280 --> 01:41:20.760
Also in Django selber rein geht das

01:41:20.760 --> 01:41:22.740
dann wahrscheinlich, wenn du es direkt in Django rein

01:41:22.740 --> 01:41:24.600
schreiben willst, über wahrscheinlich

01:41:24.600 --> 01:41:26.520
sowas wie Django REST Framework oder halt eben über

01:41:26.520 --> 01:41:28.860
GraphQL oder so. Das sind halt so die typischen

01:41:28.860 --> 01:41:30.480
Sachen, mit denen man halt APIs bereitstellt.

01:41:33.680 --> 01:41:34.080
Aber

01:41:34.080 --> 01:41:37.800
was du auch machen könntest,

01:41:37.880 --> 01:41:39.640
das ist halt die Frage. Also MQTT ist halt

01:41:39.640 --> 01:41:41.980
insofern schicker, als dass es halt genau für solche

01:41:41.980 --> 01:41:42.920
Anwendungsfälle gedacht ist.

01:41:45.260 --> 01:41:46.160
Und du dir halt

01:41:46.160 --> 01:41:47.900
über viele Sachen nicht mehr selber Gedanken

01:41:47.900 --> 01:41:49.820
machen musst, was du müsstest, wenn du es

01:41:49.820 --> 01:41:51.900
halt, also wenn du

01:41:51.900 --> 01:41:53.800
jetzt zum Beispiel irgendwie, keine Ahnung,

01:41:54.000 --> 01:41:55.160
du hast einen Sensor,

01:41:55.740 --> 01:41:57.760
ist halt die Frage, ob das jetzt wichtig ist, die Daten,

01:41:57.880 --> 01:41:59.700
die dabei rausfallen, oder ob man die ignorieren kann. Also wenn

01:41:59.700 --> 01:42:00.860
jetzt da ein wichtiger,

01:42:01.840 --> 01:42:03.720
nehmen wir an, du hast einen Geigerzeller in deinen Raspberry Pi

01:42:03.720 --> 01:42:05.220
eingeschlossen, ja, und irgendwie

01:42:05.220 --> 01:42:07.320
die Fallout-Wolke ist überzieht

01:42:07.320 --> 01:42:08.240
über dein Wohngebiet.

01:42:09.940 --> 01:42:11.260
Aber dummerweise ist irgendwie

01:42:11.260 --> 01:42:13.440
dein Server nicht erreichbar. Dann ist es natürlich blöd,

01:42:13.740 --> 01:42:14.860
wenn jetzt diese Information,

01:42:15.600 --> 01:42:17.560
dass dein Garten verseucht ist,

01:42:17.640 --> 01:42:19.360
nicht bei dir ankommt,

01:42:19.440 --> 01:42:21.520
weil der Raspberry Pi, der die Sensordaten

01:42:21.520 --> 01:42:23.480
bekommen hat, versucht dir halt irgendwie

01:42:23.480 --> 01:42:25.140
an deinen Server zu schicken und der ist halt gerade nicht da.

01:42:25.940 --> 01:42:26.840
Und was macht...

01:42:26.840 --> 01:42:28.460
Schmeißt dir einfach weg.

01:42:28.740 --> 01:42:31.420
Schmeißt dir einfach weg und dann kriegst du die Daten

01:42:31.420 --> 01:42:33.080
nicht. Hängt davon ab, hängt von

01:42:33.080 --> 01:42:35.000
deine Anforderungen ab, ob das jetzt

01:42:35.000 --> 01:42:36.980
schlimm ist oder nicht. Kann auch sein, dass es nicht schlimm ist.

01:42:37.760 --> 01:42:39.340
Aber wenn du

01:42:39.340 --> 01:42:41.280
möchtest, dass die dann halt

01:42:41.280 --> 01:42:43.300
noch irgendwann dahin geschickt werden, wenn der Server wieder da ist,

01:42:43.720 --> 01:42:45.140
dann brauchst du ja selber irgendwie eine Art von

01:42:45.140 --> 01:42:46.480
Queue, dann brauchst du irgendwie eine Warteschlange,

01:42:46.840 --> 01:42:49.120
wo halt die Sensordaten erstmal

01:42:49.120 --> 01:42:50.980
auflaufen und dann halt irgendwie, dann wenn dein Server

01:42:50.980 --> 01:42:52.520
wieder verfügbar ist, dahin geschickt werden.

01:42:54.080 --> 01:42:54.960
Und ja,

01:42:55.140 --> 01:42:57.040
dann kannst du noch Features dazu bauen und dann

01:42:57.040 --> 01:42:58.360
implementierst du

01:42:58.360 --> 01:43:01.120
MQTT oder halt beliebiges anderes

01:43:01.120 --> 01:43:02.580
Queuing-System,

01:43:02.960 --> 01:43:04.680
Message-Queue-System halt nach.

01:43:05.360 --> 01:43:06.920
Und das muss man nicht tun, man kann einfach eins

01:43:06.920 --> 01:43:08.420
nehmen, das schon fertig ist und das macht das dann

01:43:08.420 --> 01:43:10.740
für einen. Dann schmeißt man halt

01:43:10.740 --> 01:43:12.540
in die Queue halt irgendwie dieses Sensor

01:43:12.540 --> 01:43:14.220
Datum halt rein.

01:43:14.520 --> 01:43:16.180
Und der überlebt ja nicht so lange, bis er eine

01:43:16.180 --> 01:43:19.040
201. Genau, man muss sich

01:43:19.040 --> 01:43:20.620
nicht mehr selber kümmern, dass das irgendwie

01:43:20.620 --> 01:43:22.300
zugestellt wird und so, das passiert dann automatisch.

01:43:22.300 --> 01:43:24.240
Der macht dann einfach Post-Requests auf die API.

01:43:24.520 --> 01:43:26.440
Nee, nee, nee, nee. Das Ding macht, nein, nein,

01:43:26.620 --> 01:43:28.280
das hat ein eigenes Protokoll, das macht

01:43:28.280 --> 01:43:29.500
auch kein HTTP.

01:43:30.440 --> 01:43:32.200
Das ist ein eigenes Protokoll. Es gibt ein

01:43:32.200 --> 01:43:34.160
MQTT-Broker, der irgendwie

01:43:34.160 --> 01:43:35.080
weiß, welche

01:43:35.080 --> 01:43:38.320
Ja. Dann spricht der dann REST.

01:43:38.960 --> 01:43:39.940
Nein. Was bekommt der denn dann?

01:43:39.940 --> 01:43:41.780
Kein HTTP. Aber wie bekomme ich denn

01:43:41.780 --> 01:43:43.220
auf meinem Django

01:43:43.220 --> 01:43:45.860
Backend, auf meinem Django-Server?

01:43:45.860 --> 01:43:48.060
Du könntest natürlich, ja, du kannst halt intern

01:43:48.060 --> 01:43:50.000
irgendwo bei dir zu Hause MQTT sprechen

01:43:50.000 --> 01:43:52.040
und dann halt irgendwie den ganzen Kram halt periodisch

01:43:52.040 --> 01:43:53.840
zu deinem Server schicken, aber du könntest

01:43:53.840 --> 01:43:55.740
natürlich auch, und das ist fast wahrscheinlich dein geiler,

01:43:56.860 --> 01:43:57.620
zum Beispiel

01:43:57.620 --> 01:43:59.080
ein VPN aufmachen.

01:44:00.200 --> 01:44:01.480
Ja. Und

01:44:01.480 --> 01:44:03.140
hast halt auch

01:44:03.140 --> 01:44:05.380
quasi ein

01:44:05.380 --> 01:44:09.960
ja, Ding, was halt

01:44:09.960 --> 01:44:13.860
an der Queue hängt, sozusagen

01:44:13.860 --> 01:44:15.640
die konsumiert,

01:44:16.600 --> 01:44:17.820
die Ereignisse,

01:44:17.820 --> 01:44:19.240
die da rausfallen, die Events, die da rausfallen

01:44:19.240 --> 01:44:21.680
und das dann halt irgendwo zum Beispiel in deine

01:44:21.680 --> 01:44:22.680
Datenbank direkt reinschreiben.

01:44:22.860 --> 01:44:24.220
Dann geh ich aber gar nicht mehr über die API.

01:44:25.800 --> 01:44:27.400
Aber dann hab ich noch einen eigenen Service laufen, der

01:44:27.400 --> 01:44:29.600
hängt aber nicht mehr am Caddy, sondern

01:44:29.600 --> 01:44:31.160
der hängt als Daemon wieder auf einem eigenen Port.

01:44:31.480 --> 01:44:33.560
genau. Aha, und dann muss ich dann einfach

01:44:33.560 --> 01:44:35.580
dann, wie kann der denn dann mit

01:44:35.580 --> 01:44:37.580
der, das ist mein Problem, mit der Datenbank,

01:44:37.760 --> 01:44:39.340
die im Docker liegt, reden?

01:44:39.720 --> 01:44:41.500
Ja, auf dem lokalen Host geht das

01:44:41.500 --> 01:44:43.580
ja alles, da kannst du auch mit der

01:44:43.580 --> 01:44:44.420
Datenbank reden, das geht.

01:44:45.640 --> 01:44:47.100
Ah, das heißt, ich muss dann aber den

01:44:47.100 --> 01:44:49.380
Container mit reinschreiben, den

01:44:49.380 --> 01:44:51.680
MQTT

01:44:51.680 --> 01:44:53.400
Broadcaster, damit er auf die

01:44:53.400 --> 01:44:54.860
Datenbank zugreifen kann?

01:44:55.580 --> 01:44:57.280
Nö, das musst du halt bloß irgendwie da

01:44:57.280 --> 01:44:59.480
einkommen, das Ding kann in dem Container

01:44:59.480 --> 01:45:01.340
irgendwie als Prozess laufen, es kann aber auch wieder in einem eigenen

01:45:01.340 --> 01:45:01.920
Container laufen.

01:45:03.460 --> 01:45:05.160
Ich bin jetzt gerade ein bisschen ausgestiegen an der Stelle

01:45:05.160 --> 01:45:06.480
dieser Verzahnung. Also ich habe jetzt

01:45:06.480 --> 01:45:09.540
meinen Dango in einem Docker-Container

01:45:09.540 --> 01:45:10.980
laufen, der vom

01:45:10.980 --> 01:45:12.800
Caddy angesteuert wird.

01:45:14.680 --> 01:45:15.400
Das läuft

01:45:15.400 --> 01:45:17.260
selber in einem eigenen Container.

01:45:17.780 --> 01:45:18.940
Angesteuert, das gibt zu viel.

01:45:18.940 --> 01:45:20.900
Also der Caddy, der schießt das doch zum

01:45:20.900 --> 01:45:23.200
App-Server. Nein, wenn Requests

01:45:23.200 --> 01:45:25.060
von außen kommen, die landen auf dem Caddy.

01:45:25.200 --> 01:45:27.420
Und der schickt sie dann halt weiter an den Applikations-Server,

01:45:27.420 --> 01:45:28.560
wenn sie bestimmte Container entsprechen.

01:45:28.780 --> 01:45:30.100
Der läuft aber als Docker.

01:45:31.100 --> 01:45:33.160
Ja, aber der Caddy kann auch als Docker-Ding

01:45:33.160 --> 01:45:35.080
laufen. Das ist, bei der

01:45:35.080 --> 01:45:37.120
Default-Installation mit Cookiecutter ist das auch

01:45:37.120 --> 01:45:39.160
so. Da läuft auch der Caddy in einem eigenen

01:45:39.160 --> 01:45:41.260
Container. Und dann ist das egal, dann kann der MQTT

01:45:41.260 --> 01:45:43.160
Broadcaster auch in einem Container laufen, der kann

01:45:43.160 --> 01:45:45.040
aber dann mit den anderen Postgres-Containern zum Beispiel

01:45:45.040 --> 01:45:46.980
reden oder sowas. Ja. Ja, okay.

01:45:47.080 --> 01:45:48.960
Dann kann er das dann reinschreiben und dann kann Django darauf zugreifen.

01:45:49.480 --> 01:45:51.100
Ja. Der Zugriff, den mache ich jetzt, weiß ich

01:45:51.100 --> 01:45:52.460
nicht, Django kann man Plotly,

01:45:52.900 --> 01:45:54.940
Seaborn, Matplotlib oder halt tatsächlich so

01:45:54.940 --> 01:45:56.400
ein bisschen Dash sogar, habe ich gesehen,

01:45:56.480 --> 01:45:59.280
um das dann irgendwie für sich darzustellen.

01:46:00.380 --> 01:46:02.560
Wie kommunizieren die denn dann mit der Datenbank,

01:46:02.760 --> 01:46:04.440
damit das dann live abgerufen werden kann,

01:46:04.500 --> 01:46:06.080
wenn ich die Daten jetzt live auslesen möchte?

01:46:08.260 --> 01:46:09.220
Weiß ich, ehrlich gesagt.

01:46:09.520 --> 01:46:10.840
Bin ich mir so ein bisschen überfragt, keine Ahnung.

01:46:11.020 --> 01:46:12.300
Also man kann das halt so machen, dass man,

01:46:13.220 --> 01:46:15.420
also du möchtest, dass sich live irgendwie dein Graph ändert.

01:46:16.180 --> 01:46:16.320
Ja.

01:46:17.240 --> 01:46:18.460
Wenn ich auf den Knopf drücke, dann soll das,

01:46:18.600 --> 01:46:19.860
also auf dem Raspi, auf dem Knopf drücke,

01:46:19.940 --> 01:46:21.500
dann soll das direkt sichtbar sein.

01:46:21.500 --> 01:46:24.720
Ja, dann, also das Einfachste ist wahrscheinlich in JavaScript

01:46:24.720 --> 01:46:28.000
einfach zu pollen, irgendwie alle paar hundert Millisekunden

01:46:28.000 --> 01:46:29.920
oder so einfach nochmal die API zu fragen,

01:46:30.020 --> 01:46:30.660
Da gibt es neue Daten.

01:46:30.740 --> 01:46:31.800
Mit einem Get-Request und einfach.

01:46:32.060 --> 01:46:32.180
Ja.

01:46:34.720 --> 01:46:37.380
Oder, aber das ist halt die Frage,

01:46:37.440 --> 01:46:37.880
ob man das machen möchte.

01:46:38.040 --> 01:46:39.140
Du nimmst halt Web-Sockets

01:46:39.140 --> 01:46:41.920
und dann sowas auf Django-Seite,

01:46:42.000 --> 01:46:43.160
sowas wie Django-Channels oder so.

01:46:43.440 --> 01:46:44.800
Aber dann musst du halt einen anderen,

01:46:45.260 --> 01:46:46.180
musst du auch bestimmt einen anderen.

01:46:46.200 --> 01:46:47.460
Was sind denn Web-Sockets jetzt schon wieder?

01:46:47.560 --> 01:46:48.200
Ui, ja.

01:46:48.480 --> 01:46:49.640
Das ist halt so eine Erweiterung.

01:46:49.860 --> 01:46:51.140
Das ist halt dann auch schon nicht mehr HTTP.

01:46:51.520 --> 01:46:52.320
Das ist halt was anderes.

01:46:53.120 --> 01:46:55.020
Bei HTTP, da hast du das Problem,

01:46:55.060 --> 01:46:56.560
du hast keine bidirektionale Verbindung,

01:46:56.560 --> 01:46:58.600
sondern du hast halt immer nur Request-Response.

01:46:58.920 --> 01:47:01.480
Und Request-Response

01:47:01.480 --> 01:47:02.960
geht das nicht, weil du kannst halt

01:47:02.960 --> 01:47:05.120
vom Server aus nichts zum Client schicken, weil du

01:47:05.120 --> 01:47:07.020
weißt ja nicht mal, wer deine Clients sind. Du hast ja keine

01:47:07.020 --> 01:47:09.080
Verbindung zu denen. Socket hört sich so an wie so ein Port

01:47:09.080 --> 01:47:11.140
oder sowas, der irgendwie im Internet rumschwebt.

01:47:13.740 --> 01:47:15.040
Socket. Ja, Socket ist

01:47:15.040 --> 01:47:17.020
quasi sozusagen das eine

01:47:17.020 --> 01:47:18.880
Ende der Hörer bei einem Telefon. Wenn du dir vorstellst,

01:47:18.880 --> 01:47:20.680
das ist wie so eine Verbindung, so eine

01:47:20.680 --> 01:47:22.460
Internet-TCP-Verbindung ist halt wie so

01:47:22.460 --> 01:47:24.800
eine Telefonverbindung, dann wäre Socket

01:47:24.800 --> 01:47:26.800
irgendwie der Hörer, wo man irgendwie was reinwerfen kann,

01:47:27.160 --> 01:47:28.600
was dann auf der anderen Seite rauskommt. Und dann kannst du

01:47:28.600 --> 01:47:29.520
in beide Richtungen auch was reinwerfen.

01:47:30.780 --> 01:47:32.300
Bei HTTP ist halt nicht so, sondern

01:47:32.300 --> 01:47:33.780
HTTP ist eher so wie

01:47:33.780 --> 01:47:36.440
Rohrpost. Da wirfst du halt

01:47:36.440 --> 01:47:37.620
was rein und das...

01:47:37.620 --> 01:47:40.260
Quatsch, das ist auch Unsinn. Das wäre auch

01:47:40.260 --> 01:47:40.740
bidirektional.

01:47:42.420 --> 01:47:44.220
HTTP ist eher so wie...

01:47:44.220 --> 01:47:44.840
Wie so ein Katapult.

01:47:47.840 --> 01:47:48.440
Katapult in eine

01:47:48.440 --> 01:47:49.840
Richtung, fliegt immer was vor die Stippmauer.

01:47:51.500 --> 01:47:52.380
Du hast

01:47:52.380 --> 01:47:54.240
eine Telefonverbindung, aber

01:47:54.240 --> 01:47:56.380
auf der Serverseite hast du nur...

01:47:57.160 --> 01:47:58.580
Oder du bist in so einem Bandiseil

01:47:58.580 --> 01:47:59.800
und versuchst mit der Hand immer ins Wasser.

01:47:59.960 --> 01:48:01.160
Ach, diese ganzen Vergleiche sind nicht gut.

01:48:01.740 --> 01:48:02.520
Das stimmt alles nicht.

01:48:06.680 --> 01:48:10.720
Ja, mir fällt jetzt kein guter Vergleich ein.

01:48:10.800 --> 01:48:11.400
Das ist aber auf jeden Fall so.

01:48:11.620 --> 01:48:13.140
Du hast halt eben keine Verbindung zu deinen Clients.

01:48:13.220 --> 01:48:14.900
Du kannst die nicht benachrichtigen,

01:48:15.000 --> 01:48:15.860
dass sich irgendwas geändert hat.

01:48:16.420 --> 01:48:17.620
Du kannst immer nur darauf warten,

01:48:17.680 --> 01:48:18.240
dass sie dich fragen.

01:48:18.700 --> 01:48:20.120
Du kannst ein Fax hin und her schicken oder sowas.

01:48:21.280 --> 01:48:22.360
Ja, du kannst halt nichts dahin schicken.

01:48:22.740 --> 01:48:23.880
Du kannst halt nur darauf warten,

01:48:23.980 --> 01:48:24.620
dass dich jemand fragt.

01:48:25.220 --> 01:48:26.240
Und das ist halt,

01:48:26.740 --> 01:48:29.700
du bist halt so wie

01:48:29.700 --> 01:48:32.140
beim Bahnhof,

01:48:32.200 --> 01:48:32.740
die Informationen.

01:48:33.960 --> 01:48:35.680
Die Leute können zu dir kommen und dich irgendwas fragen,

01:48:35.900 --> 01:48:37.140
aber wenn jetzt der Zug

01:48:37.140 --> 01:48:40.300
ausfällt, die Wagenreihung

01:48:40.300 --> 01:48:41.980
sich ändert oder Godzilla drüber gelaufen ist,

01:48:42.860 --> 01:48:43.860
dann kannst du das

01:48:43.860 --> 01:48:45.860
den ganzen Reisenden nicht

01:48:45.860 --> 01:48:47.800
sagen, sondern die müssen kommen

01:48:47.800 --> 01:48:49.220
und dich fragen, quasi.

01:48:49.780 --> 01:48:51.700
Ja, man könnte ja so eine Durchsage haben,

01:48:51.700 --> 01:48:53.340
aber so weit sind wir jetzt noch nicht, das ist viel zu modern.

01:48:53.960 --> 01:48:55.680
Ja, genau, da geht es dann

01:48:55.680 --> 01:48:57.600
natürlich schon wieder kaputt mit der Metapher.

01:48:58.160 --> 01:49:02.200
ja, also

01:49:02.200 --> 01:49:05.540
eben, wenn du dann

01:49:05.540 --> 01:49:07.680
WebSockets hast, dann geht es halt doch. Dann hast du eben eine Verbindung

01:49:07.680 --> 01:49:09.360
zu einem Client und den kannst du dann in Echtzeit direkt

01:49:09.360 --> 01:49:11.600
sagen. Wie mache ich WebSockets an?

01:49:11.820 --> 01:49:13.620
Also bei Django hast du gesagt Channels. Ja, Django

01:49:13.620 --> 01:49:15.760
Channels ist eine, das Problem ist aber, du brauchst

01:49:15.760 --> 01:49:17.500
halt einen anderen Server,

01:49:17.740 --> 01:49:19.200
einen Applikationsserver, der das kann.

01:49:19.600 --> 01:49:21.880
Und welcher Applikationsserver kann WebSockets?

01:49:23.380 --> 01:49:24.300
Der kommt

01:49:24.300 --> 01:49:26.260
dann da mit Django Channel Strike mit, der heißt irgendwie

01:49:26.260 --> 01:49:26.600
Daphne.

01:49:28.120 --> 01:49:30.060
Und ja,

01:49:30.520 --> 01:49:32.420
es gibt auch, glaube ich, einen, der

01:49:32.420 --> 01:49:36.360
so ähnlich ist wie Unicorn, der heißt bloß ein bisschen

01:49:36.360 --> 01:49:37.740
anders, der das dann auch kann.

01:49:39.980 --> 01:49:40.340
Aber

01:49:40.340 --> 01:49:42.260
genau, also das ist alles

01:49:42.260 --> 01:49:43.080
nicht mehr so einfach dann.

01:49:44.040 --> 01:49:47.900
Ja, aber jetzt habe ich schon wieder eine Menge gelernt,

01:49:48.020 --> 01:49:50.060
ich bin viel weiter gekommen. Was mir jetzt

01:49:50.060 --> 01:49:51.840
das Einzige, was mir noch fehlt tatsächlich, wäre jetzt das

01:49:51.840 --> 01:49:53.720
Indie-Web, was ich jetzt da irgendwie bauen wollte.

01:49:54.080 --> 01:49:56.540
Achso, Indie-Web-Geschichten, genau, dafür brauchst

01:49:56.540 --> 01:49:58.360
du, also wenn du eine eigene Domain hast, ist schon mal sehr gut,

01:49:58.540 --> 01:50:00.340
dann kannst du schon mal eine Menge machen

01:50:00.340 --> 01:50:02.460
und das auch

01:50:02.460 --> 01:50:03.700
und vor allen Dingen kannst du eine Menge nachrüsten.

01:50:04.480 --> 01:50:06.420
Ansonsten bei Django sieht es da momentan noch nicht so richtig

01:50:06.420 --> 01:50:07.380
doll aus, also

01:50:07.380 --> 01:50:10.640
da muss man noch ein bisschen was basteln.

01:50:11.180 --> 01:50:12.260
Ja, ich habe jetzt tatsächlich

01:50:12.260 --> 01:50:14.180
irgendwie geguckt, wir haben jetzt die ganze Zeit über Django geredet, aber du kannst

01:50:14.180 --> 01:50:16.400
einfach auch irgendwie jetzt ein Flasho und Pyramid einfach

01:50:16.400 --> 01:50:18.100
da nehmen, ist eigentlich relativ egal. Ja, da gibt es auch nichts.

01:50:18.100 --> 01:50:20.000
Aber dann gibt es halt immer die

01:50:20.000 --> 01:50:21.940
anderen Module, die man dann irgendwie sich herausfinden muss,

01:50:22.000 --> 01:50:23.600
welche das dann sind und das funktioniert aber dann quasi

01:50:23.600 --> 01:50:25.900
relativ ähnlich.

01:50:26.560 --> 01:50:28.080
Genau. Also Indie-Web-Geschichten

01:50:28.080 --> 01:50:30.180
ist momentan eher noch alles so in der PHP-Welt

01:50:30.180 --> 01:50:31.320
zu Hause.

01:50:31.740 --> 01:50:33.740
Ja, so ist es halt.

01:50:34.560 --> 01:50:35.820
Das heißt, ich muss dann einfach den

01:50:35.820 --> 01:50:38.000
Ketti auf ein PHP-Verzeichnis schicken?

01:50:39.400 --> 01:50:40.080
Wenn du jetzt...

01:50:41.860 --> 01:50:42.200
Nee,

01:50:42.360 --> 01:50:43.980
du könntest... Also ich weiß nicht,

01:50:44.060 --> 01:50:45.540
wie man das heutzutage so macht mit PHP.

01:50:46.380 --> 01:50:47.920
Ich hoffe, dass auch mal da die Zeiten,

01:50:48.140 --> 01:50:50.080
wo man da irgendwie so eine Web-Route

01:50:50.080 --> 01:50:51.960
hatte und da irgendwie PHP-Dateien,

01:50:52.000 --> 01:50:53.960
die dann irgendwie magisch ausgeführt werden über Mod.php

01:50:53.960 --> 01:50:55.900
oder so. Und Apache, ich hoffe ja mal,

01:50:55.960 --> 01:50:56.740
dass das nicht mehr so ist.

01:50:58.000 --> 01:50:59.720
Sondern dass man da auch das inzwischen so macht,

01:50:59.800 --> 01:51:01.540
dass man da halt irgendwie Caddy davor hat

01:51:01.540 --> 01:51:03.380
oder irgendwie Nginx und dann hast du halt

01:51:03.380 --> 01:51:05.620
Applikationsserver, die halt PHP...

01:51:05.620 --> 01:51:07.800
Aber im Worst Case könntest du sagen, dass ich neben dem Caddy

01:51:07.800 --> 01:51:09.840
dann einfach ein Apache mit einem Mod.php laufen

01:51:09.840 --> 01:51:11.660
habe und der dann Ansprüche hat auf den nächsten Port.

01:51:12.280 --> 01:51:13.700
Ja, könntest du ja natürlich auch machen.

01:51:13.780 --> 01:51:15.780
Du kannst ja einfach ein Caddy sagen, so das bitte

01:51:15.780 --> 01:51:17.720
diese Domain oder

01:51:17.720 --> 01:51:19.680
diese Subdomain oder was auch immer an den Apache

01:51:19.680 --> 01:51:21.960
weiterreichen geht natürlich auch und den in einen eigenen Container packen.

01:51:22.000 --> 01:51:23.880
Klar. Und dann für das Indie-Werb,

01:51:23.920 --> 01:51:25.620
was brauche ich denn da noch? Also eigentlich auch, sagen wir mal.

01:51:26.200 --> 01:51:27.580
Ja, kommt halt darauf an, was du machen möchtest.

01:51:27.660 --> 01:51:29.440
Aber da müssen wir noch mal, also weiß ich jetzt ehrlich gesagt,

01:51:29.540 --> 01:51:31.280
aber das ist nicht so genau. Okay, das machen wir dann noch mal

01:51:31.280 --> 01:51:33.260
von extern. Da haben wir ja schon mal ein bisschen kurz eingerichtet.

01:51:33.340 --> 01:51:35.840
Aber das könnt ihr euch bestimmt auch einlegen, da gibt es ja Dokus zu.

01:51:35.900 --> 01:51:37.260
Aber das geht alles mit dem selben Server.

01:51:37.960 --> 01:51:39.200
Also ja, GitLab haben wir gesagt,

01:51:39.280 --> 01:51:41.560
kannst du auch selber drauf bauen, wenn du deine eigene Versionskontrolle

01:51:41.560 --> 01:51:43.640
bauen willst, dann ein GitLab-Server.

01:51:43.860 --> 01:51:45.320
Das wird wahrscheinlich auch einfach ein

01:51:45.320 --> 01:51:46.860
Dienst sein, oder? Demon?

01:51:48.040 --> 01:51:48.520
Was ist das?

01:51:51.160 --> 01:51:54.740
Ja, das ist einfach auch wieder eine Webgeschichte.

01:51:55.280 --> 01:51:56.880
GitLab ist einfach auch nur so ein Webfrontend.

01:51:58.240 --> 01:52:00.160
Ruby und Rails ist halt, ich weiß nicht genau,

01:52:00.240 --> 01:52:01.660
wie aufwendig das zu hosten ist.

01:52:01.760 --> 01:52:02.800
Also irgendwann wird es dann natürlich schwerer.

01:52:03.200 --> 01:52:05.000
Also wenn du 10 Container hast oder 20,

01:52:05.100 --> 01:52:06.520
irgendwann wird es dann mit dem Hauptspeicher ein bisschen eng.

01:52:07.360 --> 01:52:08.000
Keine Ahnung.

01:52:08.480 --> 01:52:09.800
Brauchen wir möglicherweise auch eine eigene Datenbank?

01:52:11.000 --> 01:52:11.180
Ja.

01:52:12.860 --> 01:52:14.620
Also Datenbanken sollte man nicht so viele nehmen.

01:52:14.680 --> 01:52:16.300
Man sollte die meisten Sachen in dieselbe Datenbank packen,

01:52:16.360 --> 01:52:18.500
weil Datenbanken viel Dinge brauchen.

01:52:18.780 --> 01:52:18.880
Nein?

01:52:18.880 --> 01:52:20.420
Ich würde das tatsächlich so machen.

01:52:20.640 --> 01:52:22.400
Ganz viele kleine Container, ganz viele kleine Datenbanken.

01:52:22.460 --> 01:52:24.580
Nee, ich würde das nach Systemen auftrennen.

01:52:25.340 --> 01:52:25.900
Nach Projekten.

01:52:26.360 --> 01:52:29.000
Und dann immer einen eigenen Container

01:52:29.000 --> 01:52:30.900
für die Datenbanken machen und das nicht alles

01:52:30.900 --> 01:52:32.700
auf eine Datenbank packen, weil

01:52:32.700 --> 01:52:34.200
auch da wiederum, wenn du das halt irgendwie

01:52:34.200 --> 01:52:36.740
updatest oder so, du möchtest ja eigentlich, oder du bist halt

01:52:36.740 --> 01:52:38.620
dann, du begibst dich dann in das Gebiet.

01:52:39.360 --> 01:52:40.740
Du musst die Datenbank löschen für ein Projekt und dann

01:52:40.740 --> 01:52:41.480
sind alle Projekte blutsch.

01:52:41.720 --> 01:52:44.160
Du upgradest die Datenbank und dann sind alle Projekte down.

01:52:44.160 --> 01:52:45.040
Das willst du ja nicht eigentlich.

01:52:46.260 --> 01:52:48.080
Sondern du willst halt auch vielleicht mit

01:52:48.080 --> 01:52:50.040
einem Projekt auf einer bestimmten Datenbank-Version

01:52:50.040 --> 01:52:51.220
bleiben können und so.

01:52:51.820 --> 01:52:53.800
Und du willst halt die ganzen Systeme voneinander isolieren.

01:52:53.920 --> 01:52:56.160
Es ist natürlich effizienter, wenn du irgendwo einen Datenbank-Server

01:52:56.160 --> 01:52:58.080
hast, wo alle

01:52:58.080 --> 01:53:00.220
deine Datenbanken liegen. Wäre viel effizienter,

01:53:00.320 --> 01:53:01.820
aber ist halt viel schwerer,

01:53:01.960 --> 01:53:02.160
was die,

01:53:02.880 --> 01:53:05.520
was den Betrieb angeht.

01:53:06.020 --> 01:53:08.120
Das heißt, ich muss dann von meinem Web-Server auf den Datenbank-Server

01:53:08.120 --> 01:53:10.220
immer hin und her connecten oder sowas.

01:53:11.420 --> 01:53:12.240
Naja, es ist halt einfach,

01:53:12.300 --> 01:53:13.220
du musst dann

01:53:13.220 --> 01:53:15.880
plötzlich Dinge tun. Du musst dann

01:53:15.880 --> 01:53:17.520
irgendwie, da musst du Backups haben,

01:53:17.700 --> 01:53:19.760
musst du auch so haben, aber das kriegst du alles

01:53:19.760 --> 01:53:21.620
in deinem Projekt unter. Aber wenn du jetzt

01:53:21.620 --> 01:53:23.720
einen eigenen Datenbank-Server hast, dann ist das

01:53:23.720 --> 01:53:25.040
mit dem Backup immer alles nicht mehr so einfach.

01:53:27.640 --> 01:53:31.860
Also wenn du das machst, dann bist du halt schon im Profibereich

01:53:31.860 --> 01:53:33.200
irgendwie unterwegs, dann machst du sonst nichts mehr.

01:53:33.320 --> 01:53:35.600
Dann machst du genau das nur noch. Und die Frage ist,

01:53:36.300 --> 01:53:37.660
ja, für Hobbygeschichten lohnt sich das ja

01:53:37.660 --> 01:53:38.120
überhaupt gar nicht.

01:53:40.240 --> 01:53:41.620
Ja, dann sind wir wieder,

01:53:41.800 --> 01:53:43.420
ich glaube, den Kreis können wir jetzt schließen. Wir sind ja

01:53:43.420 --> 01:53:45.640
nämlich bei der Taiga angekommen, weil

01:53:45.640 --> 01:53:47.220
die möchte ich jetzt vielleicht auch noch laufen lassen. Ich hätte gerne

01:53:47.220 --> 01:53:49.080
ein paar Kanban-Boards irgendwie für mich persönlich, die ich dann

01:53:49.080 --> 01:53:51.140
selber hoste. Genau dasselbe, ich muss da wieder

01:53:51.140 --> 01:53:53.280
was hochfahren, was Routen über da in Keddy

01:53:53.280 --> 01:53:55.200
und Abdeckung laufen und läuft.

01:53:56.640 --> 01:53:57.280
Ja, super, also ja,

01:53:57.340 --> 01:53:59.380
wenn ich das irgendwie, ich bin gespannt, wie lange ich dafür brauche,

01:53:59.480 --> 01:54:01.080
bis das alles rennt. Ich gebe euch

01:54:01.080 --> 01:54:01.620
die Zeit. Ja, wenn,

01:54:03.120 --> 01:54:03.880
am Ball bleiben.

01:54:05.380 --> 01:54:07.060
Das ist auch, aber ich meine, wenn du,

01:54:07.200 --> 01:54:09.260
also ich höre, du willst eine ganze Menge Zeug betreiben,

01:54:09.900 --> 01:54:10.980
da brauchst du wahrscheinlich dann schon

01:54:10.980 --> 01:54:13.120
eher so eigene Hardware oder sagen wir so, dann wird es mit

01:54:13.120 --> 01:54:15.200
eigener Hardware deutlich günstiger, als wenn du

01:54:15.200 --> 01:54:15.940
jetzt da irgendwie

01:54:15.940 --> 01:54:17.960
eine virtuelle

01:54:17.960 --> 01:54:20.340
Container irgendwie dir mietest, der dick genug ist,

01:54:20.380 --> 01:54:22.440
dass du das alles damit machen kannst, das wird dann relativ schnell teuer.

01:54:23.020 --> 01:54:24.460
Ja, ja, also der RAM ist glaube ich das

01:54:24.460 --> 01:54:26.500
größte Problem. Ja, RAM ist irgendwie das, ja, würde ich auch

01:54:26.500 --> 01:54:27.940
sagen. Ja, ich habe noch so einen kleinen Eck,

01:54:28.020 --> 01:54:30.360
aber mit dem ist es auch irgendwie doof und

01:54:30.360 --> 01:54:32.460
ja, ich muss überlegen, was da irgendwie

01:54:32.460 --> 01:54:34.340
am besten in Frage kommt. Aber damit

01:54:34.340 --> 01:54:36.380
kannst du ja vielleicht starten, du kannst ja zu Hause anfangen.

01:54:36.460 --> 01:54:38.240
Ja, ja, der ist schon, der läuft schon eine ganze Weile, aber das

01:54:38.240 --> 01:54:39.820
macht keinen Spaß.

01:54:41.540 --> 01:54:42.300
Ja, aber ich muss ja

01:54:42.300 --> 01:54:44.380
immer so ein ganzes System bauen und so, aber ich möchte die ganze

01:54:44.380 --> 01:54:46.320
nachher dann einfach wieder umbauen können, dass das

01:54:46.320 --> 01:54:48.440
nicht jedes Mal dieser ganze Konfigurationsaufwand ist.

01:54:49.060 --> 01:54:50.420
Ich habe jetzt irgendwie im Fedora-Server dann irgendwie

01:54:50.420 --> 01:54:52.140
hingestellt, dass ich irgendwie einige Sachen auch konnte,

01:54:52.260 --> 01:54:54.420
der auch in den Postgres auch lief und irgendwie

01:54:54.420 --> 01:54:56.380
auch dann Dango konnte, aber dass das alles nicht so

01:54:56.380 --> 01:54:58.780
gewesen ist wollte.

01:54:58.860 --> 01:55:00.520
Aber wir haben jetzt auf jeden Fall, das finde ich total super,

01:55:00.580 --> 01:55:02.140
ich habe da keinen Candy, kein Redux und nichts

01:55:02.140 --> 01:55:04.320
da gebaut, das war mir bisher völlig unbekannt

01:55:04.320 --> 01:55:06.440
und ja, finde ich super, dass man das

01:55:06.440 --> 01:55:08.460
alles so machen kann. Also bis jetzt geht es ja immer nur

01:55:08.460 --> 01:55:10.340
so, Docker-Containers bauen, dann läuft das

01:55:10.340 --> 01:55:12.260
alles irgendwie magisch, aber wenn man nicht so wirklich versteht, was dann

01:55:12.260 --> 01:55:14.280
dahinter steckt, ist das nochmal

01:55:14.280 --> 01:55:16.140
mal eine ganz andere Hürde, glaube ich, auch zu verstehen, warum

01:55:16.140 --> 01:55:17.140
was gerade nicht geht oder so.

01:55:18.320 --> 01:55:20.240
Vielen Dank, dass du mir das alles wieder heute hier erklärt hast.

01:55:20.240 --> 01:55:22.160
Ja, ich meine, jetzt weiß ich nicht,

01:55:22.240 --> 01:55:24.160
ob das alles irgendwie klarer geworden ist oder nur noch

01:55:24.160 --> 01:55:26.160
viel verwirrender. Nein, nein, nein, das war richtig, richtig,

01:55:26.160 --> 01:55:28.160
richtig super. Eine große Erleuchtung

01:55:28.160 --> 01:55:29.860
und man kann sich das ja alles auch mal

01:55:29.860 --> 01:55:32.020
zurückspulen oder nochmal langsam abspulen.

01:55:32.860 --> 01:55:33.080
Ja.

01:55:33.760 --> 01:55:36.100
Ich fand's echt cool. Ja, also auf jeden Fall

01:55:36.100 --> 01:55:37.460
eine tolle Folge für mich mal heute hier.

01:55:37.920 --> 01:55:39.320
Ich mag die natürlich immer.

01:55:39.820 --> 01:55:41.000
Das ist ganz persönlich auch gut.

01:55:41.960 --> 01:55:43.480
Ja, und genau, also

01:55:43.480 --> 01:55:45.820
ja, also

01:55:45.820 --> 01:55:47.540
macht auch Spaß und

01:55:47.540 --> 01:55:49.820
ich denke, dass man zumindest, also

01:55:49.820 --> 01:55:51.780
wenn man so ein paar Anregungen

01:55:51.780 --> 01:55:53.620
hat, wie man selber eine

01:55:53.620 --> 01:55:55.080
Webseite irgendwie oder Django

01:55:55.080 --> 01:55:57.760
Python-Kram im Web betreiben

01:55:57.760 --> 01:55:59.260
kann und wenn man das eigentlich vielleicht

01:55:59.260 --> 01:56:01.740
heutzutage so macht, dann ist das ja auch schon mal nicht so

01:56:01.740 --> 01:56:03.640
schlecht, weil man muss eh viel recherchieren

01:56:03.640 --> 01:56:05.220
und bei Django würde ich sagen, irgendwie

01:56:05.220 --> 01:56:07.880
Buch kaufen, Cookie-Cutter-Template

01:56:07.880 --> 01:56:08.260
verwenden.

01:56:11.040 --> 01:56:11.800
Ja, also ich

01:56:11.800 --> 01:56:13.460
Ich lese jetzt gleich erstmal die Mail von Thorsten durch

01:56:13.460 --> 01:56:15.720
und freue mich, dass ihr heute alle wieder zugehört habt.

01:56:16.200 --> 01:56:16.800
Fand ich richtig super.

01:56:17.260 --> 01:56:18.300
Pics machen wir nicht.

01:56:18.380 --> 01:56:20.340
Ich habe ja sowieso auch keine...

01:56:20.340 --> 01:56:21.620
Ja, mit Pics der Woche habt ihr es ja heute Morgen.

01:56:21.900 --> 01:56:23.580
Habe ich schon verbrannt, wie gesagt, am Anfang.

01:56:24.840 --> 01:56:25.720
Machen wir dann diesmal nicht.

01:56:25.880 --> 01:56:26.540
Ja, das machen wir nächstes Mal.

01:56:26.740 --> 01:56:26.900
Gut.

01:56:27.080 --> 01:56:27.300
Okay.

01:56:27.820 --> 01:56:29.020
Ja, dann super, dass ihr wieder reingeschaltet habt.

01:56:29.100 --> 01:56:29.780
Bleibt uns gewogen.

01:56:29.960 --> 01:56:31.040
Immer dann, wann ihr auch hört,

01:56:31.140 --> 01:56:33.560
ob gerade die Sterne scheinen oder die Sonne brüht.

01:56:34.620 --> 01:56:35.200
Ja, wir hören uns.

01:56:35.260 --> 01:56:35.340
Jo.

01:56:35.880 --> 01:56:36.200
Bis später.

01:56:36.520 --> 01:56:37.000
Jo, tschüss.

01:56:37.020 --> 01:56:37.180
Tschüss.
