WEBVTT

00:00:00.000 --> 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:07.000 --> 00:00:13.620
Was machen wir heute? Heute machen wir ein bisschen Deployment für Anfänger.

00:00:13.620 --> 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:19.460 --> 00:00:24.820
Ja, ich bin der Dominik. Hallo. Jochen ist wieder da. Wir sind im Wintergarten.

00:00:24.820 --> 00:00:27.140
Sommergarten ist wieder viel zu heiß.

00:00:28.560 --> 00:00:36.460
Wir hoffen, euch geht es gut. Hört uns gerne zu. Schreibt uns gerne alles, was ihr wollt, alles, was ihr möchtet, an hallo.pythonpodcast.de.

00:00:36.460 --> 00:00:38.700
Ja, schöne Grüße.

00:00:38.700 --> 00:00:44.740
Ja, genau. Es haben auch tatsächlich Leute inzwischen so ein bisschen angefangen, die Kommentarfunktion zu benutzen.

00:00:44.740 --> 00:00:46.560
Da war ich ja irgendwie...

00:00:46.560 --> 00:00:52.200
Ja, unser Pocket-Cast-Chapter-Marsch funktioniert nicht so wirklich. Wir wollen irgendwann nochmal ein bisschen daran basteln, dass das dann mal geht.

00:00:52.200 --> 00:00:54.840
Ja, unter den Kommentaren müssen wir wahrscheinlich auch noch so ein bisschen was tun.

00:00:57.120 --> 00:01:02.700
Wäre es vielleicht nicht so schlecht, wenn man E-Mail-Benachrichtigungen kriegen könnte oder vielleicht zumindest ein Kommentar-Feed oder sowas.

00:01:02.700 --> 00:01:07.620
Muss ich mal gucken. Geht bestimmt. Habe ich mir schon mal auf die To-Do-Liste geschrieben.

00:01:07.620 --> 00:01:13.040
Aber es ist nicht nur sehr warm, es ist auch irgendwie sehr wenig Zeit momentan für alle möglichen Dinge.

00:01:13.040 --> 00:01:14.620
Ja, ja. Alles auf einmal.

00:01:14.620 --> 00:01:20.240
So ist das halt. Ja. Aber genau. So ein bisschen haben wir ja schon.

00:01:20.240 --> 00:01:23.320
Insofern brauchen wir uns nicht die ganze Zeit nur zu beschweren, sondern können auch ein bisschen was erzählen.

00:01:23.320 --> 00:01:26.780
Ja, diesmal röchere ich dich ja ganz viel mit lustigen Dingen.

00:01:27.120 --> 00:01:29.640
Wie man, wieso man, warum man den ganzen Unsinn überhaupt macht.

00:01:29.640 --> 00:01:32.600
Ja, ja. Ich finde, das ist ein interessantes Thema.

00:01:32.600 --> 00:01:41.900
Und naja, das ist ehrlich gesagt, ich meine, so Inspirationen aus anderen Podcasts, die ich so höre, zu nehmen, ist momentan auch so ziemlich das Einzige, wo ich Inspirationen hernehmen kann.

00:01:41.900 --> 00:01:54.260
Daher dachte ich, nehme ich mal irgendwie die Veröffentlichung von Jungle for Professionals von Will Vincent, die jetzt gerade irgendwie dieses Wochenende passiert ist, zum Anlass, da auch so ein bisschen was zuzusagen.

00:01:54.260 --> 00:01:56.900
Weil ich hatte so ein bisschen, ich habe es noch nicht komplett durchgelesen, aber ich habe so ein bisschen reingeschaut.

00:01:57.120 --> 00:02:01.100
Also, wie ihr merkt, wir sind direkt bei der nächsten Chapter-Mark-Szene.

00:02:01.100 --> 00:02:03.480
Ja, Moment, genau, Moment.

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

00:02:07.000 --> 00:02:16.380
Ja, so beim Durchblättern habe ich schon gedacht, okay, das sind genau die Sachen, mit denen ich auch schon irgendwie lange rumgeplagt habe.

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

00:02:19.180 --> 00:02:24.100
Und ja, das ist eine Menge Zeug.

00:02:24.100 --> 00:02:26.920
Also, wie betreibt man eigentlich überhaupt irgendwie so eine Webseite da draußen?

00:02:27.120 --> 00:02:30.100
Und was macht man da alles?

00:02:30.100 --> 00:02:36.940
Und gerade jetzt speziell irgendwie, was Jungle angeht, was muss man da alles tun?

00:02:36.940 --> 00:02:42.700
Und insofern, wenn einen das interessiert oder man das Problem irgendwie hat, dann kann ich dieses Buch auch durchaus empfehlen.

00:02:42.700 --> 00:02:48.260
Das ist eine sehr schöne Zusammenfassung von all den Dingen, die man da so beachten sollte.

00:02:48.260 --> 00:02:51.340
Ja, aber eben, genau.

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

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

00:02:54.940 --> 00:02:57.100
Dieser Teil, da wird dann immer gesagt so, naja.

00:02:57.120 --> 00:02:58.120
Ja, äh, äh, äh.

00:02:58.120 --> 00:03:00.060
Ähm, Hände wedeln.

00:03:00.060 --> 00:03:02.540
Das ist alles kompliziert.

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

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

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

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

00:03:07.420 --> 00:03:08.360
Ähm, ja.

00:03:08.360 --> 00:03:11.800
Und, ähm, genau.

00:03:11.800 --> 00:03:15.380
Das, äh, da kriegt man einen ganz guten Eindruck, was man da so tun kann.

00:03:15.380 --> 00:03:20.960
Und irgendwie, ja, ich fand immer, das ist ein Thema, was zu kurz kommt, aber was halt durchaus sehr wichtig ist, damit man irgendwas auf die Straße kriegt.

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

00:03:23.100 --> 00:03:27.100
Vor allen Dingen, weil, ja, wir müssen ja einfach mal alle Synergien nutzen, die wir kriegen können.

00:03:27.120 --> 00:03:30.120
Ich glaube, du wolltest ja auch irgendwie so eine Webseite haben oder so, ne?

00:03:30.120 --> 00:03:30.520
Ja, ja, genau.

00:03:30.520 --> 00:03:33.300
Ich wollte so einen Server mal selber auch irgendwie aufsetzen.

00:03:33.300 --> 00:03:35.400
Und, ähm, da brauche ich so ein bisschen Hilfe natürlich bei.

00:03:35.400 --> 00:03:37.660
Und gucken, was man mit Python alles machen kann.

00:03:37.660 --> 00:03:39.120
Und da löchere ich dich gleich ein bisschen mit.

00:03:39.120 --> 00:03:39.780
Ja.

00:03:39.780 --> 00:03:43.480
Ähm, haben wir noch irgendwelche News aus der Szene, die wir vielleicht dann noch hier reinbekommen?

00:03:43.480 --> 00:03:43.780
Oder?

00:03:43.780 --> 00:03:47.680
Ja, ich würde einfach mal die Sachen, die so, äh, passiert sind, einfach, äh, nach und nach.

00:03:47.680 --> 00:03:50.300
Was haben, was haben wir denn da noch so, äh, äh.

00:03:50.300 --> 00:03:51.720
Du hast noch so einen Postkast gehört am Wochenende.

00:03:51.720 --> 00:03:52.120
Data Engineering.

00:03:52.120 --> 00:03:54.000
Ähm.

00:03:54.000 --> 00:03:55.620
Da hast du irgendwas Spannendes zu erzählen.

00:03:55.620 --> 00:04:01.020
Da, ja, aber das weiß ich gar nicht, ob das jetzt so super in diese, dieses Format passt.

00:04:01.020 --> 00:04:06.380
Da ging es um, äh, eine Firma, die halt so, äh, ja, Label, Data Labeling macht.

00:04:06.380 --> 00:04:09.580
Also gut, ich mache ja auch viel Machine Learning Zeugs, äh, Data Science.

00:04:09.580 --> 00:04:12.780
Und, ähm, da, also, ich fand, ich fand das deswegen gut.

00:04:12.780 --> 00:04:17.540
Also, äh, weil, also, ich glaube, äh, wie hieß, ähm, wie hieß die Firma nochmal?

00:04:17.540 --> 00:04:19.720
Cloudworker oder so.

00:04:19.720 --> 00:04:25.520
Und der, äh, Chef von dem, äh, Gründer, hat da halt, äh, irgendwie auf dem Data Engineering Podcast da, äh,

00:04:25.620 --> 00:04:27.900
äh, äh, was zu erzählt.

00:04:27.900 --> 00:04:34.220
Und, ähm, äh, das, was er so beschrieben hat an, das sind die Probleme, die man normalerweise kriegt,

00:04:34.220 --> 00:04:40.160
wenn man, äh, irgendwie, äh, Firmen dabei helfen will, äh, irgendwas in die Richtung zu machen.

00:04:40.160 --> 00:04:43.880
Das kam mir schon alles sehr bekannt vor, weil das sind halt auch die Dinge, die, äh, ich immer beobachte,

00:04:43.880 --> 00:04:46.180
wenn ich da irgendwelche Projekte zu mache.

00:04:46.180 --> 00:04:48.820
Und, ähm, ja, das sind halt so, äh, eben.

00:04:48.820 --> 00:04:50.880
Wenn man, die meisten denken, das ist kein Problem.

00:04:50.880 --> 00:04:51.860
Woher kriegt man eigentlich die Daten?

00:04:51.860 --> 00:04:52.840
Dabei ist das ein Riesenproblem.

00:04:52.840 --> 00:04:55.600
Also, äh, das ist oft etwas, was nicht wirklich,

00:04:55.620 --> 00:05:00.120
äh, gelöst wird, äh, oder wo viel größere Schwierigkeiten dann tatsächlich, äh, lauern.

00:05:00.120 --> 00:05:00.660
Also, man soll was machen.

00:05:00.660 --> 00:05:02.900
Die Leute kennen jetzt nicht alle Machine Learning, aber die haben gar keine Daten, um das zu tun.

00:05:02.900 --> 00:05:05.580
Genau, oder denken, sie haben die Daten, kommen aber irgendwie nicht ran.

00:05:05.580 --> 00:05:07.780
Oder brauchen die Daten aber in einem anderen Format.

00:05:07.780 --> 00:05:10.300
Und dann gibt's irgendwelche Abteilungen, die sich da querstellen.

00:05:10.300 --> 00:05:11.340
Das ist immer furchtbar.

00:05:11.340 --> 00:05:12.360
Also, das ist immer ganz schrecklich.

00:05:12.360 --> 00:05:15.100
An die Daten ranzukommen, ist meistens ein großes Problem.

00:05:15.100 --> 00:05:20.740
Und, ähm, der war, der hatte auch so ein paar lustige Beispiele dafür, äh, wie momentan da, äh,

00:05:20.740 --> 00:05:24.280
also, auch wenn ich, äh, kuriose Ideen der Leute kommen, um Daten zu bekommen.

00:05:24.420 --> 00:05:28.020
Also, momentan ist es zum Beispiel, also, wenn man irgendwas mit Bilderkennung machen möchte oder so,

00:05:28.020 --> 00:05:30.080
braucht man halt auch oft viele, viele Daten.

00:05:30.080 --> 00:05:37.540
Und, äh, in, in Las Vegas scheint es wohl mittlerweile üblich zu sein, dass da, äh, wie die, äh, äh, wie, äh.

00:05:37.540 --> 00:05:38.900
Hotelzimmer werden gefilmt.

00:05:38.900 --> 00:05:44.800
Ja, ja, Hotelzimmer, oder man mietet auf Airbnb, äh, wie diverse, diverse Geschichten und bezahlt mehr oder weniger,

00:05:44.800 --> 00:05:46.680
oder gibt Leuten Goodies dafür, dass sie sich da reinstellen.

00:05:46.680 --> 00:05:52.760
Dann darf man Fotos von ihnen machen oder so, weil man ja irgendwie unterschiedliche Leute in unterschiedlichen Situationen haben muss, ne.

00:05:52.760 --> 00:05:54.400
Nicht, dass, äh, irgendwie das Modell dann nur lernt.

00:05:54.420 --> 00:05:58.620
Irgendwie den gleichen Raum wieder zu erkennen, das ist ja ja doof, deswegen braucht man unterschiedliche.

00:05:58.620 --> 00:05:59.920
Und es ist, es ist nicht so einfach.

00:05:59.920 --> 00:06:04.580
Und dann, äh, ist das natürlich auch relativ schnell, relativ teuer, wenn man die Daten versucht selber zu generieren.

00:06:04.580 --> 00:06:07.580
Oder man muss irgendwie mit Drohnen rumfliegen und Sachen fotografieren und so.

00:06:07.580 --> 00:06:09.200
Klingt ja nach großem Spaß.

00:06:09.200 --> 00:06:13.720
Äh, ja, es, es klingt nach großem Spaß, aber es ist auch so ein bisschen, das ist alles so wilder Westen momentan so ein bisschen.

00:06:13.720 --> 00:06:15.600
Was ja auch, ja.

00:06:15.600 --> 00:06:16.200
Hooray!

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

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

00:06:19.340 --> 00:06:19.980
Ja.

00:06:19.980 --> 00:06:22.220
Brown Coat Night.

00:06:22.220 --> 00:06:24.000
Ja, ähm.

00:06:24.000 --> 00:06:24.260
Äh.

00:06:24.420 --> 00:06:26.900
Genau, genau, das habe ich gehört, das fand ich, das fand ich ganz cool.

00:06:26.900 --> 00:06:31.060
Ähm, kann man sich mal anhören, ich werde das, einfach den Link dazu in die Show Notes packen.

00:06:31.060 --> 00:06:38.260
Das hat jetzt aber gar nicht so viel mit Python zu tun, sondern es war eher so, ja, wie kriege ich das eigentlich hin, wenn ich viele Daten zu annotieren habe und zu labeln.

00:06:38.260 --> 00:06:40.420
Äh, eher so Data Science Machine Learning Geschichten.

00:06:40.420 --> 00:06:44.660
Dann hat dir erst gleich was getwittert, ähm, zum nächsten Chat, glaube ich, war das.

00:06:44.660 --> 00:06:45.940
Äh, ja.

00:06:45.940 --> 00:06:47.100
Ah, äh, okay.

00:06:47.100 --> 00:06:50.380
Äh, genau, da ging es um, ähm.

00:06:50.380 --> 00:06:50.760
Fix.

00:06:50.760 --> 00:06:54.240
Äh, pre, äh.

00:06:54.420 --> 00:06:55.340
Pre-Talks, glaube ich.

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

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

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

00:06:58.460 --> 00:06:59.200
Ja, okay.

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

00:07:00.920 --> 00:07:02.140
Ah, nein, doch.

00:07:02.140 --> 00:07:03.740
Doch, ja, doch, genau, das ist es.

00:07:03.740 --> 00:07:23.080
Äh, und zwar ist das so ein, äh, Kon, Konferenz, ähm, ja, Organisations, äh, äh, Organisationssoftware, die halt, äh, irgendwie viele Leute verwenden, ist auch so eigentlich ganz cool Django-basiert, ähm, äh, das, die wurde auch verwendet, um, äh, zum Beispiel die Subscribe, diese Podcast-Konferenz, äh, zu.

00:07:23.080 --> 00:07:24.080
Ah, ja, da waren wir ja auch, ja.

00:07:24.420 --> 00:07:25.100
Auch waren, ja.

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

00:07:26.680 --> 00:07:35.020
Es wurde auch damit, äh, äh, organisiert und viele, äh, ja, Events im CCC-Umfeld, vor allen Dingen wohl auch das Camp, wird halt damit, ähm, damit geplant.

00:07:35.020 --> 00:07:40.200
Und, ähm, denen fehlt irgendwie, äh, ähm, ordentliches Ticketsystem.

00:07:40.200 --> 00:07:46.020
Ähm, und irgendwie, dass auch Pre-Talks irgendwie mit E-Mails ordentlich umgehen kann und so.

00:07:46.020 --> 00:07:54.280
Und deswegen hat auch Twitter mal gefragt, ob es da nicht Leute gibt, die sehr Lust hätten, sich mit, äh, zu beschäftigen oder vielleicht im Rahmen von einem Sprint auf dem Camp, äh.

00:07:54.420 --> 00:07:56.340
Irgendwie da was dran zu tun.

00:07:56.340 --> 00:08:05.700
Gerne auch, äh, Einsteiger, ne, weil man kann da sicherlich auch viel lernen und, äh, 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:05.700 --> 00:08:11.400
Also fand ich auf jeden Fall eine, äh, gute Idee und, ähm, das Ding wollte ich mir auch immer schon mal näher angucken.

00:08:11.400 --> 00:08:14.900
Äh, und, äh, ja, finde ich eine gute Gelegenheit.

00:08:14.900 --> 00:08:17.260
Äh, ich würde da auch hingehen, wenn ich auf dem Camp wäre.

00:08:17.260 --> 00:08:18.200
Ich weiß es aber nicht.

00:08:18.200 --> 00:08:19.300
Ich fürchte, ich werde nicht da sein.

00:08:19.300 --> 00:08:21.600
Ganz vielleicht doch, aber eher wahrscheinlich nicht.

00:08:21.600 --> 00:08:24.300
Daher, äh, wird das leider nicht funktionieren.

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

00:08:26.940 --> 00:08:29.540
Äh, das Camp ist irgendwie Ende August, also.

00:08:29.540 --> 00:08:31.480
Ich glaube, es ist alles ausverkauft worden, schon lange jetzt.

00:08:31.480 --> 00:08:32.480
Ja, ja, schon lange, genau.

00:08:32.480 --> 00:08:38.820
Ähm, äh, Moment, ich gucke mal gerade, das, äh, CC-Camp, wann ist denn das?

00:08:38.820 --> 00:08:44.940
Also irgendwie, äh, 20. bis 25.8., ja.

00:08:44.940 --> 00:08:46.400
Irgendwo in der Nähe von Berlin.

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

00:08:47.340 --> 00:08:52.760
Ja, ähm, also, äh, ist auf jeden Fall.

00:08:52.760 --> 00:08:54.400
Wenn da zufällig jemand hingeht oder so, dann ist das.

00:08:54.420 --> 00:08:58.440
Das ist sicher eine gute Gelegenheit, um sich mal intensiver mit Django, äh, beschäftigen zu können.

00:08:58.440 --> 00:09:03.400
Und auch was Sinnvolles damit zu tun, was ja auch nicht so, dafür gibt es ja auch gar nicht so wahnsinnig viele Gelegenheiten oft.

00:09:03.400 --> 00:09:06.300
Ähm, ja.

00:09:06.300 --> 00:09:17.320
Und, ach, da hat eine Überleitung, äh, die da vielleicht auch, äh, direkt Sinn macht, ist, ähm, äh, habe ich auch gehört in einem Podcast.

00:09:17.320 --> 00:09:21.460
Äh, ja, ich bin momentan viel auf Spielplätzen unterwegs und höre da Podcasten.

00:09:21.460 --> 00:09:22.960
Ja, ja, ja.

00:09:22.960 --> 00:09:24.300
Kinder toben.

00:09:24.420 --> 00:09:25.000
Ja, ja, ja.

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

00:09:26.800 --> 00:09:31.020
Ähm, äh, und zwar ging es da um, äh, Tiger.io.

00:09:31.020 --> 00:09:38.460
Äh, halt nicht so wie das, äh, wie das gefährlich raubt hier, sondern mehr so wie, äh, diese, äh, öde, äh, äh, weite Ödnis im Norden.

00:09:38.460 --> 00:09:39.720
Das Projektmenschmentool.

00:09:39.720 --> 00:09:41.220
Ja, das wollen wir doch später besprechen.

00:09:41.220 --> 00:09:50.060
Nee, aber das passt jetzt super, das, äh, äh, hier ran zu, äh, äh, pflanschen, weil das ist nämlich, könnte man super auch mit dem P-Talks, äh, eigentlich verbinden.

00:09:50.060 --> 00:09:53.320
Weil, äh, naja, da fehlt halt vielleicht so ein bisschen Ticketsystem.

00:09:53.500 --> 00:09:55.960
Und das Tiger hat das auch schon eingebaut.

00:09:55.960 --> 00:09:58.900
Und das hat irgendwie ein ziemlich cooles Ticketsystem eigentlich.

00:09:58.900 --> 00:10:03.400
Und das ist halt auch Django und das ist vor allen Dingen ein Django REST-Framework, äh, und hat eine super API.

00:10:03.400 --> 00:10:08.020
Das heißt, man kann das alles, äh, äh, toll auch, äh, irgendwie ansteuern ohne.

00:10:08.020 --> 00:10:09.860
Jetzt müssen wir nochmal kurz erklären, was denn Tiger jetzt überhaupt ist.

00:10:09.860 --> 00:10:13.440
Also Tiger ist ein Projektmenschmentool, wo man Boards bauen kann, Kanbans bauen kann.

00:10:13.440 --> 00:10:16.120
So ein bisschen wie Trello, wenn ihr das vielleicht kennt oder so.

00:10:16.120 --> 00:10:23.480
Wobei, ich würde sagen, also wenn, wenn man, äh, irgendwie, äh, Jira, äh, äh, herzliches Beileid.

00:10:23.500 --> 00:10:31.600
Wer das kennt, aber, äh, ich hab, war öfter mal, äh, in der, also das Missvergnügen, irgendwie da, mich mit, äh, beschäftigen zu müssen.

00:10:31.600 --> 00:10:33.780
Und das war immer, ist da immer meistens eher Schmerz.

00:10:33.780 --> 00:10:35.740
Das kann aber auch sein, dass es einfach, ich meine, es ist einfach viel Zeug.

00:10:35.740 --> 00:10:40.100
Und ich hab jetzt auch meistens nicht so viel Lust, mich wie ordentlich mit Projektmanagement-Software zu beschäftigen.

00:10:40.100 --> 00:10:44.660
Daher, vielleicht lag's auch einfach daran, dass ich da nie so wirklich durchschaut hab, wie das funktioniert.

00:10:44.660 --> 00:10:47.140
Und, äh, dann schnell was machen wollte.

00:10:47.140 --> 00:10:48.660
Und das ging dann halt nicht, weil's kompliziert ist.

00:10:48.660 --> 00:10:49.980
Und dann war ich irgendwie frustriert.

00:10:49.980 --> 00:10:50.580
Mag sein.

00:10:50.580 --> 00:10:52.580
Äh, vielleicht ist es auch einfach ein furchtbares Tool.

00:10:52.580 --> 00:10:52.940
Kann sein.

00:10:52.940 --> 00:10:53.460
Ähm.

00:10:54.320 --> 00:10:56.280
Aber, ähm.

00:10:56.280 --> 00:10:57.380
Also ich konnt's auch nie leiden.

00:10:57.380 --> 00:11:02.520
Ja, auf der, das haben wir so auf der komplexen Enterprise-Seite irgendwie, ähm, möglicherweise.

00:11:02.520 --> 00:11:03.500
Und dann irgendwie sowas wie Trello.

00:11:03.500 --> 00:11:07.220
Ja, und also die Mutterfirma von, äh, Jira ist, äh, Atlassian.

00:11:07.220 --> 00:11:10.460
Die auch mal so, ähm, na, wie hieß das, Bitbucket gemacht haben und so.

00:11:10.460 --> 00:11:14.380
Die sich jetzt aber eher so in die Projektmanagement-Software-Ecke begeben haben.

00:11:14.380 --> 00:11:15.980
Was wahrscheinlich ein schlauer Schlagzug war.

00:11:15.980 --> 00:11:19.720
Und, ähm, auf der anderen Seite Trello.

00:11:19.720 --> 00:11:22.800
Genau, äh, das eigentlich von den Leuten, die auch Stack Overflow gemacht haben.

00:11:23.220 --> 00:11:28.080
Irgendwie mal gegründet worden, aber verkauft worden an, äh, an Atlassian.

00:11:28.080 --> 00:11:30.840
Äh, aber das ist eher so eine leichtgewichtige Geschichte.

00:11:30.840 --> 00:11:33.200
Und gefällt mir, der Ansatz gefällt mir irgendwie besser.

00:11:33.200 --> 00:11:35.200
Aber auch wie man das bedient gefällt mir besser.

00:11:35.200 --> 00:11:37.920
Kann natürlich nicht so viel wie, wie Jira.

00:11:37.920 --> 00:11:48.440
Und, äh, das sind sozusagen vielleicht die beiden Pole, äh, die, äh, äh, so von super komplex Enterprise bis zu, äh, naja, relativ einfach und, äh, schlank und leicht zu bedienen.

00:11:48.440 --> 00:11:52.840
Äh, auf der anderen Seite, äh, dazwischen gibt es aber von Atlassian jetzt nix.

00:11:53.220 --> 00:12:01.260
Ähm, und, äh, da ist, glaub ich, oder da positioniert sich Taiga selber als, äh, ist ein bisschen, hat ein bisschen mehr Features als, als Trello.

00:12:01.260 --> 00:12:07.180
Aber ist nicht ganz so, äh, nicht ganz so kompliziert wie jetzt, äh, wie jetzt Jira.

00:12:07.180 --> 00:12:14.960
Aber, und es hat halt als, als Kernfeature halt ne, ne, ne API, sodass man quasi alles, man kann sogar mit der API mehr machen, als man jetzt mit dem Frontend machen könnte.

00:12:14.960 --> 00:12:22.580
Daher, ähm, ja, es gibt, es gibt irgendwie mobile Apps irgendwie, die man da verwenden kann, die jemand anders gebaut hat.

00:12:22.740 --> 00:12:25.280
Aber der gesehen hat, dass man die API verwenden kann, und dann hat er das einfach mal gebaut.

00:12:25.280 --> 00:12:28.980
Ja, also wir werden auch, äh, später noch erzählen, wie man sowas denn auf dem Server hostet.

00:12:28.980 --> 00:12:30.240
Das ist ja das, was wir damit tun.

00:12:30.240 --> 00:12:30.880
Genau.

00:12:30.880 --> 00:12:33.460
Wenn man das installieren wollte, es ist auch, es ist komplett, äh, freies Software.

00:12:33.460 --> 00:12:36.800
Das heißt, man kann das irgendwie lokal sich installieren und da betreiben.

00:12:36.800 --> 00:12:39.780
Das ist ja auch für viele Leute wahrscheinlich ganz wichtig, dass man das tun kann.

00:12:39.780 --> 00:12:43.400
Und man kann halt auch reingucken und, und schauen, wie die da so Sachen implementiert haben.

00:12:43.400 --> 00:12:45.520
Ich hab's ein bisschen reingeguckt und war, top, das ist eigentlich jetzt gut.

00:12:45.520 --> 00:12:50.160
Ja, man kann seinen eigenen Board bauen, seinen eigenen Trello-Board organisieren, kann man Boards auf seinem eigenen Server basteln.

00:12:50.160 --> 00:12:51.580
Und sowas hab ich auf jeden Fall vor.

00:12:52.740 --> 00:12:54.460
Ich bin schon ziemlich gespannt, wie das alles funktioniert.

00:12:54.460 --> 00:12:56.300
Ja, äh, genau, genau.

00:12:56.300 --> 00:12:59.820
Also, Scrum macht das Ding, oder man macht halt, kann halt auch, äh, irgendwie kann man damit machen.

00:12:59.820 --> 00:13:04.880
Äh, ja, und, ja, kann man sich ja mal anschauen, ist eigentlich ganz nett.

00:13:04.880 --> 00:13:09.300
Ähm, äh, genau.

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

00:13:11.140 --> 00:13:14.920
Ja, wir wollten eigentlich noch ganz kurz auf die Frage von Arnim eingehen, der uns eine E-Mail geschickt hatte.

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

00:13:16.520 --> 00:13:19.620
Ja, das war ein bisschen her tatsächlich, schon, ähm, Mai, glaub ich.

00:13:19.620 --> 00:13:22.720
Ähm, und, äh, ja, er wollte, äh,

00:13:22.740 --> 00:13:24.380
mehr über Error-Driven-Development hören.

00:13:24.380 --> 00:13:26.740
Und, ähm, ja, wir wollten eigentlich mal eine Folge zu Tests...

00:13:26.740 --> 00:13:28.520
Ja, das machen wir auf jeden Fall.

00:13:28.520 --> 00:13:28.900
...mal machen.

00:13:28.900 --> 00:13:30.800
Ähm, aber das wird noch ein bisschen dauern.

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

00:13:30.940 --> 00:13:34.720
Und deswegen so viel, ja, äh, was meinst du denn überhaupt damit, Arnim?

00:13:34.720 --> 00:13:35.780
Also, vielleicht nochmal irgendwie fragen.

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

00:13:38.900 --> 00:13:43.240
Ich dachte, ich wüsste, was das, was gemeint wäre, aber dann hab ich nochmal gegoogelt und dann dachte ich so, oh nee, ich weiß doch nicht.

00:13:43.240 --> 00:13:52.100
Weil, äh, also, ich glaub, das kam als Reaktion auf einen Pick aus einer Folge von Anfang Mai, wo wir erwähnt hatten, dass es MatMat oder, äh, gibt.

00:13:52.100 --> 00:13:58.260
Und das Ding, ähm, macht, äh, äh, sozusagen guckt halt, ob...

00:13:58.260 --> 00:14:04.780
Es war mehr so eine Geschichte, um zu schauen, ob deine Tests halbwegs abdecken, was dein Code so tut, indem es einfach deinen Code, äh, zufällig verändert.

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

00:14:06.380 --> 00:14:12.440
Und wenn, äh, dein Code zufällig verändert werden kann, ohne dass deine Tests brechen, dann weißt du halt, mh, okay, ja, ist ein Problem.

00:14:12.440 --> 00:14:16.000
Und, ähm, ja, sie nennen das Mutation Testing.

00:14:16.000 --> 00:14:20.000
Äh, äh, das ist eigentlich, eigentlich auch eine ganz nette Idee.

00:14:20.000 --> 00:14:22.000
Aber das würde ich jetzt Error-Driven...

00:14:22.100 --> 00:14:22.760
Error-Driven-Development, weiß ich nicht.

00:14:22.760 --> 00:14:28.740
Also, ich hab dann noch, also, äh, Leute benutzen den Begriff gerne als, äh, sozusagen Gegenbegriff zu Test-Driven-Development.

00:14:28.740 --> 00:14:37.240
Ja, sozusagen, also, beziehungsweise, äh, schreiben dann halt, dass, wenn du kein Test-Driven-Development machst, dann machst du halt Error-Driven-Development.

00:14:37.240 --> 00:14:41.380
Was, äh, vielleicht, wenn man sich das mal klar macht, also, natürlich ist das irgendwie schon so.

00:14:41.380 --> 00:14:46.680
Und, äh, wenn man sich das mal klar macht, dann, dann kann man sich auch vielleicht vorstellen, dass es nicht so eine super schlaue Idee ist.

00:14:46.680 --> 00:14:50.200
Sondern, dass man das vielleicht, äh, ja, dann gleich richtig machen kann.

00:14:50.200 --> 00:14:52.080
Wobei, naja, ich mein, ich würd auch dieses...

00:14:52.100 --> 00:14:59.880
Das Test-Driven-Development-Cool-Aid nicht, äh, irgendwie, äh, nicht einfach so schlucken, sondern da, äh...

00:14:59.880 --> 00:15:05.640
Also, man, man sollte Sachen vielleicht nicht so total übertreiben, äh, was die, was die Reinheit angeht, der Gedanken.

00:15:05.640 --> 00:15:11.280
Ähm, ich, ich probier auch oft lieber Dinge erstmal aus oder so, bevor ich dann Tests schreibe.

00:15:11.280 --> 00:15:15.180
Weil man, ja, man legt sich halt auch, was die Implementation angeht, ziemlich fest, wenn man Tests schreibt.

00:15:15.180 --> 00:15:20.280
Ähm, damit sollte man sich dann schon halbwegs sicher sein, was das Ding eigentlich machen soll, bevor man das tut.

00:15:20.280 --> 00:15:21.640
Aber, ja.

00:15:21.800 --> 00:15:37.120
Es ist auf jeden Fall, Testschreiben ist eine gute Idee und, ähm, äh, äh, sozusagen, ähm, sich nicht von den Fehlern, die User anreporten, äh, die quasi die Tests, äh, äh, äh, als Tests zu benutzen, ist wahrscheinlich eine ganz, ganz schlaue Idee.

00:15:37.120 --> 00:15:39.460
Äh, aber wie gesagt, ich weiß nicht genau, was gemeint war.

00:15:39.460 --> 00:15:40.360
Insofern nochmal nachfragen.

00:15:40.360 --> 00:15:40.620
Ja, ja.

00:15:40.620 --> 00:15:43.100
Wir machen auf jeden Fall noch eine, eine Folge zu, zu Testing.

00:15:43.100 --> 00:15:47.620
Äh, wir müssen uns nur noch jemanden finden, der, äh, irgendwie Lust hat, da mit uns drüber zu reden und so.

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

00:15:49.140 --> 00:15:49.440
Ja.

00:15:49.440 --> 00:15:51.140
Ja, ähm.

00:15:51.140 --> 00:15:51.740
Was noch mal.

00:15:51.800 --> 00:15:53.260
Ähm, es ist ja auch schon fast ein Monat her jetzt.

00:15:53.260 --> 00:15:54.240
Wir haben ja schon, äh, Juli.

00:15:54.240 --> 00:15:54.700
Ja, ja.

00:15:54.700 --> 00:15:57.260
Ähm, es gab eine Folge über Visual Studio Code und da auch über Tests.

00:15:57.260 --> 00:16:04.620
Da kam ich gerade drauf, glaube ich, ähm, die man mit Visual Studio Code machen kann und, ähm, das Debugging-System, äh, auf TalkPython2Me.

00:16:04.620 --> 00:16:06.100
Ja, ja, ja.

00:16:06.100 --> 00:16:12.440
Das, das war irgendwie der, glaube ich, der, der Produkt, Chef von den Produkt-Onern für Visual Studio Code irgendwie, der da interviewt wurde.

00:16:12.440 --> 00:16:14.940
Oder der hat eine Menge auch interessante Sachen, äh, erzählt.

00:16:14.940 --> 00:16:21.660
Ja, vor allen Dingen, dass Visual Studio Code halt auch irgendwie bei Python-Entwicklern so, äh, super populär ist.

00:16:21.800 --> 00:16:26.180
Irgendwie, was sie, womit sie gar nicht so gerechnet hätten am Anfang, aber das hat sich irgendwie so rausgestellt.

00:16:26.180 --> 00:16:27.760
Offenbar gab es da irgendwie so eine Marktlücke.

00:16:27.760 --> 00:16:32.140
Ja, äh, ich benutze ja jetzt auch schon eine Zeit lang Visual Studio Code.

00:16:32.140 --> 00:16:33.160
Äh, äh.

00:16:33.160 --> 00:16:33.980
Ja, ich kannte das noch.

00:16:33.980 --> 00:16:35.020
Ich, äh, hab, hast mich angesteckt.

00:16:35.020 --> 00:16:35.400
Ja.

00:16:35.400 --> 00:16:35.720
Ja.

00:16:35.720 --> 00:16:37.020
War eine gute Idee.

00:16:37.020 --> 00:16:38.880
Äh, ist tatsächlich auch ein Editorialisier.

00:16:38.880 --> 00:16:45.780
Ich meine, es ist so eine, viele Leute mögen ja dieses Elektronen, dieser, ist auch ein elektronenbasierter Editorial insofern.

00:16:45.780 --> 00:16:49.940
Ja, viele mögen das nicht so, aber es funktioniert ziemlich.

00:16:49.940 --> 00:16:51.660
Also, wenn ich das zum Beispiel vergleiche mit PyCharm.

00:16:51.800 --> 00:16:53.980
PyCharm verwende ich, habe ich auch irgendwie eine Zeit lang verwendet.

00:16:53.980 --> 00:17:00.220
Oder fand ich auch ab und zu immer noch, aber, äh, tatsächlich fühlt sich das irgendwie deutlich, äh.

00:17:00.220 --> 00:17:00.800
Softer an, ne?

00:17:00.800 --> 00:17:01.180
So smoother.

00:17:01.180 --> 00:17:03.320
Ja, irgendwie, äh, snappier.

00:17:03.320 --> 00:17:04.620
Ich weiß nicht, was kam da noch vor?

00:17:04.620 --> 00:17:06.860
Ja, es gibt da so ein paar Sachen, die funktionieren direkt, also irgendwie, ne?

00:17:06.860 --> 00:17:07.960
Es ist einfach viel schneller.

00:17:07.960 --> 00:17:09.220
Es fühlt sich schneller an.

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

00:17:10.860 --> 00:17:12.760
Die Sachen reagieren einfach viel.

00:17:12.760 --> 00:17:16.240
Also die Latenz, wenn man auf irgendwas drückt oder so, oder irgendeine Tastenkombination angibt,

00:17:16.240 --> 00:17:18.860
die Latenz, bis dann was passiert, ist deutlich schneller.

00:17:18.860 --> 00:17:20.980
Vielleicht hast du ja noch ein Rechner gekauft inzwischen.

00:17:20.980 --> 00:17:21.780
Ne, ne.

00:17:21.800 --> 00:17:24.920
Ne, äh, das, daran, daran liegt es nicht.

00:17:24.920 --> 00:17:29.300
Und, ähm, ja, das ist halt, äh, also, ja, weiß nicht, wie sie das, äh, ich weiß auch nicht,

00:17:29.300 --> 00:17:31.140
vielleicht macht auch PyCharm irgendwas falsch, keine Ahnung.

00:17:31.140 --> 00:17:31.940
Ja, das ist eigentlich cool.

00:17:31.940 --> 00:17:36.160
Also irgendwie, wenn man seinen Code damit verwalten will, irgendwie auf Git oder sonst irgendwo,

00:17:36.160 --> 00:17:36.860
das funktioniert super.

00:17:36.860 --> 00:17:38.300
Integration mit Azure ist toll.

00:17:38.300 --> 00:17:42.940
Man kann direkt automatisch CI, irgendwie CD machen und das alles pushen.

00:17:42.940 --> 00:17:46.820
Man kann Live-Sharing machen und dann gemeinsam am Code arbeiten, was auch ziemlich gut funktioniert.

00:17:46.820 --> 00:17:47.680
Ja, mit mehreren Cursor.

00:17:47.680 --> 00:17:51.180
Und Link und Multicursor und Übertragung.

00:17:51.180 --> 00:17:51.740
Ja.

00:17:51.800 --> 00:17:55.080
Im Terminal und mittlerweile, also in einem Nightly-Build war das doch nicht top.

00:17:55.080 --> 00:17:56.880
Das müsste mittlerweile sowieso schon im Stellbild sein,

00:17:56.880 --> 00:18:00.180
dass man jetzt auch über SSA einfach sich irgendwo auf eine Maschine legen kann

00:18:00.180 --> 00:18:02.320
und da im Verzeichnis entwickeln kann.

00:18:02.320 --> 00:18:03.680
Das ist auch ziemlich praktisch.

00:18:03.680 --> 00:18:06.060
Kannst du auch auf deine WSL-Maschine gehen oder auf den Raspberry

00:18:06.060 --> 00:18:09.840
oder auf eine andere Server, wenn du lustig bist, und direkt da editieren.

00:18:09.840 --> 00:18:12.120
Das ist ja auch oft ein Argument, was man hört, dass Leute sagen,

00:18:12.120 --> 00:18:16.780
ja, ich nutze halt VI oder Vim, weil da habe ich überall die gleiche Entwicklungsumgebung.

00:18:16.780 --> 00:18:20.280
Und, äh, ja, auch wenn ich mich auf irgendwelchen Produktionsmaschinen einlogge,

00:18:20.280 --> 00:18:21.440
kann ich da auch mal...

00:18:21.440 --> 00:18:24.580
Ähm, äh, meine Umgebung, so wie ich sie...

00:18:24.580 --> 00:18:27.000
Aber, genau, ist natürlich in gewisser Weise ein Argument,

00:18:27.000 --> 00:18:28.580
aber geht mit VS Code jetzt auch.

00:18:28.580 --> 00:18:30.820
Da braucht man gar nicht mehr unbedingt Vim für verwenden.

00:18:30.820 --> 00:18:31.480
Ja, ja.

00:18:31.480 --> 00:18:35.620
Also, falls noch jemand rausbekommen hat, wie man sowas wie FoxDot verwendet mit VS Code,

00:18:35.620 --> 00:18:36.660
das habe ich nämlich noch nicht hinbekommen,

00:18:36.660 --> 00:18:39.360
also das ist Live-Evaluation von Python-Code,

00:18:39.360 --> 00:18:40.920
da hätte ich noch Lust drauf.

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

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

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

00:18:46.080 --> 00:18:47.440
und dann spielt er direkt die eine Zeile,

00:18:47.440 --> 00:18:49.460
dann kann man Musik machen mit FoxDot verpeisen.

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

00:18:50.560 --> 00:18:51.080
Sonst muss ich es nämlich...

00:18:51.080 --> 00:18:51.940
Sonst muss ich es nämlich irgendwie dran basteln,

00:18:51.940 --> 00:18:53.800
aber, ja, so viel...

00:18:53.800 --> 00:18:53.920
Ja.

00:18:53.920 --> 00:18:55.920
Und wenig Zeit für so viele Projekte, ja.

00:18:55.920 --> 00:18:59.100
Du hattest irgendwas noch reingeschrieben,

00:18:59.100 --> 00:19:00.420
PySimple...

00:19:00.420 --> 00:19:01.380
PySimple GUI.

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

00:19:04.620 --> 00:19:05.680
die ist jetzt auch irgendwie vor,

00:19:05.680 --> 00:19:07.120
weiß nicht, wann das rausgekommen ist,

00:19:07.120 --> 00:19:08.020
vor ein, zwei Wochen oder so,

00:19:08.020 --> 00:19:09.780
die man ganz gut nutzen kann.

00:19:09.780 --> 00:19:13.840
Das ist ein Wrapper für Tkinter, TK,

00:19:13.840 --> 00:19:15.540
oder PyQ5.

00:19:15.540 --> 00:19:17.340
Kann man beides benutzen mit derselben Syntax.

00:19:17.340 --> 00:19:20.040
Man kann halt einfach angeben, welches der dann visualisieren soll

00:19:20.040 --> 00:19:20.720
und...

00:19:20.720 --> 00:19:23.020
Hat einen relativ einfachen GUI für die...

00:19:23.020 --> 00:19:24.640
Ja, PySimple ist ja nicht so besonders stark

00:19:24.640 --> 00:19:26.320
bei Nachverstandsprogrammierung

00:19:26.320 --> 00:19:28.280
und das kann man damit aber ganz gut

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

00:19:30.080 --> 00:19:33.120
Das lohnt sich vielleicht da auch mal kurz rauszuschauen.

00:19:33.120 --> 00:19:33.840
Wollen wir mal angucken.

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

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

00:19:37.860 --> 00:19:38.740
Ja, ja, der kommt jetzt wieder.

00:19:38.740 --> 00:19:41.220
Ja.

00:19:41.220 --> 00:19:46.080
Oh, ein Podcast,

00:19:46.080 --> 00:19:47.520
den ich auch noch gerne erwähnen würde,

00:19:47.520 --> 00:19:50.320
ist auch einer der letzten Django-Chat-Folgen,

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

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

00:19:54.600 --> 00:19:57.620
quasi so mit aus der Taufe gehoben haben.

00:19:57.620 --> 00:20:02.100
Ziemlich...

00:20:02.100 --> 00:20:03.720
Ist alles so mit...

00:20:03.720 --> 00:20:05.380
Audioqualität ist manchmal so ein bisschen...

00:20:05.380 --> 00:20:07.860
Aber ansonsten inhaltlich

00:20:07.860 --> 00:20:08.600
fand ich das sehr, sehr gut.

00:20:08.600 --> 00:20:11.600
Das war sehr, sehr spannend, was er da so alles erzählt hat.

00:20:11.600 --> 00:20:13.900
Also was die Geschichte von Django angeht,

00:20:13.900 --> 00:20:15.740
aber auch, was so die aktuellen Entwicklungen

00:20:15.740 --> 00:20:17.440
sind, was er für spannend hält.

00:20:17.440 --> 00:20:19.620
Und das halt gerade irgendwie...

00:20:20.360 --> 00:20:23.620
Ja, so momentan spielt...

00:20:23.620 --> 00:20:25.420
Async-Geschichten spielen da eine große Rolle.

00:20:25.420 --> 00:20:26.600
Die sind gerade sehr spannend.

00:20:26.600 --> 00:20:29.240
Oder sein Privat...

00:20:29.240 --> 00:20:30.960
Oder sein Pet-Projekt,

00:20:30.960 --> 00:20:33.060
was aber jetzt auch mittlerweile so groß geworden ist,

00:20:33.060 --> 00:20:34.080
dass...

00:20:34.080 --> 00:20:34.960
Pet oder Pet?

00:20:34.960 --> 00:20:37.560
Ja, ja, so ein Nebenprojekt halt.

00:20:37.560 --> 00:20:39.060
Aber es ist nicht mehr wirklich so neben...

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

00:20:41.940 --> 00:20:44.360
Nee, ja, also...

00:20:44.360 --> 00:20:46.780
Er hat da irgendwie

00:20:46.780 --> 00:20:48.700
irgendeine Fellowship gekriegt,

00:20:48.700 --> 00:20:50.320
ich weiß es nicht genau, wo er dann von irgendeiner

00:20:50.320 --> 00:20:52.600
Uni ein Jahr lang bezahlt wird dafür, das jetzt zu entwickeln.

00:20:52.600 --> 00:20:53.940
Das ist schon mal...

00:20:53.940 --> 00:20:56.800
Daher geht auch die Entwicklung da momentan relativ schnell voran.

00:20:56.800 --> 00:20:58.360
Das Projekt heißt Dataset.

00:20:58.360 --> 00:20:59.660
Ach so.

00:20:59.660 --> 00:21:02.480
Genau, das ist mir auch früher schon mal aufgefallen.

00:21:02.480 --> 00:21:04.180
Hätte ich bestimmt auch schon mal ein paar Mal erwähnt, oder so.

00:21:04.180 --> 00:21:05.920
Da hast du schon mal drüber gestolpert, ja.

00:21:05.920 --> 00:21:08.480
Ja, genau. Darüber können wir bestimmt

00:21:08.480 --> 00:21:10.800
auch nochmal eine eigene Sendung machen.

00:21:10.800 --> 00:21:12.460
Ich wollte mich damit auch noch intensiver

00:21:12.460 --> 00:21:14.260
beschäftigen. Das ist eigentlich eine sehr coole

00:21:14.260 --> 00:21:16.160
Idee, irgendwie, wie man

00:21:16.160 --> 00:21:18.740
mit einer

00:21:18.740 --> 00:21:20.120
SQLite-Datenbank halt

00:21:20.120 --> 00:21:22.180
Datensätze irgendwie

00:21:22.180 --> 00:21:24.160
verfügbar machen kann, öffentlich,

00:21:24.160 --> 00:21:26.320
ohne... Und zwar auf eine Art,

00:21:26.320 --> 00:21:28.800
wie man halt sehr, sehr gut das abfragen kann, aber ohne...

00:21:28.800 --> 00:21:30.160
Also man kann ja SQL-Statements einfach verwenden,

00:21:30.160 --> 00:21:32.020
und man kann auch so coole Sachen machen, wie

00:21:32.020 --> 00:21:34.480
JavaScript benutzen, um SQL-Statements

00:21:34.480 --> 00:21:36.440
zu erzeugen, die man da verwenden kann, um die Daten noch zu fragen.

00:21:36.440 --> 00:21:38.500
Voll gut. Und normalerweise

00:21:38.500 --> 00:21:39.660
ist das alles puri bär, weil

00:21:39.660 --> 00:21:42.180
schrecklich, schrecklich SQL-Injection droht und so,

00:21:42.180 --> 00:21:44.620
aber man kann

00:21:44.620 --> 00:21:44.980
SQL

00:21:44.980 --> 00:21:48.520
SQLite so starten,

00:21:48.520 --> 00:21:49.820
dass man sagt, irgendwie, ja,

00:21:49.920 --> 00:21:51.080
das ist dann Datenbank-Street-Only,

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

00:21:53.940 --> 00:21:55.220
Und

00:21:55.220 --> 00:21:58.100
da ist das, was man normalerweise nicht tun sollte, dann plötzlich

00:21:58.100 --> 00:21:58.960
alles erlaubt und cool.

00:21:58.960 --> 00:22:01.860
Das ist

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

00:22:04.260 --> 00:22:05.760
Es hat viele überraschende Wendungen,

00:22:05.760 --> 00:22:07.840
dieses Ding, wo man sich denkt, ach, cool, das geht,

00:22:07.840 --> 00:22:08.840
das kann man so machen.

00:22:08.840 --> 00:22:12.280
Die Datasette-Folge müssen wir uns ja nochmal aufschreiben, die steht nämlich gar nicht noch.

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

00:22:13.600 --> 00:22:15.560
mit drauf. Genau.

00:22:15.560 --> 00:22:17.900
Also diese Podcast-Improvisation

00:22:17.900 --> 00:22:19.720
kann ich Leuten durchaus, die sich für Django und

00:22:19.720 --> 00:22:21.540
so interessieren, uns herzlichen, ist ja

00:22:21.540 --> 00:22:22.620
sehr nett.

00:22:22.620 --> 00:22:25.600
Ja, ich würde sagen, jetzt haben wir aber die News halt durch und machen

00:22:25.600 --> 00:22:26.960
den nächsten Chapter, Marc, weil solange

00:22:26.960 --> 00:22:29.420
löchere ich dich jetzt damit, wie das denn jetzt überhaupt funktioniert

00:22:29.420 --> 00:22:31.160
mit dem Server. Und wir fangen wirklich von ganz

00:22:31.160 --> 00:22:33.500
Basis-Bodensatz an,

00:22:33.500 --> 00:22:35.560
also so gar keine Ahnung, wie macht ihr das und so

00:22:35.560 --> 00:22:37.540
und wo und, ja, ich möchte nämlich

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

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

00:22:40.680 --> 00:22:43.360
Und, ja, ich würde sagen, können wir

00:22:43.360 --> 00:22:44.880
starten jetzt mit unserem Hauptthema, ne, Server?

00:22:44.880 --> 00:22:47.300
Dann starten wir da mal. Server, die Plattform für Anfänger, ja.

00:22:47.300 --> 00:22:49.660
Erstmal Server,

00:22:49.660 --> 00:22:51.640
was ist denn das? Also irgendwo

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

00:22:53.640 --> 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.460 --> 00:22:59.560
Also, was mache ich denn da für einen Server?

00:22:59.560 --> 00:23:01.720
Nämlich irgendeinen Hosting-Anbieter,

00:23:01.720 --> 00:23:03.360
Cloud-dedizierten Server,

00:23:03.360 --> 00:23:05.860
virtuellen Server, warum und so?

00:23:05.860 --> 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:09.660 --> 00:23:11.620
Wie würdest du denn das irgendwie so...

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

00:23:13.600 --> 00:23:15.440
sollte, ist halt irgendwie eine Domain selber

00:23:15.440 --> 00:23:16.480
registrieren und

00:23:16.480 --> 00:23:18.520
was nicht so,

00:23:18.520 --> 00:23:19.500
also,

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

00:23:21.600 --> 00:23:23.620
Ja, ne, da gibt es ganz viele Anbieter.

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

00:23:25.400 --> 00:23:25.960
Domain. Ja.

00:23:25.960 --> 00:23:29.400
Es gibt ja diverse Anbieter, da muss man halt

00:23:29.400 --> 00:23:31.300
ein bisschen Geld bezahlen, das kostet gar nicht so viel pro Jahr

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

00:23:32.620 --> 00:23:34.660
Du hast gesagt, selber registrieren, also es gibt ja

00:23:34.660 --> 00:23:37.240
verschiedenste Server, Poster, die

00:23:37.240 --> 00:23:39.300
das alles mit einbieten. Ja, aber das ist

00:23:39.300 --> 00:23:41.100
vielleicht nicht so eine schlaue Idee, das zu machen, sondern

00:23:41.100 --> 00:23:42.640
besser... Aus welchem Grund?

00:23:42.640 --> 00:23:45.340
Weil man das ja ändern können will. Also, bei vielen

00:23:45.340 --> 00:23:47.060
kann man das auch ändern, das ist kein Problem, aber

00:23:47.060 --> 00:23:49.300
also,

00:23:49.540 --> 00:23:51.180
ich kenne das auch, dass viele, also so gerade,

00:23:51.180 --> 00:23:52.640
weiß ich nicht, eben diese

00:23:52.640 --> 00:23:53.900
ja,

00:23:53.900 --> 00:23:56.340
Welt, Wald und Wiesen

00:23:56.340 --> 00:23:59.380
da hat man dann oft irgendwie so ein

00:23:59.380 --> 00:24:01.400
Formular, wo man irgendwie die NS-Geschichten eingeben

00:24:01.400 --> 00:24:03.320
kann, aber dann halt die Sachen, die man

00:24:03.320 --> 00:24:05.340
braucht, also weiß ich nicht,

00:24:05.340 --> 00:24:07.300
irgendwelche, wie heißen

00:24:07.300 --> 00:24:09.560
diese Dinger, Verified Domain

00:24:09.560 --> 00:24:11.180
SPF Records oder

00:24:11.180 --> 00:24:13.500
also es gibt diverse Records, die man unter Umständen

00:24:13.500 --> 00:24:14.920
einstellen können möchte.

00:24:14.920 --> 00:24:15.840
Was ist ein Record?

00:24:15.840 --> 00:24:17.480
Oh Gott, oh Gott, oh Gott.

00:24:17.480 --> 00:24:19.480
Wie ist das Domain Name System?

00:24:19.480 --> 00:24:21.660
Also, das ist im Grunde eine verteilte

00:24:21.660 --> 00:24:23.680
Datenbank, die

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

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

00:24:28.540 --> 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.900
werden und umgekehrt.

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

00:24:37.120 --> 00:24:39.440
Nameserver irgendwie fragt, keine Ahnung, der einzige, der

00:24:39.440 --> 00:24:41.300
wahrscheinlich bekannt ist, irgendwie 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.280 --> 00:24:47.040
wenn man nicht alle seine Daten zu Google schicken möchte.

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

00:24:49.420 --> 00:24:51.280
dann wo, hinter welcher IP oder hinter

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

00:24:52.600 --> 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.300
Geschichte, dass man halt irgendwie

00:24:59.300 --> 00:25:01.280
das mal einfach von Hand mit

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

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

00:25:04.160 --> 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.040
irgendwie so einen Root-Nameserver, aber

00:25:17.040 --> 00:25:18.520
wenn man eine IP von dem hat,

00:25:19.360 --> 00:25:20.900
dann kann man den halt fragen, okay, was ist

00:25:20.900 --> 00:25:23.020
in der Nameserver, der zuständig ist für die .de-Zone?

00:25:23.020 --> 00:25:25.140
Der Root-Nameserver, das sind

00:25:25.140 --> 00:25:26.700
die großen Knotenpunkte.

00:25:26.700 --> 00:25:29.000
Kriege ich das irgendwie raus, wenn ich so einen Trace-Root

00:25:29.000 --> 00:25:30.100
mache, wo die irgendwie hängen?

00:25:30.100 --> 00:25:32.700
Ja, die sind weltweit verteilt. Da gibt es ein paar von

00:25:32.700 --> 00:25:34.720
rootservers.net, irgendwie

00:25:34.720 --> 00:25:36.820
a.rootservers.net oder ganz gerne ein paar.

00:25:36.820 --> 00:25:38.820
Ich weiß jetzt gar nicht mehr genau,

00:25:38.820 --> 00:25:40.900
alles schon altes Wissen, vielleicht ist es auch

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

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

00:25:45.140 --> 00:25:45.440
und

00:25:45.440 --> 00:25:48.460
normalerweise

00:25:48.460 --> 00:25:49.300
einige von denen sind halt

00:25:49.300 --> 00:25:51.000
einfach, die IP-Adressen sind halt eingebaut in

00:25:51.000 --> 00:25:51.580
diverse

00:25:51.580 --> 00:25:54.340
Resolver-Libraries, daher

00:25:54.340 --> 00:25:57.140
ja, 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.140
fragt man dann halt den entsprechenden Nameserver,

00:26:07.140 --> 00:26:08.520
also über

00:26:08.520 --> 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.040
zuständig Nameserver ist, also ich frage halt quasi den

00:26:19.240 --> 00:26:21.060
NS-Record

00:26:21.060 --> 00:26:23.040
für .de, den Root-Server und dann

00:26:23.040 --> 00:26:25.140
kriege ich halt irgendwie den Nameserver, der zuständig ist

00:26:25.140 --> 00:26:26.140
für die .de-Zone

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

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

00:26:30.320 --> 00:26:31.840
Hier

00:26:31.840 --> 00:26:33.880
D-NIC,

00:26:33.880 --> 00:26:36.180
irgendwo in Frankfurt stehen die, glaube ich

00:26:36.180 --> 00:26:37.900
und

00:26:37.900 --> 00:26:41.000
die haben dann das .de-Zone-File irgendwie

00:26:41.000 --> 00:26:43.140
drin und da steht

00:26:43.140 --> 00:26:45.060
dann halt drin, wer, also in dem File

00:26:45.060 --> 00:26:46.960
steht vor allen Dingen, stehen die NS-Records

00:26:46.960 --> 00:26:48.640
für alle .de-Domains,

00:26:48.640 --> 00:26:49.080
also

00:26:49.080 --> 00:26:50.880
wenn ich jetzt wissen will, wer ist,

00:26:50.880 --> 00:26:52.360
welcher Nameserver ist dann zuständig für

00:26:52.360 --> 00:26:54.840
pythonpodcast.de, dann hole ich mir

00:26:54.840 --> 00:26:57.080
den NS-Record für pythonpodcast

00:26:57.080 --> 00:26:58.700
in dem

00:26:58.700 --> 00:27:01.060
Nameserver, der für .de

00:27:01.060 --> 00:27:02.180
zuständig ist und dann

00:27:02.180 --> 00:27:04.760
genau, kriege ich das irgendwie zu.

00:27:04.760 --> 00:27:06.460
Und ich kann das auch irgendwie selber machen, dass ich

00:27:06.460 --> 00:27:08.480
sage so, hey, hier, ich heiße jetzt gerne

00:27:08.480 --> 00:27:11.000
Dominik

00:27:11.000 --> 00:27:12.780
mein Python-Com oder sowas, oder

00:27:12.780 --> 00:27:14.560
.de, wir wollen jetzt zu D-NIC und dann sage ich

00:27:14.560 --> 00:27:16.940
der D-NIC so, hey, hier, ich wäre jetzt gerne so,

00:27:16.940 --> 00:27:18.960
ist das noch frei und schicke das dann

00:27:18.960 --> 00:27:19.020
da?

00:27:19.020 --> 00:27:20.900
Ja, das geht nicht

00:27:20.900 --> 00:27:22.760
unbedingt so einfach. Das heißt, ich muss da

00:27:22.760 --> 00:27:24.440
einen Registrier, Registrar

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

00:27:26.680 --> 00:27:28.960
da ist man da vorbeigegangen beim D-NIC,

00:27:28.960 --> 00:27:30.280
hat da die Tür geklopft und gesagt, hallo,

00:27:30.280 --> 00:27:32.320
ich hätte da mal so gerne ein Domain.

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

00:27:34.200 --> 00:27:36.880
Ja, da kamen so viele

00:27:36.880 --> 00:27:37.980
Leute wahrscheinlich auf diese Idee, ja.

00:27:37.980 --> 00:27:40.920
Ja, das

00:27:40.920 --> 00:27:42.200
geht schon lange nicht mehr.

00:27:42.200 --> 00:27:44.860
Aber Gandhi macht das

00:27:44.860 --> 00:27:45.900
dann zum Beispiel, wenn ich jetzt bei dem Domain...

00:27:45.900 --> 00:27:48.660
Es gibt ganz viele unterschiedliche, also ich weiß gar nicht, ob es da

00:27:49.020 --> 00:27:51.020
ich weiß nicht, ob das, was ich da verwende, gut ist

00:27:51.020 --> 00:27:52.840
oder nicht, keine Ahnung. Es spielt auch

00:27:52.840 --> 00:27:54.740
keine große Rolle, weil es ist, die können alle

00:27:54.740 --> 00:27:55.880
irgendwie mehr oder weniger das Gleiche.

00:27:55.880 --> 00:27:58.940
Ja, aber was wichtig

00:27:58.940 --> 00:28:00.820
ist, dass man selber das registriert hat und selber

00:28:00.820 --> 00:28:01.760
dann sozusagen die

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

00:28:04.940 --> 00:28:06.440
kann, wenn man mag und so.

00:28:06.440 --> 00:28:08.420
Und das ist halt bei diesen, wenn man das beim Provider macht,

00:28:08.420 --> 00:28:10.780
oft ist es auch so, dass es geht,

00:28:10.780 --> 00:28:12.460
aber manchmal halt auch nicht und dann hat man ein Problem,

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

00:28:14.740 --> 00:28:16.440
Ja.

00:28:16.440 --> 00:28:18.580
Und ja, genau.

00:28:18.580 --> 00:28:18.900
Aber

00:28:18.900 --> 00:28:21.480
ja, das ist so das Erste, was man braucht.

00:28:21.480 --> 00:28:24.260
Einen eigenen Domain braucht man noch für viele andere Dinge.

00:28:24.260 --> 00:28:26.020
Wenn man Indie-Web machen will, braucht man auch einen eigenen Domain.

00:28:26.020 --> 00:28:28.140
Jetzt brauchen wir irgendwie so einen Computer, der irgendwie so läuft.

00:28:28.140 --> 00:28:30.060
Also die Frage ist, muss der schnell sein, muss der langsam sein?

00:28:30.060 --> 00:28:32.060
Was ist das denn? Also haben wir da tatsächlich

00:28:32.060 --> 00:28:34.180
einen eigenen Computer, der mit

00:28:34.180 --> 00:28:35.200
Kernfestweise...

00:28:35.200 --> 00:28:38.000
Ich war mit dem Auflösen noch nicht fertig.

00:28:38.000 --> 00:28:40.300
Also wenn man jetzt den NS-Rekord von

00:28:40.300 --> 00:28:42.080
einem Domain hat, das heißt noch nicht, dann muss man den

00:28:42.080 --> 00:28:43.980
Names aber noch fragen, was ist denn jetzt zum Beispiel der

00:28:43.980 --> 00:28:46.260
A-Rekord? Das ist halt das, was halt die IP einem

00:28:46.260 --> 00:28:46.920
gibt für

00:28:46.920 --> 00:28:48.780
eine bestimmte

00:28:48.780 --> 00:28:50.020
Domain.

00:28:50.020 --> 00:28:52.420
Es gibt dann auch andere. Es gibt MX-Rekords,

00:28:52.420 --> 00:28:56.460
die halt einem sagen, wo die...

00:28:56.460 --> 00:28:57.760
wer zuständig ist für Mail.

00:28:57.760 --> 00:28:59.540
Es gibt halt...

00:28:59.540 --> 00:29:00.760
Ja, es gibt ja eine ganze Menge Zeugs.

00:29:00.760 --> 00:29:03.540
Es gibt doch Text-Rekords und

00:29:03.540 --> 00:29:05.520
weißer Teufel. Und manche von denen werden auch

00:29:05.520 --> 00:29:07.460
missbraucht, um andere Sachen zu signalisieren. Aber wenn man

00:29:07.460 --> 00:29:09.500
solche Sachen machen möchte, wie...

00:29:09.500 --> 00:29:11.100
und man möchte Mail

00:29:11.100 --> 00:29:12.420
irgendwie von einem

00:29:12.420 --> 00:29:14.860
Drittanbieter machen lassen, weil man keinen Bock hat,

00:29:14.860 --> 00:29:15.820
das irgendwie alles selber

00:29:15.820 --> 00:29:18.760
aufzusetzen und zu maintainen, dann

00:29:18.760 --> 00:29:21.100
muss man da eine ganze

00:29:21.100 --> 00:29:22.740
Menge Records setzen und so.

00:29:22.740 --> 00:29:24.620
Oder auch für andere Geschichten,

00:29:24.620 --> 00:29:26.900
Services, die man da benutzen kann, damit halt sozusagen andere

00:29:26.900 --> 00:29:28.900
unter

00:29:28.900 --> 00:29:30.880
mehr oder weniger unter der Domain auftreten

00:29:30.880 --> 00:29:31.160
können.

00:29:31.160 --> 00:29:34.580
Das würde ich auf jeden Fall auch machen. Ich möchte ja gerne ganze

00:29:34.580 --> 00:29:36.840
Projekte unter unterschiedlichen Domains, die ich mir

00:29:36.840 --> 00:29:38.860
dann irgendwie buche, vielleicht auf einen größeren

00:29:38.860 --> 00:29:40.900
Server legen und die dann irgendwie da reinrouten.

00:29:40.900 --> 00:29:42.900
Ja, das ist immer ein anderes Problem,

00:29:42.900 --> 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:46.880 --> 00:29:48.760
Jedenfalls, also man muss nicht

00:29:48.760 --> 00:29:50.820
unbedingt 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:53.380 --> 00:29:56.640
Weil man hat auch direkt so mit Security

00:29:56.640 --> 00:29:58.700
Geschichten oft, dann gibt es

00:29:58.700 --> 00:30:00.820
so diese komischen DNS Amplification

00:30:00.820 --> 00:30:02.720
Angriffe und blöde

00:30:02.720 --> 00:30:04.680
Geschichten und so Zeugs, mit denen man zu tun

00:30:04.680 --> 00:30:04.940
kriegt.

00:30:04.940 --> 00:30:07.160
Ja, aber

00:30:07.160 --> 00:30:08.220
also

00:30:08.220 --> 00:30:10.220
man will das eigentlich, glaube ich, nicht unbedingt

00:30:10.220 --> 00:30:11.820
selber betreiben, wenn man da nicht Spaß dran hat.

00:30:11.820 --> 00:30:14.440
Aber trotzdem möchte man

00:30:14.440 --> 00:30:16.240
die Records bestimmen können, weil das

00:30:16.240 --> 00:30:18.260
für viele Services, die man sonst so benutzen

00:30:18.260 --> 00:30:19.280
möchte, halt auch wichtig ist.

00:30:19.280 --> 00:30:22.000
Ich glaube, damit sind wir aber mit DNS im Grunde durch.

00:30:22.000 --> 00:30:24.180
Ja, jetzt kommen wir endlich auf einen Server. Jetzt haben wir so einen Server, der hat

00:30:24.180 --> 00:30:25.960
dann irgendwie nur so eine IP und dann

00:30:25.960 --> 00:30:28.140
wissen wir noch gar nicht, dass wir nicht, aber...

00:30:28.140 --> 00:30:30.140
Nee, noch nicht. Wir haben nur das DNS

00:30:30.140 --> 00:30:32.240
unter Kontrolle. Wir können das jetzt auf eine beliebige IP zeigen

00:30:32.240 --> 00:30:32.760
lassen, sozusagen.

00:30:32.760 --> 00:30:36.120
Es gibt sogar so die DynDNS,

00:30:36.120 --> 00:30:38.160
das heißt, wir könnten sogar zu Hause einfach einen Rechner ans Netz

00:30:38.160 --> 00:30:38.860
hängen oder so.

00:30:38.860 --> 00:30:42.020
Ja, aber dann musst du dann Games aber

00:30:42.020 --> 00:30:43.540
selber betreiben, irgendwie, wahrscheinlich.

00:30:43.540 --> 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.040 --> 00:30:49.540
Ja, ja, klar. Es gibt auch in vielen

00:30:49.540 --> 00:30:52.160
Routern ist das eingebaut, zum Beispiel eine Fritzbox

00:30:52.160 --> 00:30:54.340
macht das. Dem kann man einfach

00:30:54.340 --> 00:30:56.140
sagen, so, das ist mein DynDNS-Anbieter

00:30:56.140 --> 00:30:58.000
und dann

00:30:58.000 --> 00:31:00.120
kriegt man halt immer eine entsprechende,

00:31:00.120 --> 00:31:01.240
dann macht die das automatisch.

00:31:01.240 --> 00:31:03.940
Wenn sich die IP-Adresse ändert, dann schickt die halt

00:31:03.940 --> 00:31:05.740
irgendwie ein Request dahin und sagt, okay,

00:31:05.740 --> 00:31:08.000
findest mich hier, hallo. Genau.

00:31:08.100 --> 00:31:10.080
Und dann kann man auch sein Kram zu Hause

00:31:10.080 --> 00:31:11.580
immer erreichen, ja.

00:31:11.580 --> 00:31:13.660
Wobei man da wahrscheinlich eigentlich eher

00:31:13.660 --> 00:31:15.520
sowas wie ein VPN verwenden will, aber

00:31:15.520 --> 00:31:17.900
DynDNS geht auch. Aber ist eigentlich

00:31:17.900 --> 00:31:19.680
heutzutage alles nicht mehr so richtig relevant, glaube ich.

00:31:19.680 --> 00:31:21.820
Ja,

00:31:21.820 --> 00:31:24.080
genau. Also wenn man DynDNS unter Kontrolle

00:31:24.080 --> 00:31:25.980
hat, 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.860
irgendwo, der unter der IP

00:31:29.860 --> 00:31:31.480
verfügbar ist, dann

00:31:31.480 --> 00:31:33.620
kann man sozusagen

00:31:33.620 --> 00:31:35.840
die Domänen darauf zeigen lassen.

00:31:35.840 --> 00:31:38.040
So, und jetzt ist die Frage, was für ein

00:31:38.040 --> 00:31:39.780
Rechner will ich denn da haben? Will ich irgendwie vom großen

00:31:39.780 --> 00:31:41.980
Rechenzentrum haben? Will ich einen bei mir zu Hause

00:31:41.980 --> 00:31:43.820
in die Ecke stellen? Möchte ich irgendwie so

00:31:43.820 --> 00:31:45.940
einen Cloud-Server mir mieten? Möchte ich so einen dedizierten

00:31:45.940 --> 00:31:47.560
Server haben? Das kann man ja skalieren von

00:31:47.560 --> 00:31:50.060
zwei bis, weiß nicht, wahrscheinlich 200, 2000

00:31:50.060 --> 00:31:52.060
Euro im Monat. Ja, das kommt auch an.

00:31:52.060 --> 00:31:53.900
Also, was man damit vorhat, für die

00:31:53.900 --> 00:31:54.620
meisten Leute wird

00:31:54.620 --> 00:31:57.820
irgendwie da weniger, wahrscheinlich eher

00:31:57.820 --> 00:31:59.820
mehr sein. Also, es wird wenig reichen, weil

00:31:59.820 --> 00:32:01.640
Ja, es gibt ja auch so

00:32:01.640 --> 00:32:04.040
WordPress-Hosting-Anbieter oder sowas.

00:32:04.040 --> 00:32:06.020
Da kann man wahrscheinlich nichts anderes machen, außer ein WordPress-

00:32:06.020 --> 00:32:07.880
Blog drauf.

00:32:07.980 --> 00:32:09.840
Der auch schon ziemlich viel kann, wenn man

00:32:09.840 --> 00:32:11.560
jetzt nicht so viele Besucher hat.

00:32:11.560 --> 00:32:13.800
Aber, ja, ist

00:32:13.800 --> 00:32:15.740
aber nicht das, was man wahrscheinlich haben will, wenn man

00:32:15.740 --> 00:32:17.260
jetzt Python macht oder so. Da möchte man das

00:32:17.260 --> 00:32:19.980
schon selber tun

00:32:19.980 --> 00:32:21.720
können. Also, es gibt auch eben

00:32:21.720 --> 00:32:23.840
für Python-Hosting nicht

00:32:23.840 --> 00:32:25.980
so viele Anbieter, die da

00:32:25.980 --> 00:32:28.160
Was ist denn jetzt Python-Hosting?

00:32:28.160 --> 00:32:29.380
Weil ich dachte, da läuft jetzt ein Computer.

00:32:29.380 --> 00:32:31.740
Genau, ja. Das ist halt, also bei

00:32:31.740 --> 00:32:33.480
WordPress ist halt klar, das ist halt die Software.

00:32:33.480 --> 00:32:35.980
Sowas gibt es natürlich für bestimmte

00:32:37.920 --> 00:32:40.040
Python-Geschichten

00:32:40.040 --> 00:32:41.820
auch. Also, es gibt zum Beispiel, muss ich

00:32:41.820 --> 00:32:43.880
jetzt nochmal nachgucken, habe ich letztens irgendwie gesehen, wenn man

00:32:43.880 --> 00:32:45.740
jetzt einfach nur ein CMS haben will unter der

00:32:45.740 --> 00:32:46.840
Domain, da gibt es da auch Anbieter.

00:32:46.840 --> 00:32:49.900
Diego, Diego, Diego, ich weiß

00:32:49.900 --> 00:32:50.780
es nicht mehr, muss ich mal nachgucken.

00:32:50.780 --> 00:32:53.420
Die bieten an, dass man irgendwie ein

00:32:53.420 --> 00:32:55.360
Wagtail-CMS oder halt

00:32:55.360 --> 00:32:57.740
ein Django-CMS

00:32:57.740 --> 00:32:59.280
bekommt, da

00:32:59.280 --> 00:33:01.520
gehostet und das ist dann so ähnlich wie

00:33:01.520 --> 00:33:03.560
WordPress-Hosting. Also, so. Okay, das läuft ja auch

00:33:03.560 --> 00:33:04.800
im virtuellen Container irgendwo.

00:33:04.800 --> 00:33:07.860
Nee, das, ja, das weiß ich

00:33:07.860 --> 00:33:09.820
nicht, ob die da ein extra

00:33:09.820 --> 00:33:10.660
Container pro

00:33:10.660 --> 00:33:13.800
Seite hochfahren. Ich denke

00:33:13.800 --> 00:33:15.020
nicht. Also, wenn man sich zum Beispiel, also,

00:33:15.020 --> 00:33:16.360
wenn man sich anguckt,

00:33:16.360 --> 00:33:19.740
was da die User sind, die man teilweise, wenn man in manchen

00:33:19.740 --> 00:33:21.740
Feldern versucht, irgendwas einzugeben, dann kommt da eine

00:33:21.740 --> 00:33:23.860
Liste der User hoch oder so. Da kommt

00:33:23.860 --> 00:33:25.760
ziemlich wildes Zeug hoch. Das heißt, ich gehe mal davon

00:33:25.760 --> 00:33:27.340
aus, dass es nicht irgendwie pro

00:33:27.340 --> 00:33:29.680
Domain oder so gekapselt, sondern das

00:33:29.680 --> 00:33:31.740
ist halt eine Datenbank, auf der alle sind. Und dann gibt es halt

00:33:31.740 --> 00:33:33.420
unterschiedliche Sites. Und

00:33:33.420 --> 00:33:35.900
das ist ja auch durchaus vernünftig unter Umständen.

00:33:35.900 --> 00:33:37.800
Also, du brauchst

00:33:37.800 --> 00:33:39.420
nicht unbedingt einen Container für

00:33:39.420 --> 00:33:41.260
eine eigene Seite. Da ist es

00:33:41.260 --> 00:33:43.780
gar nicht nötig. Ist ja bei

00:33:43.780 --> 00:33:45.420
WordPress-Geschichten wahrscheinlich auch nicht so.

00:33:45.420 --> 00:33:47.100
Und

00:33:47.100 --> 00:33:49.920
genau, das

00:33:49.920 --> 00:33:51.740
gibt durchaus da auch Anbieter, aber das sind viel weniger

00:33:51.740 --> 00:33:53.660
als jetzt im PHP-Umfeld oder WordPress oder so,

00:33:53.660 --> 00:33:55.540
wo es eine große Geschichte ist.

00:33:55.540 --> 00:33:57.860
Was eher

00:33:57.860 --> 00:33:59.960
eine Rolle spielt,

00:33:59.960 --> 00:34:01.860
wenn man jetzt Python-Applikationen irgendwo hosten

00:34:01.860 --> 00:34:03.600
will, ist halt sowas wie, also wenn man jetzt

00:34:03.600 --> 00:34:05.660
kommerzielle Anbieter, wir gehen einfach mal von

00:34:05.660 --> 00:34:07.660
einfach zu, es wird schwieriger oder komplizierter.

00:34:07.800 --> 00:34:09.920
Oder man kann mehr selber kontrollieren

00:34:09.920 --> 00:34:12.040
durch, wenn man

00:34:12.040 --> 00:34:14.820
so, sie heißen alle so Platform-as-a-Service-Anbieter

00:34:14.820 --> 00:34:16.800
sich anguckt.

00:34:16.800 --> 00:34:18.500
Also ganz oben wäre sowas wie eben,

00:34:18.500 --> 00:34:20.320
du kriegst halt irgendwie

00:34:20.320 --> 00:34:22.220
dein Backtail-CMS und hast dann halt

00:34:22.220 --> 00:34:23.580
ein fertiges CMS unter deiner Domain.

00:34:23.580 --> 00:34:24.920
Das wäre halt sozusagen alles

00:34:24.920 --> 00:34:28.080
Am besten noch mit Admin-Interface

00:34:28.080 --> 00:34:29.880
und unten. Genau, das wäre dann auch irgendwie so quasi,

00:34:29.880 --> 00:34:31.940
ich weiß gar nicht, ob das das wäre, das wäre wahrscheinlich Software-as-a-Service

00:34:31.940 --> 00:34:33.760
mehr oder weniger Modell. Dann

00:34:33.760 --> 00:34:35.880
Platform-as-a-Service ist, naja, du

00:34:35.880 --> 00:34:37.600
ähm

00:34:37.600 --> 00:34:37.760
ähm

00:34:37.760 --> 00:34:39.540
sagst nicht, du kriegst jetzt nicht eine fertige

00:34:39.540 --> 00:34:41.940
Webseite sozusagen, schlüsselfertig

00:34:41.940 --> 00:34:42.960
äh, sondern

00:34:42.960 --> 00:34:45.280
du kannst eine fertige Webseite, ja,

00:34:45.280 --> 00:34:47.260
sondern du kriegst halt irgendwie

00:34:47.260 --> 00:34:49.960
äh, du hast halt einen Account bei Heroku

00:34:49.960 --> 00:34:51.860
oder sowas, also Anbieter wären das sowas wie Heroku

00:34:51.860 --> 00:34:53.020
oder Python Anywhere oder so.

00:34:53.020 --> 00:34:55.700
Und ähm, da

00:34:55.700 --> 00:34:57.000
äh

00:34:57.000 --> 00:34:59.200
Ich vergleiche mich mit diesen Häusern unheimlich toll.

00:34:59.200 --> 00:35:01.360
Mit den Hochhaus-Hinz-Stellen und Gartenhütte, ne?

00:35:01.360 --> 00:35:03.920
Ja, also sag mal so,

00:35:03.920 --> 00:35:05.460
das ist halt, äh

00:35:05.460 --> 00:35:07.560
äh, im Grunde

00:35:07.560 --> 00:35:09.300
ja, da, da sind das dann oft wahrscheinlich

00:35:09.300 --> 00:35:11.400
Container, die da hochgefahren werden, äh, und

00:35:11.400 --> 00:35:13.380
du hast halt solche Dinge wie Datenbank, ist halt

00:35:13.380 --> 00:35:14.900
schon einfach irgendwie mal nicht da. Du wohnst in einem Hotel.

00:35:14.900 --> 00:35:16.920
Du musst wohnen, dann gehst du unten in die Lobby.

00:35:16.920 --> 00:35:18.600
Es ist quasi so eine Art Hotel, ja.

00:35:18.600 --> 00:35:21.440
Ich weiß nicht, ob diese Analogie trägt, also

00:35:21.440 --> 00:35:23.340
wenn, wenn Software-as-a-Service, also wenn

00:35:23.340 --> 00:35:25.180
die, wenn diese... Ich war konziersch, ich hätte gerne einen

00:35:25.180 --> 00:35:26.960
Kaffee. Ja,

00:35:26.960 --> 00:35:29.600
was wäre denn dann, was wäre denn das fertige,

00:35:29.600 --> 00:35:31.300
die fertige, das fertige WordPress, dass man

00:35:31.300 --> 00:35:32.320
sich nur noch einloggen braucht?

00:35:32.320 --> 00:35:35.120
Da ist der Pool schon vorgeheizt und

00:35:35.120 --> 00:35:35.640
äh,

00:35:35.640 --> 00:35:36.200
äh,

00:35:37.560 --> 00:35:40.460
ich würde sagen, das ist doch eigentlich eher das Hotel, oder?

00:35:40.460 --> 00:35:42.460
Wo man halt sich um nichts kümmern muss und das...

00:35:42.460 --> 00:35:44.140
Und Heroku ist die Ferienwohnung, wo du selber kochst.

00:35:44.140 --> 00:35:46.420
Ja, und Heroku ist so ein bisschen die,

00:35:46.420 --> 00:35:48.600
es ist eher so, äh,

00:35:48.600 --> 00:35:50.760
nicht mal das, es ist eher so

00:35:50.760 --> 00:35:51.980
der, äh,

00:35:51.980 --> 00:35:54.960
die, die, die Schuhkarton-

00:35:54.960 --> 00:35:56.780
Eigentumswohnung irgendwo, das ist halt der Container

00:35:56.780 --> 00:35:58.660
halt, oder es ist halt wie der Container auf dem Schiff, ja, wo man

00:35:58.660 --> 00:36:00.780
irgendwie die ganze Inneneinrichtung

00:36:00.780 --> 00:36:02.660
und so, das muss man halt selber machen, weil es ist halt nicht drin und

00:36:02.660 --> 00:36:04.660
das kann man auch komplett austauschen, das ist natürlich auch irgendwie

00:36:04.660 --> 00:36:06.580
ein Vorteil. Ja. Ähm,

00:36:06.580 --> 00:36:07.440
da kannst du halt sagen, okay,

00:36:07.520 --> 00:36:08.640
ich deploy da halt irgendwie

00:36:08.640 --> 00:36:10.640
ein Flask, äh, ja,

00:36:10.640 --> 00:36:13.480
Flask-Ding hin oder halt eben, äh,

00:36:13.480 --> 00:36:15.300
ein Django, äh, hin oder so.

00:36:15.300 --> 00:36:16.480
Ähm,

00:36:16.480 --> 00:36:19.620
äh, aber du bist da halt nicht festgelegt, ja,

00:36:19.620 --> 00:36:21.160
also auch nicht auf, äh, ja.

00:36:21.160 --> 00:36:23.380
Und, ähm,

00:36:23.380 --> 00:36:25.120
ja,

00:36:25.120 --> 00:36:26.920
äh, äh, aber

00:36:26.920 --> 00:36:29.460
diverse andere Geschichten werden dann schon abgenommen, ja,

00:36:29.460 --> 00:36:31.420
also man kümmert sich sozusagen nur noch um

00:36:31.420 --> 00:36:33.560
den Teil, der halt, wenn man alles selber machen würde,

00:36:33.560 --> 00:36:35.580
äh, im Applikations-

00:36:35.580 --> 00:36:37.480
Server, jetzt nenne ich das mal so, äh,

00:36:37.480 --> 00:36:39.420
äh, laufen würde, äh,

00:36:39.420 --> 00:36:41.420
um, um den Applikationsteil kümmert man sich, ja, aber

00:36:41.420 --> 00:36:43.480
sowas wie Datenbank, das macht man nicht selbst, da gibt's dann halt

00:36:43.480 --> 00:36:45.220
und es gibt auch endlos viele andere Plugins

00:36:45.220 --> 00:36:47.580
und Dinge, die man dazuklicken kann, äh,

00:36:47.580 --> 00:36:48.700
Suchmaschinen oder

00:36:48.700 --> 00:36:51.500
irgendwelche, irgendwelche anderen, äh, Sachen, die man halt

00:36:51.500 --> 00:36:53.600
auch verwenden kann und das muss man alles dann nicht selber machen

00:36:53.600 --> 00:36:55.440
bei, bei Heroku jetzt beispielsweise, sondern das

00:36:55.440 --> 00:36:57.580
ist halt dann einfach da. Ähm,

00:36:57.580 --> 00:36:59.340
und man kümmert sich nur um die

00:36:59.340 --> 00:37:01.720
Applikationen, die man dahin deployt und, äh,

00:37:01.720 --> 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:07.300
Modelle halt irgendwie, äh,

00:37:07.440 --> 00:37:09.680
ja, definiert und, äh, die werden dann halt auch

00:37:09.680 --> 00:37:11.580
in der, in der Postgres, äh, irgendwie

00:37:11.580 --> 00:37:13.660
eingelegt, aber man betreibt die Postgres-Datenbank nicht

00:37:13.660 --> 00:37:15.460
mehr selber, sondern das macht halt irgendwie, äh,

00:37:15.460 --> 00:37:18.020
macht entweder Heroku oder einer von den Drittanbietern,

00:37:18.020 --> 00:37:19.840
die halt ein Postgres-Plugin

00:37:19.840 --> 00:37:21.500
für Heroku anbieten, für einen.

00:37:21.500 --> 00:37:23.640
Was natürlich dazu führt, dass es

00:37:23.640 --> 00:37:25.320
wesentlich weniger, äh,

00:37:25.320 --> 00:37:26.980
aufwendig ist für einen Server.

00:37:26.980 --> 00:37:29.620
Ähm, aber man ist halt auch so

00:37:29.620 --> 00:37:31.160
ein bisschen eingeschränkt und, ähm,

00:37:31.160 --> 00:37:33.580
diese Geschichten führen halt oft dazu,

00:37:33.580 --> 00:37:35.660
also, äh, ich hab das tatsächlich mal

00:37:35.660 --> 00:37:37.400
versucht, weil ich hab versucht für, äh,

00:37:37.400 --> 00:37:39.660
äh, es ist ja auch sowas, ne, wenn man,

00:37:39.660 --> 00:37:41.540
wenn man... Das klingt nicht nach einem gelungenen

00:37:41.540 --> 00:37:43.480
Experiment. Ja, für Django, Django

00:37:43.480 --> 00:37:45.320
Cast jetzt diese, wollte ich einfach mal so,

00:37:45.320 --> 00:37:47.180
wie ist das denn, wenn man das jetzt auf Heroku mal deployen will,

00:37:47.180 --> 00:37:49.720
zum Testen, damit man es halt draußen irgendwo, äh,

00:37:49.720 --> 00:37:51.600
laufen hat, aber, äh,

00:37:51.600 --> 00:37:53.400
ähm, ja,

00:37:53.400 --> 00:37:55.440
man möchte jetzt nicht vielleicht irgendwie so ein Commitment,

00:37:55.440 --> 00:37:57.360
äh, eingehen, da jeden Monat Geld zu bezahlen

00:37:57.360 --> 00:37:59.440
oder so, das, oder hat halt dann auch keinen

00:37:59.440 --> 00:38:01.540
Root-Server irgendwo rumstehen, den man benutzen könnte.

00:38:01.540 --> 00:38:03.000
Darauf kommen wir irgendwie später wieder.

00:38:03.000 --> 00:38:05.540
Ja, dann, dann wäre es doch ganz praktisch,

00:38:05.540 --> 00:38:07.360
wenn man das einfach mal nach Heroku oder, oder so die

00:38:07.360 --> 00:38:08.920
pläut und dann mal guckt, wie das so funktioniert.

00:38:08.920 --> 00:38:11.460
Dachte ich, das wäre eigentlich ganz nett und zumal

00:38:11.460 --> 00:38:13.340
halt all diese Anbieter alle so freie

00:38:13.340 --> 00:38:15.400
Container anbieten, die also

00:38:15.400 --> 00:38:17.460
für Hobby-Benutzung oder so,

00:38:17.460 --> 00:38:19.400
die halt nichts kosten, äh, die dann auch

00:38:19.400 --> 00:38:21.280
bestimmte Anforderungen nicht erfüllen,

00:38:21.280 --> 00:38:23.520
beziehungsweise keine garantierte, äh, die sind beim ersten

00:38:23.520 --> 00:38:25.620
Laden oft langsam, weil das ist wahrscheinlich

00:38:25.620 --> 00:38:26.440
unten drunter irgendwie

00:38:26.440 --> 00:38:29.520
Docker-Container oder vielleicht benutzen die dann irgendwie

00:38:29.520 --> 00:38:31.480
Lambda-Funktionen

00:38:31.480 --> 00:38:33.060
bei AWS oder so, wer weiß.

00:38:33.060 --> 00:38:34.560
Ja, genau, das sagst du ja schon wieder.

00:38:34.560 --> 00:38:37.320
Äh, nein, nein, ich bin mir noch mal auf...

00:38:37.320 --> 00:38:39.180
Äh, äh, also

00:38:39.180 --> 00:38:41.080
da kann es sein, dass der Container erst gestartet wird, wenn man,

00:38:41.080 --> 00:38:43.160
wenn so ein Request reinkommt und dann ist das halt ein bisschen

00:38:43.160 --> 00:38:45.080
langsam und doof und, äh, aber

00:38:45.080 --> 00:38:47.020
es stört ja nicht, wenn man, äh,

00:38:47.020 --> 00:38:48.200
wenn man das eh nur so

00:38:48.200 --> 00:38:51.180
mal ausprobieren möchte, ne, und, ähm,

00:38:51.180 --> 00:38:53.500
ja, äh,

00:38:53.500 --> 00:38:55.320
und dann hab ich da, mich da gemacht,

00:38:55.320 --> 00:38:57.200
da so ein bisschen eine Anleitung für zu schreiben und dann

00:38:57.200 --> 00:38:58.960
ist mir relativ schnell aufgefallen, es ist,

00:38:58.960 --> 00:39:01.260
ist es nicht so einfach, äh, und ich war

00:39:01.260 --> 00:39:03.300
überrascht, wie, wie knifflig das ist und ich bin immer noch

00:39:03.300 --> 00:39:05.260
ein bisschen überrascht, äh, dass auch Heroku

00:39:05.260 --> 00:39:07.280
da, da keine gute Anleitung für hat, wie, wie macht

00:39:07.280 --> 00:39:09.060
man das eigentlich, so machen die nicht nur Python, die machen auch

00:39:09.060 --> 00:39:10.760
Ruby on Rails und, und, und auch

00:39:10.760 --> 00:39:12.320
Node.js und weiß der Teufel, aber

00:39:12.320 --> 00:39:15.140
trotzdem, es ist schon, äh, irgendwie, es war

00:39:15.140 --> 00:39:16.880
schwerer, als ich dachte und ich dachte mir so, ui,

00:39:16.880 --> 00:39:18.160
also, äh,

00:39:18.160 --> 00:39:21.020
hm. Ja, wenn der Jungen daran knabbert, dann

00:39:21.020 --> 00:39:23.580
weiß ich jetzt nicht, ob ich jetzt anfänge, unbedingt

00:39:23.580 --> 00:39:25.280
mich da so reinstürzen

00:39:25.280 --> 00:39:26.880
möchte. Also, ich meine, auch dieses Django for

00:39:26.880 --> 00:39:28.780
Professionals Buch kann man sich auch mal angucken, auch der,

00:39:28.780 --> 00:39:30.860
äh, obwohl Vincent meinte es schon so,

00:39:30.860 --> 00:39:33.120
das ist alles irgendwie immer, also die Sachen so hinzukriegen,

00:39:33.120 --> 00:39:34.900
dass sie dann tatsächlich funktionieren, so, ist oft

00:39:34.900 --> 00:39:37.240
schwerer, als man so denkt und es war echt

00:39:37.240 --> 00:39:38.980
nicht mal ganz einfach. Das Containerschiff ist vielleicht

00:39:38.980 --> 00:39:41.020
überladen und hat irgendwie halbe Schlagzeit, man weiß es

00:39:41.020 --> 00:39:42.960
nicht genau. Ja, also, aber es ist halt, also,

00:39:42.960 --> 00:39:45.060
ich fand jetzt überraschend, wie viel wenig

00:39:45.060 --> 00:39:47.100
einfacher das ist, als wenn man

00:39:47.100 --> 00:39:48.240
alles selber macht. Also, der Schritt von,

00:39:48.240 --> 00:39:50.920
also, ehrlich gesagt, ich find's, das mag

00:39:50.920 --> 00:39:52.500
daran liegen, dass ich das häufiger selber

00:39:52.500 --> 00:39:55.080
mache, äh, irgendwie, ich fand es einfacher,

00:39:55.080 --> 00:39:56.880
das selber zu machen, als bei Heroku

00:39:56.880 --> 00:39:58.960
und das, weil man stößt halt sofort

00:39:58.960 --> 00:40:00.780
auf so Probleme, gut, kann auch sein, dass mir das,

00:40:00.780 --> 00:40:02.820
vielleicht ist das vielen Leuten egal,

00:40:02.820 --> 00:40:05.020
aber ich denk mir halt so, naja, heutzutage, Webseite

00:40:05.020 --> 00:40:07.160
ohne SSL, das ist eigentlich eher kaputt. Also,

00:40:07.200 --> 00:40:09.220
es muss eigentlich, SSL muss irgendwie gehen

00:40:09.220 --> 00:40:11.040
und eigentlich ist das ja auch kein Problem mehr mit

00:40:11.040 --> 00:40:13.480
Let's Encrypt und so, aber

00:40:13.480 --> 00:40:15.200
für die Hobby-Seite

00:40:15.200 --> 00:40:17.060
bei Heroku, bei

00:40:17.060 --> 00:40:19.120
denen, ähm, funktioniert

00:40:19.120 --> 00:40:21.060
das nicht und das hat mich, es hat mir,

00:40:21.060 --> 00:40:23.080
es ist mir nicht leicht gefallen,

00:40:23.080 --> 00:40:25.140
rauszukriegen, dass es wirklich nicht funktioniert

00:40:25.140 --> 00:40:27.280
und ich musste da tief graben

00:40:27.280 --> 00:40:29.200
und ich bin in irgendwelchen Issues gelandet, wo dann

00:40:29.200 --> 00:40:31.200
einer von den Entwicklern bei Heroku dann irgendwie

00:40:31.200 --> 00:40:33.080
schon, puh, sollten wir vielleicht mal in die Dokumentation

00:40:33.080 --> 00:40:35.100
schreiben, dass das wirklich nicht geht. Also, auch mit

00:40:35.100 --> 00:40:37.160
diesem Weg geht das nicht und, äh,

00:40:37.160 --> 00:40:39.100
da dachte ich schon so, ja, solltet ihr vielleicht, weil

00:40:39.100 --> 00:40:40.720
irgendwie, ich hab jetzt grad da irgendwie ganz schön

00:40:40.720 --> 00:40:43.020
Zeit reingesteckt, das rauszukriegen,

00:40:43.020 --> 00:40:45.140
also, weil es sah so aus, als würde es vielleicht doch funktionieren, wenn man

00:40:45.140 --> 00:40:47.040
dann irgendwie die Zertifikat von Hand hochlädt oder so,

00:40:47.040 --> 00:40:49.040
nee, tut's nicht. Und dann hab ich mir erst

00:40:49.040 --> 00:40:50.940
da lokal irgendwie Z-Bot installiert

00:40:50.940 --> 00:40:53.120
und da irgendwie auch rumgeeiert und, ja,

00:40:53.120 --> 00:40:54.580
aber es ging dann alles am Schluss nicht.

00:40:54.580 --> 00:40:56.900
Also, SSL hatte TPS,

00:40:56.900 --> 00:40:58.520
Heroku nur, wenn man zahlt, sonst geht's nicht.

00:40:58.520 --> 00:41:00.320
Und, ähm,

00:41:00.320 --> 00:41:03.420
ja, äh, auch die, ähm,

00:41:03.420 --> 00:41:05.220
wenn man jetzt irgendwie

00:41:05.220 --> 00:41:07.000
ein CDN verwendet oder so,

00:41:07.120 --> 00:41:09.080
äh, Content Delivery Network, ja, da müssen wir auch noch mal

00:41:09.080 --> 00:41:11.160
rechnen. Ja, da kommt alles noch dazu.

00:41:11.160 --> 00:41:13.240
Ist alles... Anfängerfreundliche

00:41:13.240 --> 00:41:15.140
Folge, Jochen. Ja, ist alles nicht so

00:41:15.140 --> 00:41:17.080
einfach. Auf jeden Fall, man, also, ich meine, man

00:41:17.080 --> 00:41:19.080
kann sich das ja 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, äh, dann kriegt man auch

00:41:23.120 --> 00:41:25.140
mit Heroku wahrscheinlich schon halbwegs

00:41:25.140 --> 00:41:26.800
schnell da irgendwie zum Ziel, ob

00:41:26.800 --> 00:41:29.100
ein anderes Alternativ ist, gibt, glaub ich, noch

00:41:29.100 --> 00:41:31.200
ein paar. Ähm,

00:41:31.200 --> 00:41:32.960
und das kann man auf jeden Fall auch verwenden.

00:41:32.960 --> 00:41:35.100
Also, man hat auf jeden Fall diesen ganzen

00:41:35.100 --> 00:41:37.080
operativen Kram von der Backe, was natürlich auch schon

00:41:37.080 --> 00:41:38.980
mal ein großer Vorteil ist. Also, man muss sich nicht dafür,

00:41:38.980 --> 00:41:40.940
äh, also, man muss sich nicht,

00:41:40.940 --> 00:41:43.380
äh, ähm, selber dafür interessieren,

00:41:43.380 --> 00:41:45.180
wie das Zeug jetzt, äh, ob das oben ist

00:41:45.180 --> 00:41:46.560
oder nicht. Also, das macht halt,

00:41:46.560 --> 00:41:49.160
äh, jemand für einen und

00:41:49.160 --> 00:41:50.180
das ist ja auch schon mal nicht so schlecht.

00:41:50.180 --> 00:41:53.060
Ähm, ja,

00:41:53.060 --> 00:41:55.060
äh, das wäre sozusagen eine

00:41:55.060 --> 00:41:56.800
Zwischenschicht zwischen irgendwie

00:41:56.800 --> 00:41:59.100
alles ist fertig und... Hört sich nicht so an, als würde ich

00:41:59.100 --> 00:42:01.120
das machen wollen, ehrlich gesagt. Doch, also, ich kann mir

00:42:01.120 --> 00:42:03.040
durchaus vorstellen, dass es gute Gründe gibt, das zu

00:42:03.040 --> 00:42:05.040
machen. Äh... Nee, für mich nicht.

00:42:05.040 --> 00:42:05.720
Ja.

00:42:07.040 --> 00:42:09.620
Nach der Geduld, wo wir sind ausgeschlossen, ja.

00:42:09.620 --> 00:42:11.900
Für dich jetzt nicht, aber, äh, ich denke schon,

00:42:11.900 --> 00:42:13.760
dass es für mich, aber, oder es gibt, was

00:42:13.760 --> 00:42:15.740
auch oft eine Falle ist, dann, wenn, wenn, wenn

00:42:15.740 --> 00:42:17.520
Startups irgendwie anfangen mit sowas, dass sie dann

00:42:17.520 --> 00:42:20.000
irgendwann doch viele Datenbank, äh,

00:42:20.000 --> 00:42:21.780
äh, Queries machen und da sind auch, äh,

00:42:21.780 --> 00:42:23.860
das, das ist, eine ganze Menge ist irgendwie frei.

00:42:23.860 --> 00:42:25.840
Aber wenn man dann

00:42:25.840 --> 00:42:27.780
aus diesem Bereich, wo das frei ist, irgendwie

00:42:27.780 --> 00:42:29.740
rauskommt, dann wird es sehr, sehr schnell brutal

00:42:29.740 --> 00:42:31.700
teuer. Und, äh,

00:42:31.700 --> 00:42:33.720
das ist auch so etwas, was man vielleicht nicht, nicht unbedingt

00:42:33.720 --> 00:42:35.800
haben will. Aber das Problem ist, wenn man dann gerade wächst

00:42:35.800 --> 00:42:37.000
oder so, dann kann man nicht mehr so schnell

00:42:37.000 --> 00:42:38.920
irgendwie... Und die Infrastruktur komplett umfassen.

00:42:38.920 --> 00:42:41.240
Ja, ja, und dann gibt man halt ein...

00:42:41.240 --> 00:42:43.260
Vermögen. Dann gibt man Arm und Bein an

00:42:43.260 --> 00:42:45.320
diese Anbieter. Tja.

00:42:45.320 --> 00:42:47.220
Was ja irgendwie so dein Geschäftsmodell ist.

00:42:47.220 --> 00:42:49.260
Ist auch nicht verwerflich, finde ich. Ist okay, aber man sollte

00:42:49.260 --> 00:42:51.280
sich halt bewusst sein, dass man da eventuell ein Problem bekommen kann.

00:42:51.280 --> 00:42:52.320
Ähm,

00:42:52.320 --> 00:42:55.200
ja, also das ist eine, eine Möglichkeit, die man halt

00:42:55.200 --> 00:42:57.220
auch machen muss. Ja, jetzt müssen wir aber noch mal ganz

00:42:57.220 --> 00:42:59.280
kurz, bevor wir das alles wieder vergessen haben, kurz eingehen

00:42:59.280 --> 00:43:01.200
darauf. Quantitative Network, du musst auf dem

00:43:01.200 --> 00:43:03.080
Geschirr auch schon noch mal kurz erklären. Und, äh, AWS

00:43:03.080 --> 00:43:05.180
Lambda-Funktion. Ja, also, also wenn wir jetzt

00:43:05.180 --> 00:43:06.960
bei, wir sind jetzt bei, also, so sagen

00:43:06.960 --> 00:43:09.080
wir jetzt der Grund der Software-as-a-Service, Plattform-as-a-Service.

00:43:09.080 --> 00:43:11.060
So, jetzt wären wir quasi das Nächste,

00:43:11.060 --> 00:43:13.000
was nicht mehr, das, wo man ein bisschen mehr

00:43:13.000 --> 00:43:15.300
Freiheit hat, aber, äh,

00:43:15.300 --> 00:43:17.040
ähm, sozusagen immer noch,

00:43:17.040 --> 00:43:19.120
äh, nicht so viel selber machen muss,

00:43:19.120 --> 00:43:21.220
wäre dann Infrastructure-as-a-Service.

00:43:21.220 --> 00:43:22.420
Also das wäre dann halt sowas wie,

00:43:22.420 --> 00:43:25.000
ähm, ja,

00:43:25.000 --> 00:43:26.600
Amazon EC2.

00:43:26.600 --> 00:43:27.760
Ähm,

00:43:27.760 --> 00:43:29.480
DigitalOcean.

00:43:29.480 --> 00:43:32.940
Also da, äh, bekommt

00:43:32.940 --> 00:43:34.980
man im Grunde, äh, ja,

00:43:34.980 --> 00:43:36.920
einen Container, auf dem irgendein Linux

00:43:36.920 --> 00:43:38.960
oder so läuft, wo man sich einloggen kann als, als

00:43:38.960 --> 00:43:41.100
Root per SSH. Und dann

00:43:41.100 --> 00:43:42.860
ist man auf sich alleine gestellt. Da muss man, man,

00:43:42.860 --> 00:43:44.840
den Rest macht man dann halt selber. Ähm,

00:43:44.840 --> 00:43:46.600
das hört sich gar nicht so schlecht an.

00:43:46.600 --> 00:43:48.880
Ja, das hört sich gar nicht so schlecht an. Das ist auch, glaube ich, eine ganz,

00:43:48.880 --> 00:43:50.420
äh, ganz nette

00:43:50.420 --> 00:43:52.500
Geschichte. Welches Linux nimm ich denn da?

00:43:52.500 --> 00:43:54.120
Fedora, Ubuntu, Debian?

00:43:54.120 --> 00:43:56.800
Spielt im Grunde keine große Rolle,

00:43:56.800 --> 00:43:59.400
würde ich jetzt mal so sagen. Also, äh,

00:43:59.400 --> 00:44:00.700
äh, ich,

00:44:00.700 --> 00:44:02.840
vielleicht. Gibt es kein System, das besonders gut Python

00:44:02.840 --> 00:44:04.880
unterstützt oder so? Nee. Nee, das

00:44:04.880 --> 00:44:06.880
System Python kann man in keinem von den Fällen verwenden.

00:44:06.880 --> 00:44:08.540
Da, ja. Das ist egal.

00:44:08.540 --> 00:44:11.020
Muss man eh immer neu installieren. Oder selber installieren.

00:44:11.020 --> 00:44:12.240
Ähm.

00:44:12.240 --> 00:44:14.820
Hat Fedora jetzt nicht drei standardmäßig alles schon

00:44:14.820 --> 00:44:16.420
drin? Ja, trotzdem, nee.

00:44:16.420 --> 00:44:18.880
Wie wäre das? Barry Warsaw hat

00:44:18.880 --> 00:44:20.220
das mal auch auf Twitter geschrieben, so,

00:44:20.220 --> 00:44:22.940
First rule of Python is you don't use system, don't use

00:44:22.940 --> 00:44:23.540
system Python.

00:44:23.540 --> 00:44:25.880
Du musst ja immer dein eigenes Python installieren.

00:44:25.880 --> 00:44:28.600
Das ist kein Spaß. Ähm,

00:44:28.600 --> 00:44:31.140
ja, also, äh,

00:44:31.140 --> 00:44:32.380
genau, also insofern würde ich sagen,

00:44:32.380 --> 00:44:34.620
also der einzige Unterschied, den ich noch sehen würde, der

00:44:34.620 --> 00:44:36.840
relevant ist, ist einmal, welches Paket

00:44:36.840 --> 00:44:38.740
Management System einem irgendwie besser oder

00:44:38.740 --> 00:44:40.660
schlechter gefällt und, ähm,

00:44:40.660 --> 00:44:42.140
ob man System D mag oder nicht.

00:44:42.140 --> 00:44:44.800
Weil, äh, genau, wenn man das

00:44:44.800 --> 00:44:46.620
mag, dann kann man das ja benutzen und da gibt's halt

00:44:46.620 --> 00:44:48.600
Unterschiede, je nachdem, welche Distribution man verwendet.

00:44:48.600 --> 00:44:50.800
Also System D, du brauchst dann sowas wie Logging

00:44:50.800 --> 00:44:52.260
ab oder sowas, das mag man vielleicht nicht, oder?

00:44:52.260 --> 00:44:54.740
Ja, aber auch vor allen Dingen sowas wie, wie, wie sorgt

00:44:54.740 --> 00:44:56.940
man eigentlich dafür, dass der Kram, den man, äh,

00:44:56.940 --> 00:44:58.620
laufen haben möchte, eigentlich läuft und

00:44:58.620 --> 00:45:01.080
am Laufen bleibt und so. Das, ähm,

00:45:01.080 --> 00:45:02.660
ja, äh, kann man über

00:45:02.660 --> 00:45:04.420
System D auch machen. Ähm,

00:45:04.420 --> 00:45:06.720
kann auch irgendwas anderes nehmen. Äh,

00:45:06.720 --> 00:45:08.880
ich nehm öfter Super-Wise-D,

00:45:08.880 --> 00:45:10.840
äh, aber es ist auch,

00:45:10.840 --> 00:45:12.080
im Grunde ist das nicht alter.

00:45:12.080 --> 00:45:14.400
Was war ja, äh, Init, äh, was, äh,

00:45:14.400 --> 00:45:16.520
F, Init, System 5?

00:45:16.520 --> 00:45:18.760
System 5, ich weiß nicht genau, Init-Files,

00:45:18.760 --> 00:45:20.740
äh, es gibt da auch andere Konzepte,

00:45:20.740 --> 00:45:22.680
wie man, ja, also System D hat schon

00:45:22.680 --> 00:45:24.660
nette Konzepte, aber es ist halt auch,

00:45:24.660 --> 00:45:26.880
es hat da so manchmal so...

00:45:26.880 --> 00:45:28.860
Vielleicht hat da irgendwie eine ganz spannende, äh,

00:45:28.860 --> 00:45:31.060
Folge dazu nochmal gehört, irgendwann, äh,

00:45:31.060 --> 00:45:33.500
die fahren irgendeinem Chaos-Radio-Express

00:45:33.500 --> 00:45:34.720
mit einem von den Developern da,

00:45:34.720 --> 00:45:36.380
irgendwie, das war schon ein bisschen... Ja,

00:45:36.600 --> 00:45:37.960
äh, na, wer ist da noch?

00:45:37.960 --> 00:45:40.740
Äh, ja, Namensgerechtes,

00:45:40.740 --> 00:45:41.800
keine Ahnung. Ja, genau.

00:45:41.800 --> 00:45:43.720
Äh, ja.

00:45:43.720 --> 00:45:46.300
Okay, also völlig egal, welches System, also ich hau mir dann

00:45:46.300 --> 00:45:48.180
Fedora und Ubuntu drauf, zum Beispiel, weil ich

00:45:48.180 --> 00:45:49.800
das so ein bisschen schon kenne oder so,

00:45:49.800 --> 00:45:52.280
dann irgendwie, dann mit den Repos schon ein bisschen weiß,

00:45:52.280 --> 00:45:53.700
wo ich meine Pakete finde und dann

00:45:53.700 --> 00:45:56.020
ist der To oder warum sollte ich das tun?

00:45:56.020 --> 00:45:58.280
Warum nicht direkt einen eigenen Server? Also...

00:45:58.280 --> 00:45:59.960
Ja, genau, weil halt auch da dir das natürlich

00:45:59.960 --> 00:46:01.980
abgenommen wird, dass du dafür sorgen musst,

00:46:01.980 --> 00:46:04.160
äh, dass das Ding ordentlich läuft oder so.

00:46:04.160 --> 00:46:05.640
Ähm,

00:46:06.480 --> 00:46:07.620
du...

00:46:07.620 --> 00:46:09.960
Ja, du musst dich um viele Dinge nicht kümmern,

00:46:09.960 --> 00:46:11.020
die du sonst tun müsstest.

00:46:11.020 --> 00:46:13.740
Ähm, und, ähm...

00:46:13.740 --> 00:46:16.020
Ja, dieses ganze, also,

00:46:16.020 --> 00:46:18.660
alles, was mit irgendwie Netzwerk zu tun hat...

00:46:18.660 --> 00:46:20.580
Steckereien stecken, Strom... Genau, dass das Ding

00:46:20.580 --> 00:46:22.600
immer oben bleibt, äh, irgendwie Betriebssystem-Updates,

00:46:22.600 --> 00:46:24.560
weiß ich gar nicht, noch nicht stimmt, das muss man wahrscheinlich noch selber machen.

00:46:24.560 --> 00:46:26.780
Ja, genau, ich meine, Managed Server, glaube ich,

00:46:26.780 --> 00:46:28.440
heißt das oder sowas? Ja, das will man alles,

00:46:28.440 --> 00:46:30.320
wahrscheinlich eher nicht, aber, äh, genau.

00:46:30.320 --> 00:46:32.240
Ja,

00:46:32.240 --> 00:46:34.640
aber man muss sich, also schon um

00:46:34.640 --> 00:46:36.360
wesentliche Teile der Infrastruktur jetzt bei

00:46:36.360 --> 00:46:38.520
so einer Geschichte nicht kümmern. Also, im Grunde ist

00:46:38.520 --> 00:46:40.460
halt der Container wie der andere, und

00:46:40.460 --> 00:46:42.960
das funktioniert einfach so, ne, und dann...

00:46:42.960 --> 00:46:44.480
Also, das ist schon, das ist schon auch nett,

00:46:44.480 --> 00:46:46.240
aber man zahlt natürlich auch einen Preis,

00:46:46.240 --> 00:46:48.680
das ist halt schon teurer, als wenn man jetzt, äh...

00:46:48.680 --> 00:46:50.620
Und dann, es gibt nochmal so superbillig, äh,

00:46:50.620 --> 00:46:52.840
äh, superbillige, äh,

00:46:52.840 --> 00:46:54.500
äh, Geschichten auch immer, also die,

00:46:54.500 --> 00:46:56.380
ich glaube, die kleinsten Container,

00:46:56.380 --> 00:46:58.400
wenn die durchlaufen sollen, die kosten dann irgendwie

00:46:58.400 --> 00:47:00.240
ein paar

00:47:00.240 --> 00:47:02.600
10 Euro im Monat oder sowas, ich weiß es nicht genau.

00:47:02.600 --> 00:47:04.340
Äh, aber es gibt auch so

00:47:04.340 --> 00:47:06.180
Dinge wie bei Amazon Light Sale, heißt das,

00:47:06.240 --> 00:47:07.320
glaube ich, irgendwie, wo man dann für

00:47:07.320 --> 00:47:09.980
wenige Euro im Monat so ein Ding,

00:47:09.980 --> 00:47:12.220
einen Container kriegt, und bei, äh,

00:47:12.220 --> 00:47:13.560
DigitalOcean gibt es das auch, also,

00:47:13.560 --> 00:47:16.420
und selbst bei sowas wie, äh,

00:47:16.420 --> 00:47:18.060
so ein Husabee-Hetzner, also kriegt man irgendwie

00:47:18.060 --> 00:47:20.440
einen Container, der, der durchläuft,

00:47:20.440 --> 00:47:21.440
ähm, für

00:47:21.440 --> 00:47:24.120
2,50 Euro oder 3 Euro oder so wenig

00:47:24.120 --> 00:47:26.400
Geld im Monat, und hat dann ein richtiges

00:47:26.400 --> 00:47:28.220
Linux mit, wo man sich als Root einloggen

00:47:28.220 --> 00:47:29.640
kann, ist schon natürlich ganz nett.

00:47:29.640 --> 00:47:31.300
Und das will man wahrscheinlich sogar auch tun.

00:47:31.300 --> 00:47:34.080
Ja, äh, hängt dann davon ab, dass man dann, wenn man

00:47:34.080 --> 00:47:36.120
jetzt eine fette Datenbank braucht, dann geht das halt wahrscheinlich nicht mehr,

00:47:36.120 --> 00:47:38.260
dann braucht man halt Hauptspeicher, und den hat man

00:47:38.260 --> 00:47:39.820
leider nicht. Aber, äh,

00:47:39.820 --> 00:47:42.360
ja, so, so eine feste Installation...

00:47:42.360 --> 00:47:43.920
Aber wann braucht man denn eine fette Datenbank?

00:47:43.920 --> 00:47:45.900
Also, so, jetzt als, äh, Datenmensch

00:47:45.900 --> 00:47:47.780
muss ja wissen, ab wie viel Traffic man da so irgendwie...

00:47:47.780 --> 00:47:49.800
Nee, das hat mit dem Traffic gar nicht so viel zu tun, sondern eher

00:47:49.800 --> 00:47:51.380
viel damit zu tun, wie viel Daten es sind.

00:47:51.380 --> 00:47:53.740
Weil du willst, dass dein, äh,

00:47:53.740 --> 00:47:56.020
Working Set im Hauptspeicher ist. Und das heißt,

00:47:56.020 --> 00:47:58.400
wenn du halt irgendwie ein paar Gigabyte, äh,

00:47:58.400 --> 00:48:00.240
Daten hast, dann willst du halt ein paar Gigabyte

00:48:00.240 --> 00:48:02.160
Hauptspeicher haben, mindestens mal. Ja, so oft wie zu viel.

00:48:02.160 --> 00:48:04.240
Oder so. Also ungefähr doppelt so groß

00:48:04.240 --> 00:48:06.000
wie mein Dataset sollte der Hauptspeicher dann sein.

00:48:06.000 --> 00:48:08.020
Ja, also, später geht das dann irgendwann

00:48:08.020 --> 00:48:09.740
nicht mehr, aber, äh, ja,

00:48:09.740 --> 00:48:11.580
sollte schon da reinpassen.

00:48:11.580 --> 00:48:13.660
Ähm,

00:48:13.660 --> 00:48:15.980
und das, äh, die haben alle

00:48:15.980 --> 00:48:17.960
wenig Hauptspeicher natürlich, weil die teilen sich, die sind halt

00:48:17.960 --> 00:48:19.840
auf großen Maschinen meistens, aber es sind viele

00:48:19.840 --> 00:48:21.840
kleine Container, und dann muss halt irgendwie,

00:48:21.840 --> 00:48:23.920
wenn die alle vier Hauptspeicher verbrauchen, ist

00:48:23.920 --> 00:48:25.060
halt natürlich irgendwie der Hauptspeicher weg.

00:48:25.060 --> 00:48:28.080
Wie kompliziert wäre es denn jetzt da,

00:48:28.080 --> 00:48:29.760
weiß nicht, wenn man jetzt mehrere kleine

00:48:29.760 --> 00:48:31.440
Services auf so einem Ding laufen lässt,

00:48:31.440 --> 00:48:32.700
einen von denen umzuziehen?

00:48:32.700 --> 00:48:35.600
Auf eine größere Maschine.

00:48:35.880 --> 00:48:37.840
Oh, das ist, ja, da

00:48:37.840 --> 00:48:39.600
bist du dann schon, das ist alles nicht mehr so einfach.

00:48:39.600 --> 00:48:41.660
Ich würde auch das nicht so machen,

00:48:41.660 --> 00:48:43.220
dass ich die Sachen da direkt laufen lasse.

00:48:43.220 --> 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:47.440 --> 00:48:48.820
Tatsächlich.

00:48:48.820 --> 00:48:51.700
Also das heißt, du würdest dann auf einem dieser

00:48:51.700 --> 00:48:53.920
Cloud-Dinger einen Docker

00:48:53.920 --> 00:48:55.940
bauen, installieren

00:48:55.940 --> 00:48:57.620
oder... Docker installieren, Docker-Demon

00:48:57.620 --> 00:48:59.080
starten und dann halt

00:48:59.080 --> 00:49:01.680
mit so einem Docker-Compose-File

00:49:01.680 --> 00:49:03.720
das komplette System hochziehen, sodass dann

00:49:03.720 --> 00:49:05.700
halt für jeden Service, den man benutzen

00:49:05.760 --> 00:49:07.680
möchte im System, das man

00:49:07.680 --> 00:49:09.720
da hochfährt, dass man dafür einen Container

00:49:09.720 --> 00:49:11.380
hat, also einen Container für die Datenbank,

00:49:11.380 --> 00:49:12.620
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.300
Docker so einstellen, dass der für alle verschiedenen Systeme

00:49:17.300 --> 00:49:19.640
unterschiedliche Hardware nimmt, weil...

00:49:19.640 --> 00:49:21.660
Ja, das kannst du natürlich auch tun, aber das

00:49:21.660 --> 00:49:23.660
würde ich am Anfang auch

00:49:23.660 --> 00:49:25.480
nicht machen. Nee, und dann

00:49:25.480 --> 00:49:27.340
geht es eher so in den Bereich von

00:49:27.340 --> 00:49:29.380
Kubernetes und diesen Geschichten, das

00:49:29.380 --> 00:49:32.060
willst du nicht, du willst das...

00:49:32.060 --> 00:49:33.520
Also das ist auch gar kein Problem, also

00:49:33.520 --> 00:49:35.640
das musst du nicht

00:49:35.640 --> 00:49:37.540
machen, also... Also Kubernetes ist eine

00:49:37.540 --> 00:49:38.680
Krake an Docker-Containern.

00:49:38.680 --> 00:49:41.520
Ja, das ist so ein bisschen, das

00:49:41.520 --> 00:49:42.680
Problem mit Docker ist halt, dass

00:49:42.680 --> 00:49:45.160
das zu betreiben ist halt

00:49:45.160 --> 00:49:47.520
fies, Netzwerk ist fies, das ist alles...

00:49:47.520 --> 00:49:49.540
Das entwickelt sich auch alles noch, das ist

00:49:49.540 --> 00:49:50.340
alles nicht so richtig

00:49:50.340 --> 00:49:53.580
gefestigt, das ist nicht ganz so

00:49:53.580 --> 00:49:55.340
schlimm wie jetzt

00:49:55.340 --> 00:49:56.660
bei den JavaScript-Frontends

00:49:56.660 --> 00:49:59.360
bei React oder so, aber

00:49:59.360 --> 00:50:01.600
es ist schon, es ist nicht

00:50:01.600 --> 00:50:03.560
so, also man kann sich da nicht so gut drauf verlassen

00:50:03.560 --> 00:50:05.220
und vor allen Dingen fehlt die Unterstützung für viele Sachen,

00:50:05.520 --> 00:50:07.180
und dann gibt es da eben dann,

00:50:07.180 --> 00:50:09.480
wenn man das im Großen, wenn man

00:50:09.480 --> 00:50:11.300
eine komplette Cloud irgendwo betreiben möchte

00:50:11.300 --> 00:50:13.220
oder so, dann nimmt man da andere Geschichten,

00:50:13.220 --> 00:50:15.320
Management-Geschichten für, da wäre

00:50:15.320 --> 00:50:16.560
jetzt Kubernetes ein Beispiel für, aber

00:50:16.560 --> 00:50:19.080
die Frage ist, ob man das braucht, und wenn du das selber

00:50:19.080 --> 00:50:20.860
irgendwie nur ein System, das brauchst du nicht,

00:50:20.860 --> 00:50:22.220
also würde ich jetzt mal anfangen,

00:50:22.220 --> 00:50:24.600
würde ich jetzt einfach so sagen, brauchst du nicht.

00:50:24.600 --> 00:50:27.300
Ja, also ich habe da bestimmte Voraussetzungen tatsächlich, also ich möchte so

00:50:27.300 --> 00:50:29.100
verschiedene Webseiten betreiben,

00:50:29.100 --> 00:50:31.080
irgendwie, ne, irgendwie private Sachen, dann

00:50:31.080 --> 00:50:33.220
hatten wir mal über Indie-Web besprochen, dann

00:50:33.220 --> 00:50:35.400
irgendwie sind die beiden Services da drauf, und dann vielleicht noch

00:50:35.400 --> 00:50:37.500
irgendwie eine Firmen-Webseite mit einem kleinen Login

00:50:37.500 --> 00:50:39.660
und vielleicht noch für IoT so ein bisschen

00:50:39.660 --> 00:50:41.500
so ein Server, der da irgendwie läuft

00:50:41.500 --> 00:50:43.080
und das irgendwie alles gerne parallel, und

00:50:43.080 --> 00:50:45.080
ja, das ist ja kein Problem.

00:50:45.080 --> 00:50:47.540
Wie baue ich das denn? Also wo fange ich denn da an?

00:50:47.540 --> 00:50:49.440
Also ich habe jetzt so einen Server dann Cloud

00:50:49.440 --> 00:50:51.460
am besten gemietet, oder vielleicht doch irgendwie

00:50:51.460 --> 00:50:53.300
so einen dedizierten irgendwo hingestellt, oder

00:50:53.300 --> 00:50:55.360
nur einen kleinen virtuellen genommen, oder?

00:50:55.360 --> 00:50:57.420
Das hängt halt wieder davon ab, also ich würde einfach mal,

00:50:57.420 --> 00:50:59.880
also nur um das halt auszuprobieren,

00:50:59.880 --> 00:51:01.300
würde ich mit so einer kleinen Geschichte anfangen.

00:51:01.300 --> 00:51:03.620
Ja, aber das ist meine Frage nach dem Umzug,

00:51:03.620 --> 00:51:05.280
also wenn ich dann merke, so, oh, um

00:51:05.280 --> 00:51:07.220
zu ziehen, irgendwie alles normal machen, also das ist ja

00:51:07.220 --> 00:51:09.460
Nee, musst du nicht, das ist ja, dafür hast du ja

00:51:09.460 --> 00:51:10.440
deine Domain registriert.

00:51:10.440 --> 00:51:13.360
Ja, aber den Server muss ich ja umziehen, also die ganzen Sachen muss ich ja

00:51:13.360 --> 00:51:15.140
nochmal konfigurieren. Ja, aber dann nee, dann

00:51:15.140 --> 00:51:17.400
musst du gar nichts machen. Wenn du Docker nimmst,

00:51:17.400 --> 00:51:18.680
hast du dieses Problem gelöst.

00:51:18.680 --> 00:51:21.420
Achso, also ich baue den Container einfach

00:51:21.420 --> 00:51:22.340
neu auf einem anderen System.

00:51:22.340 --> 00:51:25.500
Ja, genau, sagst du einfach auf dem anderen System

00:51:25.500 --> 00:51:28.280
docker-compose, dann docker-yaml-file,

00:51:28.280 --> 00:51:29.040
ab, fertig.

00:51:29.040 --> 00:51:31.240
Nicht mal das, also gut,

00:51:31.240 --> 00:51:33.260
man würde das jetzt nicht von Hand ausführen, sondern

00:51:33.260 --> 00:51:35.160
man würde dann halt irgendwie das System, die an

00:51:35.160 --> 00:51:36.960
hängen oder in Supervice-D,

00:51:36.960 --> 00:51:39.260
normalerweise die Konfiguration dafür

00:51:39.260 --> 00:51:41.460
legst du auch in dein Projektverzeichnis mit rein,

00:51:41.460 --> 00:51:43.320
linkst das

00:51:43.320 --> 00:51:45.260
nur noch nach etc.supervice-d.conf

00:51:45.260 --> 00:51:47.100
oder weiß ich, wo die

00:51:47.100 --> 00:51:49.360
Config-Files dafür liegen, startest das Ding

00:51:49.360 --> 00:51:51.360
einmal neu und dann startet der deinen kompletten

00:51:51.360 --> 00:51:53.280
Kram, ohne dass du noch irgendwas machst. Also wie gesagt,

00:51:53.280 --> 00:51:55.080
wenn ich auf dem Server das deploye,

00:51:55.080 --> 00:51:57.380
da muss ich einen Link

00:51:57.380 --> 00:51:59.220
ziehen, ich muss

00:51:59.220 --> 00:52:01.520
etwas an der Caddy-Config

00:52:01.520 --> 00:52:03.100
ändern, das machst du, dann startest du neu, fertig.

00:52:03.100 --> 00:52:04.600
Caddy ist jetzt dieses,

00:52:05.040 --> 00:52:06.940
also ich muss da irgendwas rein, ist die Reihenfolge

00:52:06.940 --> 00:52:08.660
entscheidend, wie das da drin hängt, weil die dann nacheinander

00:52:08.660 --> 00:52:11.020
gelaufen, wie verteilt der die

00:52:11.020 --> 00:52:12.380
Ressourcen verteilt, also wie viele er hat.

00:52:12.380 --> 00:52:14.940
Ja, also gut, das ist nochmal

00:52:14.940 --> 00:52:15.480
ein anderes Thema.

00:52:15.480 --> 00:52:18.160
Wir sind zu weit, wir sind zu weit.

00:52:18.160 --> 00:52:21.060
Ja, also es ging nur

00:52:21.060 --> 00:52:22.820
darum, wie kriegst du das Zeugs

00:52:22.820 --> 00:52:24.780
irgendwie auf einer Maschine zum Laufen

00:52:24.780 --> 00:52:26.960
und da

00:52:26.960 --> 00:52:28.880
würde ich empfehlen, heutzutage Docker zu nehmen.

00:52:28.880 --> 00:52:30.780
Man kann auch andere Sachen benutzen, aber

00:52:30.780 --> 00:52:33.040
background. Ja, man könnte auch

00:52:33.040 --> 00:52:34.860
background, aber das ist auch, es braucht auch

00:52:34.920 --> 00:52:36.680
mehr Ressourcen, also das würde ich jetzt

00:52:36.680 --> 00:52:38.180
zum Beispiel, wenn du irgendwie so in dem Container,

00:52:38.180 --> 00:52:40.640
vor allen Dingen, Container ist ja, also es ist natürlich

00:52:40.640 --> 00:52:42.380
auch irgendwie performantechnisch sehr fies, also

00:52:42.380 --> 00:52:44.560
in einem Container nochmal Container-Geschichte

00:52:44.560 --> 00:52:45.820
zu starten, ist vielleicht auch nicht so die

00:52:45.820 --> 00:52:48.500
schlauste Idee performantechnisch, aber es ist halt

00:52:48.500 --> 00:52:50.740
zum Entwickeln, es ist halt

00:52:50.740 --> 00:52:52.960
so, würde ich sagen, state of the art

00:52:52.960 --> 00:52:54.520
eigentlich, oder es ist halt

00:52:54.520 --> 00:52:56.580
am wenigsten schmerzhaft, von allem,

00:52:56.580 --> 00:52:57.700
was es so momentan gibt.

00:52:57.700 --> 00:53:00.460
Vagrant kann man lokal ganz gut verwenden, oder

00:53:00.460 --> 00:53:02.400
halt, wenn man einen dicken Server hat, aber

00:53:02.400 --> 00:53:04.560
du kannst es nicht gut verwenden in einem

00:53:04.800 --> 00:53:06.640
kleinen Container, weil

00:53:06.640 --> 00:53:08.640
das braucht halt, das fährt halt wirklich

00:53:08.640 --> 00:53:09.680
ein komplettes Linux hoch.

00:53:09.680 --> 00:53:12.700
Und du kannst natürlich darin alles

00:53:12.700 --> 00:53:14.480
wieder betreiben, du musst dann nicht das

00:53:14.480 --> 00:53:16.400
in einzelne Container aufhalten, aber

00:53:16.400 --> 00:53:18.780
ja, aber

00:53:18.780 --> 00:53:20.640
das ist, wenn du wenig Hauptspeicher hast,

00:53:20.640 --> 00:53:21.920
ist das vielleicht einfach keine gute Idee.

00:53:21.920 --> 00:53:24.720
Na, und Docker

00:53:24.720 --> 00:53:26.560
passt da eigentlich ganz gut zu, da hast du

00:53:26.560 --> 00:53:27.960
dann zwar auch Container in Container, aber

00:53:27.960 --> 00:53:30.780
es ist nicht so, du fährst

00:53:30.780 --> 00:53:32.500
nicht jedes Mal ein komplettes Betriebssystem hoch und so,

00:53:32.500 --> 00:53:33.560
eine komplette Maschine.

00:53:34.680 --> 00:53:35.160
Ja,

00:53:35.160 --> 00:53:38.620
du kannst

00:53:38.620 --> 00:53:40.320
natürlich das auch irgendwie komplett einfach

00:53:40.320 --> 00:53:42.480
in diesen Container, alle deine Services, die du

00:53:42.480 --> 00:53:43.880
so haben willst, starten.

00:53:43.880 --> 00:53:45.280
Du kannst halt zum Beispiel,

00:53:45.280 --> 00:53:48.120
auch das benutzt man eher für größere

00:53:48.120 --> 00:53:50.240
Infrastrukturen, um da halt

00:53:50.240 --> 00:53:52.520
komplette Systeme auszurollen.

00:53:52.520 --> 00:53:54.620
Das ist eigentlich so Automatisierung

00:53:54.620 --> 00:53:55.620
deiner

00:53:55.620 --> 00:53:57.620
Automatisierung deiner

00:53:57.620 --> 00:54:00.380
Infrastruktur hochziehens,

00:54:00.380 --> 00:54:01.960
so nennt man sowas wie Ansible oder so,

00:54:01.960 --> 00:54:04.120
es gibt auch noch diverse andere, es gibt Solstack, es gibt

00:54:04.120 --> 00:54:04.560
irgendwie

00:54:04.560 --> 00:54:05.240
Puppet Chef,

00:54:05.240 --> 00:54:08.160
aber Ansible wäre jetzt auch Python

00:54:08.160 --> 00:54:09.860
und damit

00:54:09.860 --> 00:54:12.440
verwaltest du quasi

00:54:12.440 --> 00:54:14.300
ein ganzes Inventory an Rechnern

00:54:14.300 --> 00:54:16.380
irgendwie und sagst dann, roll mein

00:54:16.380 --> 00:54:18.400
System aus und dann, das Ding braucht auch nur SSH,

00:54:18.400 --> 00:54:20.440
dann connectet es sich auf all die Systeme per SSH

00:54:20.440 --> 00:54:21.740
und

00:54:21.740 --> 00:54:24.300
macht dann magisch Dinge, sodass dann da die Services

00:54:24.300 --> 00:54:26.040
laufen, die da laufen sollen und so.

00:54:26.040 --> 00:54:28.020
Irgendwie sowas braucht man auch, wenn man

00:54:28.020 --> 00:54:30.300
Vagrant verwenden wollte, weil du musst ja die Services dann irgendwie

00:54:30.300 --> 00:54:32.460
in deinem Vagrant, in deiner virtuellen Maschine

00:54:32.460 --> 00:54:34.320
halt auch zum Laufen kriegen, das heißt, du musst da irgendwie die

00:54:34.440 --> 00:54:36.340
entsprechenden Pakete installieren, musst du die Services

00:54:36.340 --> 00:54:38.140
hochfahren, musst die Config-Files irgendwie

00:54:38.140 --> 00:54:39.660
mit Templates so

00:54:39.660 --> 00:54:42.300
irgendwie, also hast du Templates

00:54:42.300 --> 00:54:44.540
für deine Config-Files, dann musst du die so mit den echten IP-Adressen

00:54:44.540 --> 00:54:46.400
und so ersetzen, dass dann die richtigen Config-Files

00:54:46.400 --> 00:54:48.040
da sind, dann muss das Ganze hochgefahren werden

00:54:48.040 --> 00:54:49.760
und so weiter und so weiter.

00:54:49.760 --> 00:54:52.460
Und für so ein komplettes System irgendwie

00:54:52.460 --> 00:54:54.240
Ansible rollen,

00:54:54.240 --> 00:54:56.260
nennt man das zu schreiben, das geht alles, hab ich auch schon

00:54:56.260 --> 00:54:57.300
gemacht und so,

00:54:57.300 --> 00:55:00.340
aber das ist eine Menge Arbeit, also das ist nicht

00:55:00.340 --> 00:55:02.300
so ohne und das dann auszurollen dauert

00:55:02.300 --> 00:55:03.600
auch ziemlich lange.

00:55:04.320 --> 00:55:06.080
Das ist halt auch so ein Nachteil

00:55:06.080 --> 00:55:07.540
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.960
Ding mit Vagrant hochzuziehen, kann sein, dass das

00:55:11.960 --> 00:55:13.980
selbst wenn du einen schnellen Rechner hast, lokal, kann sein, dass

00:55:13.980 --> 00:55:15.600
das 20 Minuten dauert, wenn du so viele

00:55:15.600 --> 00:55:17.920
Maschinen hochfährst oder so. Kannst natürlich auch alles

00:55:17.920 --> 00:55:19.840
in einer Maschine haben, aber dann hast du wieder das Problem, du kannst es nicht mehr

00:55:19.840 --> 00:55:21.980
aufteilen, wenn du es jetzt

00:55:21.980 --> 00:55:23.660
auf andere Maschinen aufteilen wolltest und so

00:55:23.660 --> 00:55:25.740
und ach, ja, also

00:55:25.740 --> 00:55:27.920
und das ist halt

00:55:27.920 --> 00:55:29.900
einfach oft zu langsam, wenn jetzt

00:55:29.900 --> 00:55:32.080
wenn du zum Beispiel irgendwas, du versuchst

00:55:32.080 --> 00:55:34.200
irgendeine Funktion hinzukriegen, musst dafür irgendeine Bibliothek

00:55:34.200 --> 00:55:36.000
installieren, die das halt kann

00:55:36.000 --> 00:55:38.160
ein Python-Trepper drumherum, der da irgendwas mitmacht

00:55:38.160 --> 00:55:39.920
und du willst halt so schnell

00:55:39.920 --> 00:55:42.080
iterieren können, du willst halt schnell irgendwas ausprobieren

00:55:42.080 --> 00:55:43.960
geht nicht, nochmal, so

00:55:43.960 --> 00:55:45.240
und bei Docker dauert so ein Build

00:55:45.240 --> 00:55:48.040
für, weiß ich jetzt

00:55:48.040 --> 00:55:49.320
CPU-Power, je nachdem

00:55:49.320 --> 00:55:51.980
CPU-Power und Platten und Netz man hat

00:55:51.980 --> 00:55:53.740
aber so bei mir dauert das, ich hab

00:55:53.740 --> 00:55:55.740
also Standard-Django-Projekt

00:55:55.740 --> 00:55:57.920
hat bei mir irgendwie die Datenbank

00:55:57.920 --> 00:55:59.560
Redis, irgendwie

00:55:59.560 --> 00:56:01.880
Applikationszauber-Django, vielleicht noch

00:56:01.880 --> 00:56:04.080
Celery oder so, also 5, 6 Container

00:56:04.080 --> 00:56:05.880
irgendwie sowas, die alle

00:56:05.880 --> 00:56:07.380
neu zu bauen, wenn man jetzt zum Beispiel

00:56:07.380 --> 00:56:09.120
eine Abhängigkeit im Betriebssystem, also

00:56:09.120 --> 00:56:10.920
sagen wir mal, jetzt irgendwie

00:56:10.920 --> 00:56:13.640
auf Betriebssystem-Level irgendeine Bibliothek braucht oder so

00:56:13.640 --> 00:56:15.500
die vorher nicht da war, dann muss man

00:56:15.500 --> 00:56:17.360
die Docker-File, muss man die Container neu bauen

00:56:17.360 --> 00:56:19.300
und das dauert bei mir so

00:56:19.300 --> 00:56:20.260
ja

00:56:20.260 --> 00:56:23.580
zwei bis drei Minuten, lokal

00:56:23.580 --> 00:56:25.460
je nach Größe der Anwendung natürlich

00:56:25.460 --> 00:56:27.600
je nach Größe der Anwendung, aber das ist

00:56:27.600 --> 00:56:30.200
ja, die Anwendung

00:56:30.200 --> 00:56:32.000
selber, die Django-Anwendung hat damit gar nichts mehr zu tun

00:56:32.000 --> 00:56:33.920
der Hauptteil, der da dauert, ist

00:56:33.920 --> 00:56:34.960
halt

00:56:34.960 --> 00:56:37.900
tatsächlich die Installation

00:56:37.900 --> 00:56:39.800
und das Bauen

00:56:39.800 --> 00:56:41.740
der Container und dann halt hinterher müssen

00:56:41.740 --> 00:56:43.440
nochmal die ganzen PIP-Abhängigkeiten

00:56:43.440 --> 00:56:45.580
per PIP installiert werden, das dauert auch

00:56:45.580 --> 00:56:49.700
ja, aber das ist halt

00:56:49.700 --> 00:56:51.800
viel, viel schneller, als wenn man das

00:56:51.800 --> 00:56:53.920
jetzt per Ansible und Vagrant machen wollte

00:56:53.920 --> 00:56:55.860
und das

00:56:55.860 --> 00:56:57.520
Problem ist halt, drei Minuten ist auch schon lang

00:56:57.520 --> 00:56:59.740
aber das macht

00:56:59.740 --> 00:57:01.700
einem so gerade vielleicht den Flow noch nicht

00:57:01.700 --> 00:57:03.720
kaputt, aber wenn man jetzt irgendwie da, dann

00:57:03.720 --> 00:57:05.820
jedes Mal 20 Minuten warten muss, dann geht man

00:57:05.820 --> 00:57:07.040
Kaffee trinken und man macht da irgendwas anderes

00:57:07.040 --> 00:57:09.920
und man muss aber möglicherweise 10 Mal

00:57:09.920 --> 00:57:11.940
was anderes ausprobieren, weil

00:57:11.940 --> 00:57:14.180
oft muss man, bleibt einem nichts übrig, als Sachen auszuprobieren

00:57:14.180 --> 00:57:15.500
ob es jetzt so geht, ach scheiße

00:57:15.500 --> 00:57:17.600
der Python-Wrapper funktioniert nicht, muss einen anderen nehmen

00:57:17.600 --> 00:57:18.720
probier den nochmal aus

00:57:18.720 --> 00:57:21.880
wenn du da 10 Mal irgendwas ausprobieren möchtest

00:57:21.880 --> 00:57:22.860
und du hast immer eine

00:57:22.860 --> 00:57:25.740
20 Minuten Latenz dazwischen ist, das

00:57:25.740 --> 00:57:27.780
macht einen langsam

00:57:27.780 --> 00:57:29.820
Du hast gerade gesagt, im Stack von dir gehört

00:57:29.820 --> 00:57:31.760
noch eine Redis, das ist ein Cache, da hat man

00:57:31.760 --> 00:57:33.560
irgendwie Sachen von der Datenbank direkt verfügbar

00:57:33.560 --> 00:57:33.940
hat

00:57:33.940 --> 00:57:37.440
Ja, einfach nur zum Cachen von beliebigen Dingen

00:57:37.440 --> 00:57:39.400
nicht nur Datenbank, also es gibt ja auch

00:57:39.400 --> 00:57:41.760
vielleicht andere Sachen, die länger laufen oder wo man halt

00:57:41.760 --> 00:57:42.960
Statische Files oder sowas

00:57:42.960 --> 00:57:44.380
Nee, nee, nee, das machen wir nicht

00:57:44.380 --> 00:57:47.620
Nee, also es gibt noch

00:57:47.620 --> 00:57:49.820
wenn du jetzt statische Files cachen möchtest

00:57:49.820 --> 00:57:51.440
das würde man auf einer anderen Seite machen

00:57:51.440 --> 00:57:53.300
also Redis ist etwas, die

00:57:53.300 --> 00:57:55.180
also wenn ich jetzt zum Beispiel

00:57:55.180 --> 00:57:57.580
in Django eine Funktion habe, die

00:57:57.580 --> 00:57:58.300
irgendwas lange

00:57:58.300 --> 00:58:01.480
berechnet oder so, dann ist fertig

00:58:01.480 --> 00:58:03.360
dann schreibe ich darüber

00:58:03.360 --> 00:58:05.640
irgendwie Cache-Property oder so

00:58:05.640 --> 00:58:07.400
zum Beispiel in Django, um zu sagen

00:58:07.400 --> 00:58:09.180
in Django zu sagen, cache das hier mal bitte, weil

00:58:09.180 --> 00:58:11.280
ich will das nicht jedes Mal, wenn dieses

00:58:11.280 --> 00:58:13.020
diese Property

00:58:13.020 --> 00:58:15.920
jemand, wenn jemand

00:58:15.920 --> 00:58:17.860
darauf zugreift, möchte ich nicht, dass es jedes Mal neu berechnet wird

00:58:17.860 --> 00:58:18.980
oder 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.830
das im Redis. Also wenn ich jetzt Redis

00:58:24.830 --> 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:28.070 --> 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:32.490 --> 00:58:34.490
Und

00:58:34.490 --> 00:58:36.790
wenn ich jetzt sozusagen

00:58:36.790 --> 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.010 --> 00:58:46.930
Vor dem Applikationsfang.

00:58:46.930 --> 00:58:48.790
Da würde ich

00:58:48.790 --> 00:58:50.930
den Varnish nehmen oder so. Das ist so ein

00:58:50.930 --> 00:58:52.510
In-Memory-Cache,

00:58:52.510 --> 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 an statischen Files geht,

00:59:00.150 --> 00:59:02.530
die da durchgehen, halt

00:59:02.530 --> 00:59:03.590
In-Memory-Cachen.

00:59:03.590 --> 00:59:06.790
Oder überhaupt alles, was an statischen Assets drin ist.

00:59:06.790 --> 00:59:07.670
Oder auf andere Sachen auch.

00:59:07.670 --> 00:59:09.970
Überhaupt alle

00:59:09.970 --> 00:59:12.830
Dinge, die identifizierbar

00:59:12.830 --> 00:59:14.390
sind als cachebar über die Cache-Header.

00:59:14.390 --> 00:59:16.410
Und das wäre

00:59:16.410 --> 00:59:17.190
dann viel, viel schneller.

00:59:18.570 --> 00:59:19.370
Macht man dann an der Stelle.

00:59:19.370 --> 00:59:22.510
Ist jetzt aber in meinen Projekten meistens gar nicht mit drin,

00:59:22.510 --> 00:59:23.030
weil

00:59:23.030 --> 00:59:26.390
brauche ich eigentlich meistens nicht,

00:59:26.390 --> 00:59:27.830
weil ich habe nicht so viel Traffic. Wenn ich jetzt irgendwo

00:59:27.830 --> 00:59:30.490
viel Traffic hätte, ja, dann macht das

00:59:30.490 --> 00:59:32.150
wahrscheinlich durchaus Sinn, sowas zu verwenden.

00:59:32.150 --> 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.470
in meinem Fall meistens

00:59:40.470 --> 00:59:42.370
vom Caddy.

00:59:42.370 --> 00:59:42.890
Das ist der

00:59:42.890 --> 00:59:45.730
Stack nochmal komplett durch.

00:59:45.730 --> 00:59:48.350
Also das, was davor ist. Und das ist auch etwas, was leider

00:59:48.350 --> 00:59:49.050
nicht in dem

00:59:49.050 --> 00:59:52.410
Docker-Geschichten selber mit, also

00:59:52.410 --> 00:59:53.810
sagen wir mal so, wenn man jetzt Cookie-Cutter

00:59:53.810 --> 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 --> 01:00:00.290
mit drin. Aber man

01:00:00.290 --> 01:00:02.270
kann das oft nicht verwenden, wenn

01:00:02.270 --> 01:00:04.150
man das jetzt auf irgendeine Maschine da draußen

01:00:04.150 --> 01:00:05.730
deployt oder in einen Container,

01:00:05.730 --> 01:00:07.930
auf den man sich per Route einloggt.

01:00:07.930 --> 01:00:10.230
Weil, wenn man da jetzt zum Beispiel mehrere Domains

01:00:10.230 --> 01:00:10.450
hat,

01:00:10.450 --> 01:00:12.750
die man

01:00:12.750 --> 01:00:15.710
da ausliefern will,

01:00:15.710 --> 01:00:18.130
dann muss der Caddy

01:00:18.130 --> 01:00:20.150
halt unabhängig von den

01:00:20.150 --> 01:00:22.470
einzelnen Systemen sein, sonst geht das halt nicht.

01:00:22.470 --> 01:00:23.690
Und was macht der Caddy denn jetzt?

01:00:23.690 --> 01:00:25.270
Und wie hat er noch, im Celery hattest du noch eventuell,

01:00:25.270 --> 01:00:26.170
ich muss da auch nochmal kurz.

01:00:26.170 --> 01:00:29.950
Ja, also Caddy ist ein grob geschriebener

01:00:29.950 --> 01:00:31.310
Web-Server,

01:00:31.310 --> 01:00:32.530
der

01:00:32.530 --> 01:00:35.830
besonders schön integriert ist mit

01:00:35.830 --> 01:00:37.850
halt Let's Encrypt, sodass halt HTTPS,

01:00:37.850 --> 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.110 --> 01:00:44.050
ohne dass man irgendwie Startboard selber

01:00:44.050 --> 01:00:45.110
irgendwie verändern muss.

01:00:45.110 --> 01:00:47.250
Und also

01:00:47.250 --> 01:00:49.150
es ist so,

01:00:49.150 --> 01:00:52.270
ja, HTTPS funktioniert einfach magisch

01:00:52.270 --> 01:00:53.410
und man muss sich nicht mehr kümmern.

01:00:53.410 --> 01:00:55.130
Das ist also der Effekt,

01:00:55.130 --> 01:00:56.970
was ja ganz nett ist.

01:00:56.970 --> 01:00:58.650
Und

01:00:58.650 --> 01:01:02.050
der ist auch sonst relativ schnell, der ist nicht ganz so schnell

01:01:02.050 --> 01:01:03.630
wie Nginx oder so, aber

01:01:03.630 --> 01:01:05.870
ich meine, ob das Ding jetzt, weiß ich nicht, 10.000

01:01:05.870 --> 01:01:07.510
Requests pro Sekunde kann oder nur 5.000,

01:01:07.510 --> 01:01:09.770
macht für die allermeisten Leute überhaupt keinen Unterschied, weil

01:01:09.770 --> 01:01:12.170
sie haben nicht mal ein Request pro Sekunde,

01:01:12.170 --> 01:01:12.950
ja, ist egal.

01:01:12.950 --> 01:01:14.990
2, 3, 4, ja.

01:01:14.990 --> 01:01:16.830
Ja, aber selbst bei 100 ist es völlig wurscht.

01:01:17.250 --> 01:01:19.050
Und, ähm, ja,

01:01:19.050 --> 01:01:21.330
und das ist dann gut geschrieben, vielleicht ist das Ganze auch noch ein bisschen

01:01:21.330 --> 01:01:22.970
vertrauenswürdiger als, wenn ich meine Nginx

01:01:22.970 --> 01:01:25.490
C und so, hm, wer weiß.

01:01:25.490 --> 01:01:27.350
Ähm, aber,

01:01:27.350 --> 01:01:29.510
naja, eigentlich ist es wurscht. Also was für mich

01:01:29.510 --> 01:01:31.050
den Ausschlag gibt, den zu verwenden, ist halt

01:01:31.050 --> 01:01:33.110
die schöne Let's Encrypt-Integration.

01:01:33.110 --> 01:01:35.050
Und, ähm,

01:01:35.050 --> 01:01:36.910
ja, der ist sozusagen vor den,

01:01:36.910 --> 01:01:39.330
vor Django davor, halt eben um sowas

01:01:39.330 --> 01:01:41.190
wie Statisch-Falz ausliefern, weil das kann halt Django

01:01:41.190 --> 01:01:43.510
nicht so gut selber. Wobei, muss man auch einschränken

01:01:43.510 --> 01:01:45.610
und sagen, äh,

01:01:45.610 --> 01:01:47.230
mit White Noise ist das vielleicht nicht mehr so gut,

01:01:47.250 --> 01:01:49.410
ganz, äh, aktuell, ähm, aber,

01:01:49.410 --> 01:01:50.650
äh, was ist White Noise?

01:01:50.650 --> 01:01:51.730
Oh Gott.

01:01:51.730 --> 01:01:55.090
Das ist, äh, ein,

01:01:55.090 --> 01:01:57.290
hm, ja, äh,

01:01:57.290 --> 01:01:59.250
äh, ich weiß nicht,

01:01:59.250 --> 01:02:00.990
das gibt es nur für Django, es ist, auf jeden Fall,

01:02:00.990 --> 01:02:03.230
innerhalb von Django kann man das als, kann man das, äh,

01:02:03.230 --> 01:02:04.570
als, äh, Party-App installieren.

01:02:04.570 --> 01:02:06.870
Und das liefert dann Files,

01:02:06.870 --> 01:02:09.070
also, wenn man normalerweise einfach so

01:02:09.070 --> 01:02:10.690
einen File ausliefern würde in Django, dann

01:02:10.690 --> 01:02:12.730
zieht man das halt in den Hauptspeicher, also,

01:02:12.730 --> 01:02:14.850
ja, von der Platte in den Hauptspeicher und dann

01:02:14.850 --> 01:02:16.810
von dem Hauptspeicher schickt man es wieder durch,

01:02:17.250 --> 01:02:19.590
äh, äh, durch den

01:02:19.590 --> 01:02:21.550
Kernel-Space irgendwie da raus über die

01:02:21.550 --> 01:02:23.450
Netzwerkkarte und

01:02:23.450 --> 01:02:25.350
da wird viel, viele Daten werden da kopiert

01:02:25.350 --> 01:02:27.690
und, äh, das ist alles scheußlich und man blockiert

01:02:27.690 --> 01:02:29.490
einen, ähm,

01:02:29.490 --> 01:02:30.530
Worker-Prozess.

01:02:30.530 --> 01:02:33.470
Hängt auch viel davon ab, welche, welchen Applikations-

01:02:33.470 --> 01:02:34.890
Server verwendet, Junicorn,

01:02:34.890 --> 01:02:37.470
Micro-Whiskey oder My-Whiskey

01:02:37.470 --> 01:02:39.410
oder WSGI oder so, also,

01:02:39.410 --> 01:02:41.310
das ist alles der gleiche, ich weiß nur nicht, wer ausgesprochen wird.

01:02:41.310 --> 01:02:43.110
Ähm, äh,

01:02:43.110 --> 01:02:45.050
man muss ja irgendeinen, irgendeinen

01:02:45.050 --> 01:02:47.190
Applikations-Server verwenden, der sozusagen die

01:02:47.190 --> 01:02:48.930
WSGI-Protokoll spricht,

01:02:48.930 --> 01:02:51.490
äh, ähm, mit der Applikation

01:02:51.490 --> 01:02:53.410
und, ähm,

01:02:53.410 --> 01:02:55.170
naja,

01:02:55.170 --> 01:02:57.230
äh, also, wenn man, wenn man, wenn man

01:02:57.230 --> 01:02:59.530
das File tatsächlich einfach so selbst ausliefert,

01:02:59.530 --> 01:03:01.330
äh, dann ist das extrem

01:03:01.330 --> 01:03:03.410
langsam und dann ist halt bei wenigen Files

01:03:03.410 --> 01:03:04.470
ist dann halt schon direkt Schluss.

01:03:04.470 --> 01:03:07.170
Äh, und das ist natürlich etwas, was man,

01:03:07.170 --> 01:03:09.190
was man nicht haben will, äh, und

01:03:09.190 --> 01:03:11.150
wenn man, wenn der, der Caddy,

01:03:11.150 --> 01:03:13.270
äh, oder auch, äh, ein Nginx

01:03:13.270 --> 01:03:14.950
kann halt, äh, problemlos viele

01:03:14.950 --> 01:03:17.170
Files, äh, irgendwie, äh, ausliefern,

01:03:17.190 --> 01:03:19.510
äh, und macht das halt nicht so,

01:03:19.510 --> 01:03:21.370
dass er erst die Files in den Hauptspeicher kopiert,

01:03:21.370 --> 01:03:23.290
dann durch den User, äh, also vom

01:03:23.290 --> 01:03:25.110
Kernel zu den User-Files und dann wieder zurück schiebt,

01:03:25.110 --> 01:03:27.230
um das auszuliefern, sondern der

01:03:27.230 --> 01:03:29.150
verwendet halt einen, einen Kernel, äh,

01:03:29.150 --> 01:03:31.270
ähm, einen syscall, äh,

01:03:31.270 --> 01:03:33.010
send-File, um die Files halt raus zu,

01:03:33.010 --> 01:03:35.290
äh, sagt halt diesem Kernel

01:03:35.290 --> 01:03:37.390
nur irgendwie hier, dieses File, äh,

01:03:37.390 --> 01:03:38.870
diese Verbindung bitte sehr, liefer aus.

01:03:38.870 --> 01:03:41.390
Sodass das halt, äh,

01:03:41.390 --> 01:03:43.150
ja, viel, viel schneller ist, also

01:03:43.150 --> 01:03:45.250
der Kernel liefert im Grunde mehr oder weniger die Files aus.

01:03:45.250 --> 01:03:45.810
Mhm.

01:03:47.190 --> 01:03:49.410
Äh, und, äh, kann ja irgendwelche

01:03:49.410 --> 01:03:51.250
Tricks machen, teilweise werden die Sachen

01:03:51.250 --> 01:03:53.130
nicht mehr durch den Hauptspeicher, äh, sondern gehen

01:03:53.130 --> 01:03:55.190
direkt per Serial-Copy-TCP irgendwie

01:03:55.190 --> 01:03:57.230
in den Netzwerkwaffer der Karte

01:03:57.230 --> 01:03:59.170
oder so von den Platten aus und so, also

01:03:59.170 --> 01:04:01.570
gibt's, äh, crazy, äh,

01:04:01.570 --> 01:04:03.310
Shit-Optimierungskrams, der da

01:04:03.310 --> 01:04:05.130
gemacht wird, bin ich jetzt auch nicht mehr so auf der Höhe

01:04:05.130 --> 01:04:07.150
der Zeit, was halt momentan aktuell ist, aber es geht irgendwie

01:04:07.150 --> 01:04:08.950
eine Menge, und

01:04:08.950 --> 01:04:11.150
White Noise macht das, macht auch, verwendet

01:04:11.150 --> 01:04:13.090
auch send-File, insofern ist das da nicht mehr so schlimm.

01:04:13.090 --> 01:04:15.310
Ähm, aber,

01:04:15.310 --> 01:04:17.110
äh, eigentlich will

01:04:17.110 --> 01:04:19.030
man jetzt auch nicht große Mengen darüber ausliefern,

01:04:19.030 --> 01:04:21.010
weil der, der Request ja dann immer noch aufschlägt

01:04:21.010 --> 01:04:23.170
im, im Django, ähm,

01:04:23.170 --> 01:04:24.950
oder jeder, der Request nach einem File,

01:04:24.950 --> 01:04:26.930
und das kann halt viel sein, ja, also wenn man viele kleine Bilder

01:04:26.930 --> 01:04:28.270
hat auf einer Webseite zum Beispiel,

01:04:28.270 --> 01:04:31.110
wenn man eine Liste mit, mit, äh, von irgendwelchen Dingen,

01:04:31.110 --> 01:04:32.550
wo halt immer Bilder dabei sind, dann

01:04:32.550 --> 01:04:34.510
ist halt jedes Bild, macht halt ein Request.

01:04:34.510 --> 01:04:37.110
Und, ähm, im modernen

01:04:37.110 --> 01:04:38.890
Browser machen die ganzen Requests ja auch ein Parallel,

01:04:38.890 --> 01:04:40.950
das heißt, die prügeln halt dann auf deine

01:04:40.950 --> 01:04:42.630
Applikations-Server ein, und das ist halt, äh,

01:04:42.630 --> 01:04:45.450
das ist, äh, nicht so gut.

01:04:45.450 --> 01:04:47.030
Und, äh,

01:04:47.030 --> 01:04:49.010
ähm, da,

01:04:49.010 --> 01:04:51.290
äh, äh,

01:04:51.290 --> 01:04:52.990
was, was, ich mach's nicht so,

01:04:52.990 --> 01:04:55.050
aber, was wohl gut ist, ist halt, man

01:04:55.050 --> 01:04:57.030
verwendet White Noise, und dann da vorne

01:04:57.030 --> 01:04:58.830
irgendwie Varnish oder sowas, oder halt

01:04:58.830 --> 01:05:01.290
ein CDN, sodass halt beim ersten Mal

01:05:01.290 --> 01:05:03.070
werden die Sachen dann tatsächlich von White Noise ausgeliefert,

01:05:03.070 --> 01:05:04.750
und danach sind sie halt gecached irgendwo in

01:05:04.750 --> 01:05:06.890
Content-Delivery-Network oder halt Varnish

01:05:06.890 --> 01:05:08.310
oder so, und dann ist es schnell.

01:05:08.310 --> 01:05:10.850
Ähm, was ich mache,

01:05:10.850 --> 01:05:12.950
ich, äh, ich verwende

01:05:12.950 --> 01:05:14.690
meistens den, den

01:05:14.690 --> 01:05:16.950
Webserver eben Caddy oder Nginx vorne dran zum

01:05:16.950 --> 01:05:18.910
Aufwählen meiner statischen Assets,

01:05:18.910 --> 01:05:20.130
da gibt's halt einen Unterschied in Django,

01:05:20.130 --> 01:05:22.510
also statische Geschichten, das ist sowas wie JavaScript,

01:05:22.510 --> 01:05:23.170
CSS,

01:05:23.170 --> 01:05:26.810
äh, Faf-Icon,

01:05:26.810 --> 01:05:28.730
dieser ganze Kram halt sozusagen, der

01:05:28.730 --> 01:05:30.770
äh, ja,

01:05:30.770 --> 01:05:32.650
zum Projekt halt dazugehört, aber jetzt

01:05:32.650 --> 01:05:34.850
sich im Grunde nicht ändert, also das,

01:05:34.850 --> 01:05:36.810
das Firmen-Logo, was du immer schon eingebaut hast.

01:05:36.810 --> 01:05:38.730
Ja, genau, also wenn man, die, die Sachen werden

01:05:38.730 --> 01:05:40.830
dann auch generiert, diese High-Namen, äh,

01:05:40.830 --> 01:05:42.190
und dann, sobald man,

01:05:42.190 --> 01:05:44.910
äh, da was dran

01:05:44.910 --> 01:05:46.790
ändert und dann noch Collect-Static aufruft,

01:05:46.870 --> 01:05:48.650
um das halt alles in einen Verzeichnis zu kopieren, das dann halt

01:05:48.650 --> 01:05:50.890
von einem Webserver ausgeliefert werden kann, dann kriegen die halt,

01:05:50.890 --> 01:05:52.970
äh, unike Namen, sodass das halt, man auch

01:05:52.970 --> 01:05:54.870
sagen kann, die werden für immer gecached, weil, wenn es

01:05:54.870 --> 01:05:56.610
was Neues gibt, dann wird der eh einen anderen Namen verwendet.

01:05:56.610 --> 01:05:58.890
Ja, ähm,

01:05:58.890 --> 01:06:01.710
das ist halt, dieses Headlink-Design-Static-Files

01:06:01.710 --> 01:06:02.850
ist halt ein bisschen anders, als wenn

01:06:02.850 --> 01:06:04.810
jetzt User Bilder hochladen oder so, ne, dann ist

01:06:04.810 --> 01:06:06.650
das, äh, Media-Root in Django und

01:06:06.650 --> 01:06:08.890
es wird halt, also ein bisschen anders gehandelt und

01:06:08.890 --> 01:06:10.710
statische Files sind bei mir, werden

01:06:10.710 --> 01:06:12.650
ausgeliefert vom, vom, äh, Caddy

01:06:12.650 --> 01:06:14.870
und, ähm, alles,

01:06:14.870 --> 01:06:16.750
was User irgendwie an Content hochladen,

01:06:16.790 --> 01:06:18.650
äh, landet in einem CDN, äh,

01:06:18.650 --> 01:06:20.470
landet in, äh, S3.

01:06:20.470 --> 01:06:22.610
In einem Bucket. In einem Bucket. Und

01:06:22.610 --> 01:06:24.370
der wiederum wird dann ausgeliefert über,

01:06:24.370 --> 01:06:26.010
äh, ich glaub, das ist CloudFront,

01:06:26.010 --> 01:06:28.750
äh, das ist auch das, äh, CDN

01:06:28.750 --> 01:06:29.990
von, von, von Amazon.

01:06:29.990 --> 01:06:32.670
So, dass ich halt auch damit keinen

01:06:32.670 --> 01:06:34.550
Stress mehr habe, äh, sondern das,

01:06:34.550 --> 01:06:36.790
äh, ja, dann, äh,

01:06:36.790 --> 01:06:38.730
das ist dann halt auch

01:06:38.730 --> 01:06:39.950
schnell. Ist halt ein bisschen,

01:06:39.950 --> 01:06:42.690
ja, muss man vielleicht gar nicht machen,

01:06:42.690 --> 01:06:44.990
weiß ich jetzt gar nicht so genau, äh,

01:06:44.990 --> 01:06:46.310
aber es ist halt auch eine Lösung.

01:06:46.710 --> 01:06:48.730
Das ist natürlich auch eine, ja, genau, das ist dann auch

01:06:48.730 --> 01:06:50.530
quasi beliebig. Ja.

01:06:50.530 --> 01:06:51.850
Ähm,

01:06:51.850 --> 01:06:54.550
ja, Traffic wird halt irgendwann teuer, da muss man

01:06:54.550 --> 01:06:55.110
sich...

01:06:55.110 --> 01:06:58.890
Ja, aber man muss halt dann

01:06:58.890 --> 01:07:00.750
pro, äh, pro, ja, weiß ich nicht,

01:07:00.750 --> 01:07:02.730
weiß ich gar nicht, pro Gigabyte oder, weiß ich nicht,

01:07:02.730 --> 01:07:04.450
irgendwann bezahlt man halt pro irgendwas.

01:07:04.450 --> 01:07:06.710
Man hat irgendwie 100 Gigabyte frei oder so, dann fängt man

01:07:06.710 --> 01:07:07.410
irgendwann an zu bezahlen.

01:07:07.410 --> 01:07:08.750
2 Euro pro Request.

01:07:08.750 --> 01:07:12.150
Ist nicht ganz so schlimm, aber es ist, äh, hm.

01:07:12.150 --> 01:07:14.730
Ja, und wenn man das selber macht mit, mit, mit

01:07:14.730 --> 01:07:16.630
White Noise und so, kann man wirklicherweise sich da

01:07:16.630 --> 01:07:18.370
auch den Traffic sparen, was auch schnell ist.

01:07:18.370 --> 01:07:20.310
Ja. Gut, nee, wenn man CDN

01:07:20.310 --> 01:07:22.650
drauf vorne ranfen will, auch nicht. Wie auch immer.

01:07:22.650 --> 01:07:24.090
Also, genau, das...

01:07:24.090 --> 01:07:26.270
Ja, das haben wir auf jeden Fall in den, in den Gango, äh, Applikations-

01:07:26.270 --> 01:07:27.830
Server, da hast du gesagt, Gionicorn, irgendwas laufen.

01:07:27.830 --> 01:07:30.590
Gionicorn, ja, also ich würde sagen, wenn man, äh, eben nicht,

01:07:30.590 --> 01:07:32.370
äh, mehrere Seiten hostet,

01:07:32.370 --> 01:07:34.350
äh, dann, äh, sondern

01:07:34.350 --> 01:07:36.330
dass er so ein eigenes Projekt hat, was

01:07:36.330 --> 01:07:38.470
irgendwie, und der Applikations-Server nur

01:07:38.470 --> 01:07:40.330
das, äh, für eine Geschichte macht,

01:07:40.330 --> 01:07:42.350
für einen Domain oder so, dann, dann ist

01:07:42.350 --> 01:07:43.870
Gionicorn, denke ich, die bessere Wahl.

01:07:43.870 --> 01:07:46.550
Ansonsten, wenn es komplizierter ist,

01:07:46.550 --> 01:07:48.470
dann, gut, muss man vielleicht, äh,

01:07:48.470 --> 01:07:50.470
dieses WSGI-Ding

01:07:50.470 --> 01:07:51.750
nehmen, UWSGI.

01:07:51.750 --> 01:07:54.570
Das hat, äh, einen Haufen,

01:07:54.570 --> 01:07:56.450
äh, Einstellungen, die ja darauf

01:07:56.450 --> 01:07:58.510
optimiert sind, dass man, äh, wenn man, äh, wenn man Hoster ist

01:07:58.510 --> 01:07:59.710
selber, äh, und dann, ja,

01:07:59.710 --> 01:08:02.230
kann man halt auch eine Menge andere Dinge noch einstellen.

01:08:02.230 --> 01:08:04.510
Ist aber komplizierter, daher würde

01:08:04.510 --> 01:08:06.510
ich das jetzt nicht, äh, nicht direkt empfehlen, auch wenn man

01:08:06.510 --> 01:08:07.810
Cookiecutter nimmt, ist Gionicorn dabei.

01:08:07.810 --> 01:08:10.510
Ich würde sowieso empfehlen, das Cookiecutter-Giango-Template

01:08:10.510 --> 01:08:12.270
zu verwenden, weil das macht eigentlich an der Stelle schon

01:08:12.270 --> 01:08:14.990
viel richtig, und, ähm,

01:08:14.990 --> 01:08:16.470
ja, äh, da kriegt man

01:08:16.470 --> 01:08:18.610
da kommt man da, da muss man sich selber um diese...

01:08:18.610 --> 01:08:20.310
Also Cookiecutter ist was, was deine Projekte

01:08:20.310 --> 01:08:22.530
automatisch vorkonfiguriert, deployed

01:08:22.530 --> 01:08:23.270
oder, oder vorangestellt.

01:08:23.270 --> 01:08:26.410
Nee, das erzeugt das Projekt, das erzeugt das Projekt, also es hat

01:08:26.410 --> 01:08:28.290
halt, ähm, quasi, 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:32.190
es ausführt, am Anfang, äh,

01:08:32.190 --> 01:08:34.370
so ein paar Sachen, und da antwortet

01:08:34.370 --> 01:08:35.790
man halt so, zum Beispiel, wie das Projekt heißt, oder

01:08:35.790 --> 01:08:38.290
keine Ahnung, ob man jetzt Celery verwenden möchte oder

01:08:38.290 --> 01:08:39.590
nicht, oder so, oder welche Daten man...

01:08:39.590 --> 01:08:41.770
Celery hast du jetzt auch noch nicht gehabt, das ist dann wie

01:08:41.770 --> 01:08:43.930
Arbeiten, Linen, oder...

01:08:43.930 --> 01:08:46.350
Celery, äh, genau, man hat oft,

01:08:46.390 --> 01:08:47.010
ähm,

01:08:47.010 --> 01:08:50.330
äh, die Geschichte, dass man, äh,

01:08:50.330 --> 01:08:52.150
nicht, dass man langlaufende, äh,

01:08:52.150 --> 01:08:54.150
dass man langlaufende Jobs hat, die, ähm,

01:08:54.150 --> 01:08:56.130
die ausgelöst werden von einem

01:08:56.130 --> 01:08:58.270
Web-Request, und man möchte jetzt den User am Ende

01:08:58.270 --> 01:09:00.410
aber nicht warten lassen. Also sowas

01:09:00.410 --> 01:09:01.850
wie, äh, keine Ahnung,

01:09:01.850 --> 01:09:03.110
hm,

01:09:03.110 --> 01:09:06.210
ja, User lädt ein Video hoch, und man muss das jetzt in alle

01:09:06.210 --> 01:09:08.210
Formate rendern, äh, dass, äh,

01:09:08.210 --> 01:09:10.370
die halt so gebraucht werden für unterschiedliche,

01:09:10.370 --> 01:09:12.390
fürs iPhone, für Android, äh,

01:09:12.390 --> 01:09:14.410
ja, da oft nimmt man dann halt

01:09:14.410 --> 01:09:15.830
auch irgendwie anderen Codec oder so,

01:09:16.310 --> 01:09:18.130
äh, und in, in unterschiedliche

01:09:18.130 --> 01:09:20.310
Auflösungen, je nachdem, wo man das irgendwie anzeigen will,

01:09:20.310 --> 01:09:22.350
da möchte man nicht, und diese Render-Jobs

01:09:22.350 --> 01:09:24.050
dauern halt, je nachdem, wie lang das Video ist,

01:09:24.050 --> 01:09:26.270
sehr, sehr lang, ja, es lädt hier jemand ein Video, äh,

01:09:26.270 --> 01:09:28.270
äh, das eine Stunde lang ist, hoch, dann möchte

01:09:28.270 --> 01:09:30.190
er nicht, dass der Request, wenn das im Request

01:09:30.190 --> 01:09:31.950
selber läuft, dass es nochmal zwei Stunden dauert, äh,

01:09:31.950 --> 01:09:33.970
das ist sehr 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, äh, man erzeugt einen Task,

01:09:38.170 --> 01:09:40.290
der, äh, irgendwie dann

01:09:40.290 --> 01:09:41.910
unabhängig vom Web-Server läuft,

01:09:41.910 --> 01:09:44.330
und der rendert dann halt irgendwie

01:09:44.330 --> 01:09:45.990
das Video in die unterschiedlichen, äh,

01:09:46.230 --> 01:09:48.530
Formate und so, und, äh,

01:09:48.530 --> 01:09:50.350
sagt dem User schon mal, alles okay,

01:09:50.350 --> 01:09:52.370
dann, dann upload es durch.

01:09:52.370 --> 01:09:54.310
So, und für solche Sachen braucht man das.

01:09:54.310 --> 01:09:56.310
Jetzt Video ist ein extremes Beispiel,

01:09:56.310 --> 01:09:58.150
es gibt sicherlich eine Menge Beispiele, bei denen

01:09:58.150 --> 01:10:00.170
das nicht ganz so schlimm wäre, aber

01:10:00.170 --> 01:10:02.310
auch schon so nervig, dass man das vielleicht nicht haben will,

01:10:02.310 --> 01:10:04.330
und dann... Also das hätte man gemacht, nicht einfach zur Arbeitsbienen

01:10:04.330 --> 01:10:06.290
loszuschicken, die dann halt die einzelnen Tasks dann abarbeiten.

01:10:06.290 --> 01:10:08.330
Ja, also die Tasks selber, äh, genau, da kann man sich auch

01:10:08.330 --> 01:10:10.310
versuchen, welches Backend man verwenden

01:10:10.310 --> 01:10:11.870
möchte, und Redis ist halt auch ein Backend,

01:10:11.870 --> 01:10:14.130
sozusagen über das, damit Redis

01:10:14.130 --> 01:10:16.150
als Queue verwendet, also diese, äh,

01:10:16.150 --> 01:10:18.110
es gibt, also, Salary ist im Grunde

01:10:18.110 --> 01:10:18.610
eine Task,

01:10:18.610 --> 01:10:21.510
ja, es, äh, ähm,

01:10:21.510 --> 01:10:24.110
besteht aus, äh, einem

01:10:24.110 --> 01:10:26.070
Ding, was irgendwie die Worker koordiniert,

01:10:26.070 --> 01:10:27.750
dann eine Menge von Workern,

01:10:27.750 --> 01:10:30.250
und halt einer Queue, in die die Tasks

01:10:30.250 --> 01:10:32.250
halt reinlaufen, also man, man

01:10:32.250 --> 01:10:34.110
so einen Task erzeugt, dann, äh, landet der

01:10:34.110 --> 01:10:36.150
halt in so einer Warteschlange, und

01:10:36.150 --> 01:10:37.970
die Worker greifen sich aus dieser Warteschlange halt

01:10:37.970 --> 01:10:40.170
ihre Jobs raus, ja, sozusagen, das sind Prozesse, die laufen

01:10:40.170 --> 01:10:42.170
einfach irgendwie. Wenn wer am lautesten schreit, der wird dann als erstes

01:10:42.170 --> 01:10:43.870
bedient, oder was? Genau, ja, das erste,

01:10:43.870 --> 01:10:45.830
ja, äh,

01:10:46.070 --> 01:10:48.150
der erste Worker nimmt sich halt irgendwie den ersten Job aus der

01:10:48.150 --> 01:10:50.130
Queue und rechnet dann halt, bis er irgendwie

01:10:50.130 --> 01:10:52.110
fertig ist, der nächste Worker nimmt sich den nächsten

01:10:52.110 --> 01:10:54.110
und so weiter, bis halt keine Worker mehr da sind, die nichts

01:10:54.110 --> 01:10:56.210
zu tun haben, und dann warten die Sachen in der Queue

01:10:56.210 --> 01:10:58.210
halt einfach. Und die werden dann halt so mit der Zeit

01:10:58.210 --> 01:11:00.130
abgearbeitet. Und, ähm, ja,

01:11:00.130 --> 01:11:01.970
dann hat das Ding auch noch so ein Webfront in Flower, heißt das

01:11:01.970 --> 01:11:04.050
irgendwie mit dabei, da kann man sich angucken, was ist denn

01:11:04.050 --> 01:11:06.250
jetzt mal so ein Task geworden, haben die irgendwelche Exceptions

01:11:06.250 --> 01:11:08.090
geworfen, gibt's da Tracebacks,

01:11:08.090 --> 01:11:10.110
äh, sind die alle gut durchgelaufen, wie lang laufen die denn

01:11:10.110 --> 01:11:12.030
so, so Basis-Statistiken,

01:11:12.030 --> 01:11:13.290
wie lang laufen die denn durchschnittlich,

01:11:13.290 --> 01:11:15.830
ja, äh, und all solche Sachen,

01:11:15.990 --> 01:11:18.070
und, äh, also

01:11:18.070 --> 01:11:20.110
das, wenn's funktioniert, ist es eigentlich

01:11:20.110 --> 01:11:21.850
ganz, ganz gut, ja, kann man nix sagen,

01:11:21.850 --> 01:11:24.030
ist eigentlich solide Geschichte, es ist

01:11:24.030 --> 01:11:26.110
aber so manchmal, also, äh,

01:11:26.110 --> 01:11:27.870
im Celery ist es manchmal so ein bisschen scharfkantig,

01:11:27.870 --> 01:11:29.550
muss man, das hätte auch schon,

01:11:29.550 --> 01:11:31.830
also wenn's nicht funktioniert, ist es nicht so geil,

01:11:31.830 --> 01:11:33.930
muss man sagen. Also geht das nicht

01:11:33.930 --> 01:11:35.790
für fast alle Dinge bei der Software? Ja,

01:11:35.790 --> 01:11:38.090
es gibt manche Sachen, bei denen passiert einem das nicht,

01:11:38.090 --> 01:11:39.310
dass die dann nicht funktionieren, also die,

01:11:39.310 --> 01:11:41.890
zum Beispiel Redis ist dann so ein Stück von Software, das funktioniert

01:11:41.890 --> 01:11:43.570
eigentlich fast immer super, ja,

01:11:43.570 --> 01:11:45.910
es gibt selten den Fall, oder hab ich

01:11:45.910 --> 01:11:47.930
noch nie erlebt, hab ich noch nie erlebt, dass Redis

01:11:47.930 --> 01:11:50.130
irgendwie, äh,

01:11:50.130 --> 01:11:51.890
etwas gemacht hat, und ich hab's nicht wieder

01:11:51.890 --> 01:11:54.030
hingekriegt, also, ich hab's noch nicht

01:11:54.030 --> 01:11:56.070
kaputtgekriegt, sozusagen, oder auch Postgres

01:11:56.070 --> 01:11:57.270
ist so ein Ding, das kriegst du nicht kaputt.

01:11:57.270 --> 01:11:59.670
Äh, Celery, äh,

01:11:59.670 --> 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.330
irgendwie die Python meiner Version,

01:12:05.330 --> 01:12:07.490
und dann geht gar nichts mehr.

01:12:07.490 --> 01:12:09.770
Und, äh, alles

01:12:09.770 --> 01:12:10.830
kaputt, ja, also,

01:12:10.830 --> 01:12:13.510
und das ist, äh,

01:12:13.510 --> 01:12:15.830
ja, oder man wechselt die Django-Version und nichts

01:12:15.830 --> 01:12:17.190
geht mehr, ne, also es ist halt, äh,

01:12:17.190 --> 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, bei Celery

01:12:21.670 --> 01:12:23.810
hab ich's schon häufig erlebt, dass es kaputtgegangen ist, und zwar

01:12:23.810 --> 01:12:25.670
auch dann so kaputtgegangen ist, dass man's im Grunde

01:12:25.670 --> 01:12:27.790
nicht mehr fixen kann, und das ist immer ärgerlich, wenn man

01:12:27.790 --> 01:12:29.810
dann zum Beispiel eben nicht, Python nicht upgraden

01:12:29.810 --> 01:12:31.710
kann, oder halt, äh, auch Django nicht upgraden kann,

01:12:31.710 --> 01:12:33.490
weil halt ein Celery dran hindert,

01:12:33.490 --> 01:12:35.730
das ist, und das ist schon öfters passiert,

01:12:35.730 --> 01:12:37.750
also, ähm,

01:12:37.750 --> 01:12:39.690
ja, muss

01:12:39.690 --> 01:12:41.130
irgendwie so, also, wenn man's,

01:12:41.130 --> 01:12:43.670
man, man kann's halt oft nicht vermeiden, dann

01:12:43.670 --> 01:12:45.270
braucht man's halt, und dann, äh,

01:12:45.750 --> 01:12:48.270
es gibt noch diverse andere Task-Queue-Geschichten,

01:12:48.270 --> 01:12:50.190
Celery ist halt die verbreitetste

01:12:50.190 --> 01:12:51.890
für Django, ähm,

01:12:51.890 --> 01:12:52.770
ja,

01:12:52.770 --> 01:12:55.750
äh, vielleicht lohnt es sich auch,

01:12:55.750 --> 01:12:57.510
sich die anzugucken, ähm,

01:12:57.510 --> 01:12:59.790
ich weiß es nicht genau, ähm,

01:12:59.790 --> 01:13:01.990
aber, äh, ja, also wenn man's nicht braucht,

01:13:01.990 --> 01:13:03.690
dann war's nicht unbedingt, äh, also es ist nicht,

01:13:03.690 --> 01:13:06.090
es ist nicht unbedingt ne, äh,

01:13:06.090 --> 01:13:08.130
ne Geschichte, die man aus der rein, aufgrund von

01:13:08.130 --> 01:13:09.850
reiner Freude, weil's so viel Spaß macht, das zu benutzen,

01:13:09.850 --> 01:13:12.010
verwenden sollte, weil das macht einfach nicht so

01:13:12.010 --> 01:13:13.690
wahnsinnig viel Freude, und wenn man die

01:13:13.690 --> 01:13:15.090
Abhängigkeit nicht braucht, sollte man sie weglassen.

01:13:15.670 --> 01:13:17.170
Ähm, ja, aber

01:13:17.170 --> 01:13:18.690
oft braucht man sowas tatsächlich.

01:13:18.690 --> 01:13:21.250
Äh, ja, was haben wir noch, ähm,

01:13:21.250 --> 01:13:23.430
Ja, ich würde jetzt nochmal so ein bisschen auf die ganz

01:13:23.430 --> 01:13:25.810
Basic-Sachen zurückkommen, also, äh, wie, ähm,

01:13:25.810 --> 01:13:27.630
weiß ich denn jetzt, auf welche Route ich

01:13:27.630 --> 01:13:29.350
jetzt meinen Name-Server zum Beispiel schicke,

01:13:29.350 --> 01:13:31.470
auf welches Verzeichnis ich den, äh,

01:13:31.470 --> 01:13:33.410
verweise, oder mach ich das überhaupt über Verzeichnis,

01:13:33.410 --> 01:13:35.450
oder welche verschiedenen Django-Apps laufen,

01:13:35.450 --> 01:13:37.690
oder, du hast ja gesagt, Junicorn ist nur eine,

01:13:37.690 --> 01:13:39.550
dann hab ich sonst ein Whisky, und, ähm,

01:13:39.550 --> 01:13:40.970
Whisky weiß dann, wo was liegt, oder,

01:13:40.970 --> 01:13:43.150
Junicorn ist deine Applikations-Server, jetzt sagen wir mal, wenn du jetzt

01:13:43.150 --> 01:13:45.410
Kugelkater verwendet hast, und so, dann,

01:13:45.590 --> 01:13:47.090
äh, läuft dein

01:13:47.090 --> 01:13:49.150
System, äh, läuft halt irgendwo

01:13:49.150 --> 01:13:51.250
intern in einen Docker-Container,

01:13:51.250 --> 01:13:53.330
und, äh, äh, sozusagen

01:13:53.330 --> 01:13:54.490
kann angesprochen werden,

01:13:54.490 --> 01:13:57.190
aus dem Container heraus, den du da, oder aus der

01:13:57.190 --> 01:13:58.890
Maschine heraus, auf der du dich angelockt hast,

01:13:58.890 --> 01:14:01.130
auf irgendeinem Port 5000 oder sowas, da läuft

01:14:01.130 --> 01:14:03.590
das Ding halt, ja, nimmt aber nur Requests an von innen,

01:14:03.590 --> 01:14:05.330
also sollte nicht von außen erreichbar sein.

01:14:05.330 --> 01:14:07.150
Das heißt also, ich muss aber dann den Port

01:14:07.150 --> 01:14:09.010
kämpfe ich natürlich an, und dann, die Ports muss ich ja irgendwie auf

01:14:09.010 --> 01:14:11.470
meiner Maschine routen dann. Nee. Zu den Docker-Containern.

01:14:11.470 --> 01:14:12.870
Nee. Nein? Wie?

01:14:12.870 --> 01:14:14.790
Wo funktioniert das denn? Die sind nur lokal.

01:14:15.510 --> 01:14:16.310
Äh, da.

01:14:16.310 --> 01:14:18.470
Also kannst du lokal drauf connecten, sonst nicht.

01:14:18.470 --> 01:14:20.710
Und, äh,

01:14:20.710 --> 01:14:22.790
wie dann die Requests sozusagen aus dem Web da

01:14:22.790 --> 01:14:24.990
reinkommen ist, du hast halt den Caddy vorne dran,

01:14:24.990 --> 01:14:26.710
da gehen die Sachen per

01:14:26.710 --> 01:14:28.550
Report 443, kommen die rein.

01:14:28.550 --> 01:14:30.770
Und den Caddy muss ich konfigurieren?

01:14:30.770 --> 01:14:32.750
Den musst du konfigurieren, du brauchst einen Config für,

01:14:32.750 --> 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:35.690 --> 01:14:38.350
irgendwie, wenn's an die Domain gehen soll,

01:14:38.350 --> 01:14:40.310
dann alles an den Applikations-Server.

01:14:40.310 --> 01:14:43.210
Okay, aber das heißt, der Caddy ist derjenige,

01:14:43.210 --> 01:14:44.830
der ist alles verwaltet. Das heißt, in der Caddy-Konfiguration

01:14:44.830 --> 01:14:45.490
stelle ich das ein,

01:14:45.490 --> 01:14:46.710
der Name-Server, HTML-Routing.

01:14:46.710 --> 01:14:47.590
Nein, nein, nein, nein.

01:14:47.590 --> 01:14:52.030
Nein, das steht nur drin,

01:14:52.030 --> 01:14:52.950
auf welche Domain

01:14:52.950 --> 01:14:54.970
geht, also,

01:14:54.970 --> 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
Applikations-Server soll das gehen.

01:15:00.470 --> 01:15:03.410
Insofern kann man auch sagen, das ist gewisserweise Routing,

01:15:03.410 --> 01:15:05.310
aber es ist sehr, sehr einfach.

01:15:05.310 --> 01:15:06.410
Es ist sehr, sehr einfach.

01:15:06.410 --> 01:15:09.510
Und HTML-Routing ist das selbe, das ist damit verknüpft,

01:15:09.510 --> 01:15:10.570
weil halt das Name-Routing...

01:15:10.570 --> 01:15:11.870
Es gibt noch,

01:15:11.870 --> 01:15:13.910
es gibt etwas,

01:15:13.910 --> 01:15:15.470
was sich URL-Routing,

01:15:15.490 --> 01:15:16.490
Routing nennt, bei Django.

01:15:16.490 --> 01:15:18.630
Ja, aber das ist aber innerhalb von Django.

01:15:18.630 --> 01:15:20.930
Aber ich kann ja verschiedene Projekte nehmen. Ich könnte jetzt auch sagen,

01:15:20.930 --> 01:15:22.890
ich möchte jetzt einfach ein Verzeichnis-Server,

01:15:22.890 --> 01:15:25.350
weiß nicht, war www irgendwas, was es da früher gab, oder so.

01:15:25.350 --> 01:15:27.590
Einfach ein Verzeichnis mit einem Index,

01:15:27.590 --> 01:15:28.030
irgendwas.

01:15:28.030 --> 01:15:31.090
Das kannst du mit dem Caddy auch machen.

01:15:31.090 --> 01:15:33.450
Kann ich mit dem Caddy auch sagen, das Verzeichnis kommt auch dann

01:15:33.450 --> 01:15:35.410
unter dem Namen

01:15:35.410 --> 01:15:37.510
resolved, geroutet, rein.

01:15:37.510 --> 01:15:39.450
Okay.

01:15:39.450 --> 01:15:41.150
Genau, das ist halt spannend.

01:15:41.150 --> 01:15:43.170
Das sind halt verschiedene Optionen, die kann ich alle gleichzeitig

01:15:43.170 --> 01:15:45.470
mit dem einen Caddy bauen. Das heißt, das Einzige, um das zu machen,

01:15:45.470 --> 01:15:46.910
muss ich meinen Caddy konfigurieren.

01:15:46.910 --> 01:15:48.950
Was mit E-Mail, wenn ich jetzt irgendwie E-Mail schicken will,

01:15:48.950 --> 01:15:49.870
auch Caddy?

01:15:49.870 --> 01:15:55.370
Ne, das ist natürlich nur ein Web-Server.

01:15:55.370 --> 01:15:57.930
Das würdest du in der Django-Applikation

01:15:57.930 --> 01:15:59.090
halt irgendwie machen und da

01:15:59.090 --> 01:16:01.050
kannst du es entweder selber tun, wenn du halt lokal

01:16:01.050 --> 01:16:02.670
eine Mail-Server laufen hast.

01:16:02.670 --> 01:16:04.290
Oh, nein, nein.

01:16:04.290 --> 01:16:07.070
Wenn ich jetzt meine

01:16:07.070 --> 01:16:09.050
Domain-E-Mail,

01:16:09.050 --> 01:16:10.690
da gibt es sowas, wie nennt man das,

01:16:10.690 --> 01:16:13.330
C-Names oder sowas, wo man dann

01:16:13.330 --> 01:16:15.350
die E-Mails direkt,

01:16:15.350 --> 01:16:16.930
weggeroutet werden vom Server

01:16:16.930 --> 01:16:19.430
auf, weiß nicht, Gmail oder sowas.

01:16:19.430 --> 01:16:21.250
C-Name ist eine Art von

01:16:21.250 --> 01:16:22.410
Rekord für DNS,

01:16:22.410 --> 01:16:25.190
wo dran steht, also dieser Name ist

01:16:25.190 --> 01:16:26.730
eigentlich nur ein Alias für den Namen.

01:16:26.730 --> 01:16:29.290
Ja, also die Alias muss

01:16:29.290 --> 01:16:30.950
ich ja irgendwie auf meinem Server auch eintragen.

01:16:30.950 --> 01:16:33.070
Wie passiert das denn?

01:16:33.070 --> 01:16:34.590
Also wenn ich jetzt beispielsweise eine G-Suite habe,

01:16:34.590 --> 01:16:37.290
mit der ich meine Firmen-E-Mail-Adressen

01:16:37.290 --> 01:16:38.910
verwalten möchte, dann

01:16:38.910 --> 01:16:40.950
trotzdem die Domain auf

01:16:40.950 --> 01:16:42.450
meinen Server ankommt.

01:16:42.450 --> 01:16:45.330
Wo muss ich dann einstellen, dass dann die E-Mail-Adresse

01:16:45.330 --> 01:16:47.570
in zur G-Suite weitergeht? Was ist das, was da liegt?

01:16:47.570 --> 01:16:48.490
Im Name-Server.

01:16:48.490 --> 01:16:51.090
Also da sagst du halt, der

01:16:51.090 --> 01:16:53.110
zuständige MX, das ist wieder ein anderer Rekord,

01:16:53.110 --> 01:16:54.910
MX-Rekord, der ist für Mail zuständig,

01:16:54.910 --> 01:16:57.170
der Mail-Server für

01:16:57.170 --> 01:16:59.010
meine Domain ist Google.

01:16:59.010 --> 01:17:01.110
Aber das ist dann am Mail-Server, also an

01:17:01.110 --> 01:17:03.110
meinem Provider, an meinem Name?

01:17:03.110 --> 01:17:05.350
Nein, da, wo

01:17:05.350 --> 01:17:06.230
du deine Domain registrierst.

01:17:06.230 --> 01:17:09.390
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.290
macht das. Aber der, wo du

01:17:13.290 --> 01:17:15.310
deine Domain registriert hast, der betreibt wahrscheinlich den Name-Server.

01:17:15.310 --> 01:17:16.570
Wo dann deine Domain liegt.

01:17:16.570 --> 01:17:19.490
Ja, genau, da machst

01:17:19.490 --> 01:17:20.570
du das. Und

01:17:20.570 --> 01:17:23.490
dann geht halt alle Mail,

01:17:23.490 --> 01:17:25.470
die an deine Domain geschickt wird, halt

01:17:25.470 --> 01:17:26.410
dem

01:17:26.410 --> 01:17:29.150
Mail-Client, beziehungsweise Mail-Server,

01:17:29.150 --> 01:17:30.430
den halt irgendjemand verwendet hat,

01:17:30.430 --> 01:17:31.790
der macht dann

01:17:31.790 --> 01:17:35.270
ein MX-Lookup auf deine Domain, sieht halt

01:17:35.270 --> 01:17:37.330
die Mail zu Google gegeben und schickt dann die Mail

01:17:37.330 --> 01:17:39.270
direkt zu Google. Und dann landet sie halt

01:17:39.270 --> 01:17:40.950
bei dir irgendwo bei Gmail oder wo auch immer.

01:17:40.950 --> 01:17:42.910
Und wenn ich jetzt einen

01:17:42.910 --> 01:17:45.290
File-Server machen will, dann muss ich das einfach wieder über den Caddy-Root

01:17:45.290 --> 01:17:46.290
finden, ob irgendein Verzeichnis...

01:17:46.290 --> 01:17:47.690
Was ist ein File-Server?

01:17:47.690 --> 01:17:49.230
Oder was meinst du damit?

01:17:49.230 --> 01:17:52.070
Vielleicht einfach ein Verzeichnis, das ich freigebe, wo ich dann

01:17:52.070 --> 01:17:53.630
hoch- und runterladen kann.

01:17:53.630 --> 01:17:56.730
Einfach so schreibe und lese Zugriff.

01:17:56.730 --> 01:17:58.810
Brauche ich dafür sowas wie alte

01:17:58.810 --> 01:17:59.790
US-FDP?

01:17:59.790 --> 01:18:03.210
Das hängt halt sehr davon ab, was du da

01:18:03.210 --> 01:18:04.870
machen möchtest. Ich würde sagen, ja, sowas

01:18:04.870 --> 01:18:07.050
gibt es außerhalb der Windows-Welt eigentlich

01:18:07.050 --> 01:18:09.110
so nicht. Also da ist es halt irgendwie

01:18:09.110 --> 01:18:11.050
Samba, oder ich weiß nicht, wie das Protokoll

01:18:11.050 --> 01:18:12.230
Microsoft intern heißt.

01:18:15.270 --> 01:18:16.850
Wahrscheinlich heißt es irgendwie anders. Keine Ahnung.

01:18:16.850 --> 01:18:18.550
Ich kenne es nur, wenn man es jetzt Linux

01:18:18.550 --> 01:18:20.970
als Server betreiben will, dann heißt es irgendwie

01:18:20.970 --> 01:18:23.090
Samba als Server. Aber sowas betreibst du halt

01:18:23.090 --> 01:18:24.870
nicht im Internet. Also... Warum?

01:18:24.870 --> 01:18:26.510
Viel zu gefährlich.

01:18:26.510 --> 01:18:29.070
Das ist...

01:18:29.070 --> 01:18:31.030
Näh. Und es macht auch so

01:18:31.030 --> 01:18:33.470
komische Sachen mit irgendwie Broadcast-

01:18:33.470 --> 01:18:34.910
Geschichten und so. Das geht alles im Internet nicht.

01:18:34.910 --> 01:18:37.350
Also... Also zu gefährlich

01:18:37.350 --> 01:18:38.190
sagst du. Aber es würde gehen.

01:18:38.190 --> 01:18:41.090
Näh, geht auch nicht. Ich glaube, es geht

01:18:41.090 --> 01:18:43.130
gar nicht. Also was war denn ein FTP-Server?

01:18:43.130 --> 01:18:44.970
Den hätte man aber einfach... FTP-Server, ja, aber

01:18:44.970 --> 01:18:45.250
FTP-Server.

01:18:45.270 --> 01:18:46.270
FTP ist auch irgendwie...

01:18:46.270 --> 01:18:49.250
Ja, also die... Wie würde man

01:18:49.250 --> 01:18:50.630
sagen, die 70er haben angerufen und die

01:18:50.630 --> 01:18:51.850
80er haben angerufen.

01:18:51.850 --> 01:18:53.470
Ihre

01:18:53.470 --> 01:18:55.970
Wares zurück.

01:18:55.970 --> 01:18:58.990
Also das ist... Das war ja damals

01:18:58.990 --> 01:19:00.970
ziemlich cool. Da konnte man irgendwie so einen FTP-Server

01:19:00.970 --> 01:19:03.170
connecten und hat dann da alles rumgeschoben,

01:19:03.170 --> 01:19:05.090
hinterhergeschoben, was man so brauchte.

01:19:05.090 --> 01:19:07.090
Ja, da konnte man

01:19:07.090 --> 01:19:08.750
lustige Dinge machen. Also das ist uralt.

01:19:08.750 --> 01:19:11.630
Ja...

01:19:11.630 --> 01:19:13.310
Da gab es ja irgendwann die File-Sharing-Plattform

01:19:13.310 --> 01:19:15.050
und man wusste, was gibt es denn heute? Also einfach dann

01:19:15.050 --> 01:19:17.130
Cloud? Ja, das macht

01:19:17.130 --> 01:19:19.010
man einfach nicht mehr, würde ich sagen. Also...

01:19:19.010 --> 01:19:21.130
Es ist einfach komplett weg. Man hat das einfach

01:19:21.130 --> 01:19:22.670
sowieso scheiße. Da ist alles zur Verfügung.

01:19:22.670 --> 01:19:24.310
Näh, das war... Also...

01:19:24.310 --> 01:19:27.050
Wenn du also Sachen hoch- und runterladen, das ist heute alles

01:19:27.050 --> 01:19:29.110
HTTP. Und auch

01:19:29.110 --> 01:19:30.890
da gab es dann irgendwie früher so

01:19:30.890 --> 01:19:33.130
Geschichten. Vielleicht gibt es das auch immer noch.

01:19:33.130 --> 01:19:34.670
Ich weiß nicht genau. WebDAV oder so.

01:19:34.670 --> 01:19:37.170
Wo man das dann auch mounten kann.

01:19:37.170 --> 01:19:38.930
Irgendwie so, dass es dann halt aussieht, als hätte man das

01:19:38.930 --> 01:19:40.690
lokal im Dateisystem oder so.

01:19:40.690 --> 01:19:43.170
Aber es ist alles...

01:19:43.170 --> 01:19:44.890
Heutzutage ist es eigentlich eher...

01:19:45.050 --> 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.730 --> 01:19:50.970
dass ich sage, hey, ich hätte gerne 10 Dateien, die ich immer runterziehe,

01:19:50.970 --> 01:19:52.850
die nicht wichtig sind, wo man nicht besonders

01:19:52.850 --> 01:19:54.590
viel kaputt machen kann, wenn da irgendwas auseinanderfließt.

01:19:54.590 --> 01:19:56.810
Die Frage ist, was möchtest du machen? Was möchtest du eigentlich haben?

01:19:56.810 --> 01:19:58.870
Nur einfach so eine File-Ablage, so eine Teil-Ablage

01:19:58.870 --> 01:20:00.690
für, weiß ich nicht, 5 Fotos oder

01:20:00.690 --> 01:20:02.830
irgendwas. Ich meine,

01:20:02.830 --> 01:20:04.710
Fotos, weiß ich, gibt es ja auch andere Möglichkeiten, aber

01:20:04.710 --> 01:20:06.850
nur so. Du willst

01:20:06.850 --> 01:20:08.810
irgendwie verzeichnete Synchronen halten.

01:20:08.810 --> 01:20:10.970
Ja, so ein kleines Dropbox. Ja, oder so ein kleines Store

01:20:10.970 --> 01:20:13.090
für irgendwas. So mein virtueller USB-Stick.

01:20:14.830 --> 01:20:20.910
Da gibt es, also würde ich

01:20:20.910 --> 01:20:22.630
eher sagen, also da gibt es 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
On-Cloud oder Un-Cloud.

01:20:26.050 --> 01:20:28.790
Aber intern,

01:20:28.790 --> 01:20:30.730
was die wahrscheinlich alle machen, das machen wahrscheinlich solche

01:20:30.730 --> 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.470 --> 01:20:36.170
Also Un-Cloud. Oder iDrive.

01:20:36.170 --> 01:20:40.630
Wenn du selber hosten willst,

01:20:40.630 --> 01:20:42.710
On-Cloud wahrscheinlich. Aber intern wird das auch

01:20:42.710 --> 01:20:43.270
nichts anderes machen.

01:20:44.610 --> 01:20:46.510
Es wird nichts anderes machen. Das machen auch

01:20:46.510 --> 01:20:47.910
Dropbox und die ganzen anderen wahrscheinlich.

01:20:47.910 --> 01:20:49.470
Die sprechen alle HTTP

01:20:49.470 --> 01:20:52.210
oder HTTPS mit zu Hause sozusagen.

01:20:52.210 --> 01:20:54.390
Und dann haben sie irgendwie Client-Software,

01:20:54.390 --> 01:20:55.890
die halt auf deinem Rechner läuft. Die halt

01:20:55.890 --> 01:20:58.150
sich per iNotify oder sonst irgendwie

01:20:58.150 --> 01:20:59.970
oder wie auch immer

01:20:59.970 --> 01:21:02.170
sich benachrichtigen lässt, wenn halt irgendwie sich was an

01:21:02.170 --> 01:21:03.990
ein Verzeichnis erinnert. Und dann sinkt die das halt rüber.

01:21:03.990 --> 01:21:06.410
Und umgekehrt halt genauso.

01:21:06.410 --> 01:21:08.030
Deswegen brauchst du auch einen Client, weil

01:21:08.030 --> 01:21:10.250
das ja dann sozusagen

01:21:10.250 --> 01:21:11.510
eine stehende Verbindung irgendwie braucht.

01:21:11.510 --> 01:21:13.890
Und du halt auch vom Server aus den

01:21:14.390 --> 01:21:15.610
Client benachrichtigen können willst.

01:21:15.610 --> 01:21:16.990
Und ja.

01:21:16.990 --> 01:21:19.730
Ich weiß nicht, ob es irgendeine gute, freie,

01:21:19.730 --> 01:21:21.850
selbst gehostete Geschichte dafür gibt.

01:21:21.850 --> 01:21:23.650
Aber warum nicht irgendwie

01:21:23.650 --> 01:21:24.810
Dropbox oder sonst irgendwas?

01:21:24.810 --> 01:21:27.130
Ja, ich meinte einfach nur jetzt so der private USB-Stick.

01:21:27.130 --> 01:21:28.810
Wo man kurz was hinterschieben kann.

01:21:28.810 --> 01:21:32.570
Von Gerät zu Gerät

01:21:32.570 --> 01:21:34.290
oder sowas. Wo man einfach dann URL eingibt

01:21:34.290 --> 01:21:36.050
und dann kurz seinen Login. Und dann hat man das.

01:21:36.050 --> 01:21:37.670
Das wäre irgendwie schon nett.

01:21:37.670 --> 01:21:40.350
Ja. Ich weiß es nicht.

01:21:40.350 --> 01:21:42.550
Ich glaube, also ich meine, das Geräteübergreifend

01:21:42.550 --> 01:21:43.970
funktioniert das wahrscheinlich dann Google.

01:21:44.170 --> 01:21:45.950
Du musst ja dann auch irgendwie auf die Telefone kommen.

01:21:45.950 --> 01:21:47.870
Wäre ja dann praktisch.

01:21:47.870 --> 01:21:50.390
Und dann bist du eh

01:21:50.390 --> 01:21:51.330
entweder bei Apple oder bei Google.

01:21:51.330 --> 01:21:54.490
Da kommst du ja selber gar nicht mehr drauf.

01:21:54.490 --> 01:21:56.470
Ja, dann fallen wir doch

01:21:56.470 --> 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.570
traurig alles, aber leider.

01:22:01.570 --> 01:22:04.410
Ja, also

01:22:04.410 --> 01:22:06.890
SSL-Zertifikate, hast du gesagt,

01:22:06.890 --> 01:22:07.810
sind alles im Keddy mit drin.

01:22:07.810 --> 01:22:09.550
Das heißt, das HTTPS mit

01:22:09.550 --> 01:22:11.410
Unterstützer. Also kannst du mal vielleicht

01:22:11.410 --> 01:22:13.950
unterschiedlich kurz. HTTPS, ist das dasselbe?

01:22:13.950 --> 01:22:17.030
Naja, SSL ist eigentlich, glaube ich,

01:22:17.030 --> 01:22:17.390
veraltet.

01:22:17.390 --> 01:22:20.530
Das ist gar nicht mehr so, dass man halt

01:22:20.530 --> 01:22:22.070
davon redet, weil man das irgendwie gewohnt ist.

01:22:22.070 --> 01:22:23.850
Also mittlerweile ist das, was man eigentlich verwendet,

01:22:23.850 --> 01:22:24.190
TLS.

01:22:24.190 --> 01:22:28.110
Und so genau

01:22:28.110 --> 01:22:29.110
weiß ich das jetzt auch alles nicht.

01:22:29.110 --> 01:22:32.250
Das zu konfigurieren ist ein Schmerz.

01:22:32.250 --> 01:22:33.890
Also ich weiß, dass ich das, ich habe das mal ein paar

01:22:33.890 --> 01:22:34.830
Mal gemacht für NGINX.

01:22:34.830 --> 01:22:37.850
Und das hat, das war auch, das hat länger

01:22:37.850 --> 01:22:39.950
gedauert, als ich dachte. Es gibt da so ein

01:22:39.950 --> 01:22:42.150
Test

01:22:42.150 --> 01:22:43.790
von SSL Labs, wo man dann überprüfen

01:22:43.790 --> 01:22:43.930
kann.

01:22:43.930 --> 01:22:45.970
Ob die eigene Seite irgendwie den aktuellen

01:22:45.970 --> 01:22:47.170
Sicherheitsanforderungen irgendwie genügt.

01:22:47.170 --> 01:22:49.330
Muss man da irgendwie ein Zertifikat sich irgendwo generieren?

01:22:49.330 --> 01:22:51.590
Kann man das selber erzeugen? Muss man das kaufen?

01:22:51.590 --> 01:22:53.890
Da gibt es ja irgendwie so kostenliche Angebote.

01:22:53.890 --> 01:22:55.850
Warum nimmt man die? Warum nimmt man

01:22:55.850 --> 01:22:57.270
freies? Geht das auch frei?

01:22:57.270 --> 01:22:59.270
Also ich würde da gar nicht so super

01:22:59.270 --> 01:23:01.710
detail drauf eingehen. Also wenn man kann das kaufen,

01:23:01.710 --> 01:23:03.870
dann hat man unter Umständen so Vorteile

01:23:03.870 --> 01:23:05.990
wie, es wird in der Browser weiß-grün angezeigt

01:23:05.990 --> 01:23:07.690
oder so, weil es irgendwie so Spezial-Deals

01:23:07.690 --> 01:23:10.070
zwischen den Browser-Herstellern gibt.

01:23:10.070 --> 01:23:12.010
Und also, ich meine, das sieht auch komisch

01:23:12.010 --> 01:23:13.910
aus. Ich weiß nicht mal, ob das jetzt vertrauenserweckende

01:23:13.910 --> 01:23:15.710
ist oder nicht. Vielleicht denken die Leute, das ist

01:23:15.710 --> 01:23:17.310
lieber seltsam. Oh, Kapitalisten, weg da!

01:23:17.310 --> 01:23:19.730
Nein, ich weiß nicht. Also, dann

01:23:19.730 --> 01:23:20.510
ist es so, die ganzen

01:23:20.510 --> 01:23:24.090
Certificate Authorities

01:23:24.090 --> 01:23:24.450
sind halt

01:23:24.450 --> 01:23:27.070
dadurch 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
deinen Key

01:23:31.770 --> 01:23:33.310
unterschreiben und

01:23:33.310 --> 01:23:35.630
damit der Browser halt, weil er die

01:23:35.630 --> 01:23:37.670
Certification Authority kennt, halt sagen kann,

01:23:37.670 --> 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:40.810 --> 01:23:43.790
Die haben, sind

01:23:43.890 --> 01:23:45.650
halt schon ganz oft dadurch aufgefallen, dass

01:23:45.650 --> 01:23:46.150
irgendwie

01:23:46.150 --> 01:23:49.630
sie Sachen unterschrieben haben. Also, das

01:23:49.630 --> 01:23:51.490
eine Ding, was sie eigentlich nicht machen dürfen, Dinge

01:23:51.490 --> 01:23:53.650
unterschreiben und damit authentifizieren, dass

01:23:53.650 --> 01:23:55.770
jemand, der ist, der vorgibt zu sein,

01:23:55.770 --> 01:23:57.170
der halt nicht der ist,

01:23:57.170 --> 01:23:59.650
der halt ein anderer war. So, für Microsoft

01:23:59.650 --> 01:24:01.670
ist das schon ein paar Mal passiert, dass jemand sich

01:24:01.670 --> 01:24:03.670
dann als Microsoft ausgeben konnte,

01:24:03.670 --> 01:24:05.750
der es nicht war. Dann kannst du natürlich den ganzen Leuten halt

01:24:05.750 --> 01:24:07.830
per Windows-Update

01:24:07.830 --> 01:24:09.250
Sachen reinschieben. Ja,

01:24:09.250 --> 01:24:10.310
nicht so geil.

01:24:10.310 --> 01:24:13.790
Und solche Sachen. Also, das

01:24:13.790 --> 01:24:15.510
ist, das passiert halt dauernd. Daher ist diese

01:24:15.510 --> 01:24:17.450
ganze Certification, äh,

01:24:17.450 --> 01:24:19.490
Certificate Authority-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, wie was passiert, wenn du jetzt Sachen

01:24:23.430 --> 01:24:25.370
revoken willst. Das geht alles nicht richtig.

01:24:25.370 --> 01:24:26.790
Und das ist schrecklich.

01:24:26.790 --> 01:24:27.910
Ähm,

01:24:27.910 --> 01:24:31.530
insofern würde ich sagen, tja, also,

01:24:31.530 --> 01:24:33.030
äh,

01:24:33.030 --> 01:24:35.390
dieses letzte, also,

01:24:35.390 --> 01:24:37.370
man muss auch heutzutage eigentlich kein Geld mehr bezahlen.

01:24:37.370 --> 01:24:39.190
Es gibt eine freie, äh,

01:24:39.190 --> 01:24:40.610
CA, ne, Let's Encrypt,

01:24:40.610 --> 01:24:43.770
die in allen Browsern, äh, die, äh,

01:24:43.770 --> 01:24:45.810
äh, äh, äh, quasi Keys drin hat,

01:24:45.810 --> 01:24:47.610
sodass man halt überprüfen kann, ob die korrekt

01:24:47.610 --> 01:24:49.330
signiert sind. Äh, das heißt,

01:24:49.330 --> 01:24:51.630
ja, wo es früher gar nicht möglich war,

01:24:51.630 --> 01:24:53.830
wo man halt kein, äh, äh,

01:24:53.830 --> 01:24:55.670
keine verschlüsselte Verbindung bekommen hat, ohne dass

01:24:55.670 --> 01:24:57.330
einer der Browser irgendwie schreckliche

01:24:57.330 --> 01:24:59.290
Warnungs-Warngeschichten angezeigt hat.

01:24:59.290 --> 01:25:01.850
Äh, äh, ohne dass man bezahlt hat.

01:25:01.850 --> 01:25:03.870
Das geht heute. Insofern,

01:25:03.870 --> 01:25:05.250
es ist, äh,

01:25:05.250 --> 01:25:05.930
ja.

01:25:05.930 --> 01:25:09.670
Ähm, und, ja,

01:25:09.670 --> 01:25:11.610
ich mach das so. Es gibt auch Gründe, das nicht

01:25:11.610 --> 01:25:13.590
so zu machen, aber, äh,

01:25:13.590 --> 01:25:15.410
oh, wir haben gerade eine Live, eine, eine

01:25:15.410 --> 01:25:17.310
E-Mail bekommen zu einem Podcast. Die ist aber leider so lange,

01:25:17.310 --> 01:25:19.470
dass ich sie nicht lange vorlesen kann. Ähm,

01:25:19.470 --> 01:25:20.270
von Topit.

01:25:20.270 --> 01:25:23.430
Ja, bin gespannt. Ja, ich werde mir gleich mal

01:25:23.430 --> 01:25:25.230
durchlesen. Ich freu mich schon. Ja, ähm,

01:25:25.230 --> 01:25:27.790
also, Thorsten. Ja. Hi, Thorsten.

01:25:27.790 --> 01:25:29.790
Jetzt war eine Live-Inteilung.

01:25:29.790 --> 01:25:31.190
Fand ich super. Okay.

01:25:31.190 --> 01:25:33.330
Ja, äh,

01:25:33.330 --> 01:25:35.210
Engagement, äh, heute sehr hoch.

01:25:35.210 --> 01:25:37.710
Also, wir möchten gerne tatsächlich

01:25:37.710 --> 01:25:39.330
diesen Server, den wir jetzt ja irgendwie stehen haben, ne,

01:25:39.330 --> 01:25:41.510
mit dem ganzen SSL-Zertifikate und was. Kann man denn

01:25:41.510 --> 01:25:43.470
irgendwie, was, also, wahrscheinlich erzähl ich jetzt wieder irgendwelchen

01:25:43.470 --> 01:25:45.530
Unsinn, irgendwie mit, äh, als Proxy

01:25:45.530 --> 01:25:47.530
benutzen, irgendwie über den ins Netz connecten

01:25:47.530 --> 01:25:49.170
und Anfragen stellen auch, dass ich irgendwie

01:25:49.170 --> 01:25:51.530
den anderen Weg gehen kann, dass nicht jeder sieht, wovon

01:25:51.530 --> 01:25:53.190
ich komme, dass ich dann von meinem Server ausgehe?

01:25:53.190 --> 01:25:55.450
Na, oh, das willst du aber nicht, weil dann weiß doch

01:25:55.450 --> 01:25:57.570
jeder, woher, woher, woher. Ja, aber das ist doch okay,

01:25:57.570 --> 01:25:59.670
aber dann, dann ist das... Das willst du,

01:25:59.670 --> 01:26:01.390
das willst du ja gerade nicht. Nein, aber vielleicht hab ich ja einen

01:26:01.390 --> 01:26:03.350
anderen Standort und ich connecte immer meinen Server und dann wissen die

01:26:03.350 --> 01:26:05.330
vielleicht, dass ich immer mein Server bin, oder

01:26:05.330 --> 01:26:07.590
sowas, aber die wissen meinen eigenen, eigentlichen

01:26:07.590 --> 01:26:09.430
Standort jetzt nicht, weil ich nicht immer über meinen Provider gehe.

01:26:09.430 --> 01:26:11.470
Ja, aber da sind... Also, mein Provider weiß zum

01:26:11.470 --> 01:26:13.330
Beispiel dann nicht mehr, wo ich hingehe, weil ich über meinen Server gehe.

01:26:13.330 --> 01:26:15.630
Ja, okay, gut, aber, äh,

01:26:15.630 --> 01:26:17.330
gut, aber, also,

01:26:17.330 --> 01:26:18.990
der, der Nachteil ist, dass halt jeder,

01:26:18.990 --> 01:26:21.090
den du, dass du, dass jeder

01:26:21.090 --> 01:26:23.230
Webserver-Betreiber weiß,

01:26:23.230 --> 01:26:25.230
wer du bist, was

01:26:25.230 --> 01:26:26.430
vielleicht auch nicht so cool ist, also,

01:26:26.430 --> 01:26:28.890
äh, das ist alles, sind alles Dinge, das

01:26:28.890 --> 01:26:31.090
will man wahrscheinlich nicht so machen. Ja, aber, also, vielleicht, also,

01:26:31.090 --> 01:26:33.010
zumindest, wenn die ganze Zeit

01:26:33.010 --> 01:26:35.450
mein Provider sonst immer alles mitbekommt,

01:26:35.450 --> 01:26:37.210
vielleicht kann man... Ist halt die Frage, vor wem du

01:26:37.210 --> 01:26:38.910
Angst hast, also... Vielleicht vor dem Provider.

01:26:38.910 --> 01:26:41.350
Wenn du vor dem Provider Angst hast, ja, aber... Dann könnte

01:26:41.350 --> 01:26:42.950
man da raus, das könnte man als Tunnel benutzen.

01:26:42.950 --> 01:26:44.730
Würde ich nicht so machen, würde ich nicht so machen, dann

01:26:44.730 --> 01:26:46.410
nimm lieber was ordentliches, nimm lieber Tor.

01:26:46.410 --> 01:26:49.090
Ja, okay. Oder nimm halt

01:26:49.090 --> 01:26:51.010
einen von den VPN-Dienstleistern, aber die sind

01:26:51.010 --> 01:26:53.790
auch, ich meine, da muss man sich auch bewusst sein, dass die, ähm...

01:26:53.790 --> 01:26:54.610
Auch gecaptured werden.

01:26:54.610 --> 01:26:57.410
Und vor allem, dass sie zweimal verdienen,

01:26:57.410 --> 01:26:58.750
ne, die verdienen halt einmal, weil sie

01:26:58.750 --> 01:27:01.070
Geld von dir bekommen, und dann verdienen sie halt nochmal, weil

01:27:01.070 --> 01:27:03.230
sie Geld von Facebook oder sonst wem bekommen,

01:27:03.230 --> 01:27:05.190
äh, für die, für die Nutzungsdaten, ne, also,

01:27:05.190 --> 01:27:07.110
ähm... Also, ich hab mich jetzt

01:27:07.110 --> 01:27:09.050
gar nicht für anonyme Surfen interessiert, sondern ich einfach

01:27:09.050 --> 01:27:10.970
nur, ob die technischen Möglichkeiten, irgendwie, wie das

01:27:11.230 --> 01:27:12.990
funktioniert, wenn ich jetzt da meine Connection über so einen Server

01:27:12.990 --> 01:27:15.030
schicken will, weil ich da einrichten würde.

01:27:15.030 --> 01:27:16.930
Ja, das hat aber nichts mit, glaube ich,

01:27:16.930 --> 01:27:18.930
zu tun, dass es dann, da würde es dann irgendwie

01:27:18.930 --> 01:27:20.330
sowas wie OpenVPN nehmen oder so.

01:27:20.330 --> 01:27:22.890
Das heißt, ich würde einen VPN-Server starten, dahin

01:27:22.890 --> 01:27:24.670
connecten und dann von dem dann weiterlaufen.

01:27:24.670 --> 01:27:25.330
Ja.

01:27:25.330 --> 01:27:27.390
Okay.

01:27:28.520 --> 01:27:30.020
und dann einfach einrichten auf dem...

01:27:30.020 --> 01:27:32.400
Genau, also das ist tatsächlich ein Anwendungsfall,

01:27:32.400 --> 01:27:34.460
für den ich das tatsächlich auch benutze

01:27:34.460 --> 01:27:36.500
und auch einen OpenVPN-Server laufen

01:27:36.500 --> 01:27:38.480
habe, ist, man kann

01:27:38.480 --> 01:27:40.260
auch bei allen, also bei iPhone geht das sehr, sehr easy,

01:27:40.260 --> 01:27:42.760
da kannst du halt OpenVPN-Server

01:27:42.760 --> 01:27:44.160
auch einfach eintragen als, das ist jetzt

01:27:44.160 --> 01:27:46.300
VPN, du kannst ja den VPN irgendwie auswählen und kannst

01:27:46.300 --> 01:27:47.320
sagen, ich nehme jetzt einfach den.

01:27:47.320 --> 01:27:50.240
Ist halt für

01:27:50.240 --> 01:27:52.300
Netflix

01:27:52.300 --> 01:27:54.240
und die ganzen Streaming-Geschichten,

01:27:54.240 --> 01:27:56.480
Spotify-Sachen, die funktionieren ja sonst im Urlaub

01:27:56.480 --> 01:27:56.960
halt nicht mehr.

01:27:58.360 --> 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:01.460 --> 01:28:04.200
Und dafür habe ich es halt genutzt

01:28:04.200 --> 01:28:06.000
bisher, aber...

01:28:06.000 --> 01:28:08.200
Ja genau, den musst du dann

01:28:08.200 --> 01:28:10.140
auch über den Kelly routen, oder wie ist das denn mit dem

01:28:10.140 --> 01:28:12.200
Port? Das ist kein HTTP.

01:28:12.200 --> 01:28:13.100
Das ist kein HTTP.

01:28:13.100 --> 01:28:16.320
Das läuft einfach auf einem Service, auf dem Rechner.

01:28:16.320 --> 01:28:18.140
Das ist ein ganz anderes Protokoll,

01:28:18.140 --> 01:28:20.320
das ist OpenVPN, ein eigenes Protokoll,

01:28:20.320 --> 01:28:21.960
läuft üblicherweise, du kannst auch

01:28:21.960 --> 01:28:23.800
bei TCP und normalerweise bei UDP

01:28:23.800 --> 01:28:26.080
irgendwo auf einem Port, ich weiß nicht,

01:28:26.080 --> 01:28:27.920
irgendwas... Also das heißt, ich starte einfach dann auf dem

01:28:28.200 --> 01:28:29.960
Rechner, dann die verschiedenen Services am Anfang,

01:28:29.960 --> 01:28:31.800
die dann halt hochgefahren sind und die dann nebenbei als

01:28:31.800 --> 01:28:33.680
Demons dann laufen. Dazu gehört dann der OpenVPN,

01:28:33.680 --> 01:28:35.960
der auf einem anderen Port dann läuft, als der

01:28:35.960 --> 01:28:37.660
Kelly, der auf dem 443er läuft.

01:28:37.660 --> 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.060
Applikationen geroutet werden. So wie das im Internet halt so üblich ist.

01:28:44.060 --> 01:28:45.480
Was halt quasi

01:28:45.480 --> 01:28:47.940
die unterschiedlichen Services haben halt unterschiedliche Ports.

01:28:47.940 --> 01:28:49.800
DAP ist halt 80

01:28:49.800 --> 01:28:52.100
und 443, Mail ist 25,

01:28:52.100 --> 01:28:53.360
DNS ist

01:28:53.360 --> 01:28:55.560
53,

01:28:55.560 --> 01:28:56.360
je nachdem.

01:28:58.040 --> 01:28:59.560
SSH ist 22.

01:28:59.560 --> 01:29:01.920
Genau, FTP 21.

01:29:01.920 --> 01:29:02.860
Ja.

01:29:02.860 --> 01:29:05.440
Ja, also SSH will ich wahrscheinlich auch haben.

01:29:05.440 --> 01:29:06.660
Ja.

01:29:06.660 --> 01:29:07.960
Weil ich halt da irgendwie...

01:29:07.960 --> 01:29:10.520
Aber dann ist halt auch die Frage,

01:29:10.520 --> 01:29:13.100
als Root auf die Maschine draufgehen, ist das nicht ein bisschen riskant,

01:29:13.100 --> 01:29:15.060
das irgendwie zu exponieren? Oder sage ich dem,

01:29:15.060 --> 01:29:17.040
der darf sich gar nicht einloggen? Und 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:21.300
irgendwie am besten hinterlegen in irgendeinem SSH-Konto?

01:29:21.300 --> 01:29:23.280
Genau, also Authentifizierung immer per Key

01:29:23.280 --> 01:29:25.340
und dann sozusagen

01:29:25.340 --> 01:29:26.600
legst du den Public Key

01:29:26.600 --> 01:29:27.880
in ein

01:29:27.880 --> 01:29:29.620
File namens Authorized Keys

01:29:29.620 --> 01:29:32.540
in dem .ssh-Verzeichnis

01:29:32.540 --> 01:29:33.000
auf deinem Server

01:29:33.000 --> 01:29:36.100
und dann kannst du dich da einloggen. Und man kann glaube ich sogar dann

01:29:36.100 --> 01:29:38.440
Login per Passwort abschalten oder sowas?

01:29:38.440 --> 01:29:40.140
Kann man machen, ja. Sollte man vielleicht auch.

01:29:40.140 --> 01:29:41.980
Ja, aber dann kann man tatsächlich nur noch mit seinem

01:29:41.980 --> 01:29:44.240
Private Key connecten, ne? Was macht man denn dann,

01:29:44.240 --> 01:29:44.900
wenn der kaputt geht?

01:29:44.900 --> 01:29:47.260
Dann kann man sich nicht mehr connecten.

01:29:47.260 --> 01:29:49.340
Dann ist er am 8, ja.

01:29:49.340 --> 01:29:52.000
Kannst aber mehrere zum Beispiel nehmen. Ja, okay, aber dann ist man

01:29:52.000 --> 01:29:53.880
normalerweise am 8, dann muss man den Server komplett abhauen dann.

01:29:53.880 --> 01:29:55.880
Also weil das alles dann nicht mehr geht, dann muss man

01:29:55.880 --> 01:29:57.720
den Server hart, wie

01:29:57.720 --> 01:29:59.540
kommt man da wieder dran? Also kann man nur die Feste...

01:29:59.540 --> 01:30:01.720
Naja, ne, also das hängt halt davon ab,

01:30:01.720 --> 01:30:03.480
mit welchem, was das ist. Also

01:30:03.480 --> 01:30:05.640
du kannst, also

01:30:05.640 --> 01:30:07.640
du kannst auch zum Beispiel, weil wenn du jetzt

01:30:07.640 --> 01:30:09.760
einen eigenen Server hast, den Fall hatten wir noch gar nicht, der ist aber auch

01:30:09.760 --> 01:30:11.580
vielleicht gar nicht so uninteressant, jetzt bei

01:30:11.580 --> 01:30:13.620
Hetzner oder so, wo du wirklich physikalisch eine Maschine

01:30:13.620 --> 01:30:14.880
gemietet hast, die irgendwo im Rack steht,

01:30:14.880 --> 01:30:17.360
da kriegst du auch eine Konsole drauf.

01:30:17.360 --> 01:30:19.760
Na, so ein paar serielle Konsole, kannst

01:30:19.760 --> 01:30:21.700
du dich auf das Ding, was halt auch interessant ist,

01:30:21.700 --> 01:30:23.660
wenn du irgendwelche Dinge machen möchtest, während das Ding bootet

01:30:23.660 --> 01:30:24.020
oder so,

01:30:24.020 --> 01:30:27.560
wo du halt

01:30:27.560 --> 01:30:29.380
per SSH nichts machen kannst, weil es gibt keinen

01:30:29.380 --> 01:30:31.500
SSH, die mit der läuft, weil der Körner noch gar nicht hochgefahren ist.

01:30:31.500 --> 01:30:33.460
Da willst du halt

01:30:33.460 --> 01:30:35.540
was anderes haben, mit dem du dich drauf connectest und das geht da.

01:30:35.540 --> 01:30:36.540
Oft.

01:30:36.540 --> 01:30:39.360
Sodass du halt wirklich das Ding booten sehen kannst und

01:30:39.360 --> 01:30:40.940
kannst auch Dinge tun beim Booten.

01:30:40.940 --> 01:30:43.380
Genau, also

01:30:43.380 --> 01:30:45.320
das geht alles. Insofern gibt es da noch andere Wege

01:30:45.320 --> 01:30:47.420
rein, aber ja, bei so einem

01:30:47.420 --> 01:30:50.040
Container, der halt einfach da...

01:30:50.040 --> 01:30:51.160
Da geht das natürlich so nicht.

01:30:51.160 --> 01:30:53.100
Aber das ist ja so

01:30:53.100 --> 01:30:54.780
Wegwerf-Kram, den schmeißt man halt einfach weg.

01:30:54.780 --> 01:30:56.060
Wenn ich den Server irgendwie

01:30:56.060 --> 01:30:57.400
abgeschmissen habe,

01:30:57.400 --> 01:30:58.380
geschossen habe oder so,

01:30:58.380 --> 01:31:00.320
und der bootet nicht mehr,

01:31:00.320 --> 01:31:02.080
dann kann ich ja nicht anders machen.

01:31:02.080 --> 01:31:03.720
Ja, dann schmeißt du den Container weg, machst einen neuen.

01:31:03.720 --> 01:31:06.500
Es dauert ja nicht lang, das dann wieder hochzuziehen.

01:31:06.500 --> 01:31:07.960
Ja gut, aber wenn das im Container läuft, dann ist das kein Problem.

01:31:07.960 --> 01:31:11.140
Also ich würde sagen, wenn das ordentlich gemacht ist,

01:31:11.140 --> 01:31:13.440
dann dauert das von irgendwie, du kopierst

01:31:13.440 --> 01:31:14.520
dein Projektverzeichnis dahin

01:31:14.520 --> 01:31:17.240
oder checkst es halt aus, was du auch machen kannst.

01:31:17.240 --> 01:31:19.440
Wenn du SSH anhast mit

01:31:19.440 --> 01:31:21.300
irgendwie Forward Agent,

01:31:21.300 --> 01:31:23.640
dann kannst du halt auch private Repositories

01:31:23.640 --> 01:31:25.280
beispielsweise GitHub oder irgendwelchen GitLab

01:31:25.280 --> 01:31:27.240
auschecken. Das Connect ist ja

01:31:27.240 --> 01:31:28.260
einfach hin, checkst es aus,

01:31:28.260 --> 01:31:30.580
sagst Docker Compose, irgendwie Build

01:31:30.580 --> 01:31:32.660
und dann linkst du halt das noch einmal

01:31:32.660 --> 01:31:34.740
in deinen Supervise-Config-Dings

01:31:34.740 --> 01:31:35.280
da nach ETC,

01:31:35.280 --> 01:31:38.740
sagst Supervise-Control-Restart

01:31:38.740 --> 01:31:40.720
dein, was auch immer, wie das heißt

01:31:40.720 --> 01:31:42.500
und das dauert dann

01:31:42.500 --> 01:31:44.420
drei, vier Minuten und dann ist das Ding wieder oben.

01:31:44.420 --> 01:31:45.980
Also, ja.

01:31:45.980 --> 01:31:48.500
Selbst das könntest du noch automatisieren.

01:31:48.500 --> 01:31:50.520
Das kannst du per Script machen, kannst du auch

01:31:50.520 --> 01:31:53.120
per Python SSH bedienen,

01:31:53.120 --> 01:31:54.500
per Paramiko oder so.

01:31:54.500 --> 01:31:56.180
Paramiko heißt das?

01:31:57.080 --> 01:31:58.720
Mit der man SSH sprechen kann.

01:31:58.720 --> 01:32:00.940
Ja, okay.

01:32:00.940 --> 01:32:03.320
Ja, also Ports haben wir jetzt einmal so kurz drauf eingegangen.

01:32:03.320 --> 01:32:04.940
Also ich könnte auch irgendwie irgendwelche Ports

01:32:04.940 --> 01:32:06.180
aufmachen oder irgendwas hinterstecken.

01:32:06.180 --> 01:32:09.180
Macht man dann auch sowas wie so einen Honigtopf

01:32:09.180 --> 01:32:11.160
auf, dass man einfach irgendwie so eine Reaktion hat, falls die Leute

01:32:11.160 --> 01:32:12.800
irgendwie sagen, hey, klassischer Angriff.

01:32:12.800 --> 01:32:14.960
Würde ich jetzt nicht machen, aber gut.

01:32:14.960 --> 01:32:16.600
Kann man natürlich, wenn man Spaß daran hat.

01:32:16.600 --> 01:32:18.620
Also, ja.

01:32:18.620 --> 01:32:20.920
Fliegenfang. Also es gibt für Dangler zum Beispiel

01:32:20.920 --> 01:32:22.760
auch so ein Honeypot-Modul

01:32:22.760 --> 01:32:25.060
irgendwie, das einen so vorgeholt,

01:32:25.060 --> 01:32:26.380
dass es ein Admin-Interface gäbe.

01:32:26.920 --> 01:32:28.440
Und dann, wo sich die 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.400 --> 01:32:32.480
aber das ist alles nur Fake und dann kann man sich hinterher angucken, was sie gemacht haben.

01:32:32.480 --> 01:32:34.780
Aber, ja, ich meine,

01:32:34.780 --> 01:32:36.100
wenn ein, aber...

01:32:36.100 --> 01:32:38.560
Ja, wenn man ein bisschen rumspielt in der Hobbygruppe und mal so guckt, was man so alles

01:32:38.560 --> 01:32:40.220
rausfinden kann und wie man das alles so macht und so.

01:32:40.220 --> 01:32:42.500
Aber ich würde sagen, ich würde es deswegen nicht machen,

01:32:42.500 --> 01:32:43.920
weil das ist gefährlich.

01:32:43.920 --> 01:32:45.860
Das ist halt viel Code, der mit außen redet.

01:32:45.860 --> 01:32:47.220
Das ist viel Angriffsfläche.

01:32:47.220 --> 01:32:49.980
Ja gut, ich sag mal, wenn man auf dem Server jetzt nichts zu verstecken hat,

01:32:49.980 --> 01:32:52.100
sondern es eh nur so zum Rumspielen ist, dann ist das ja vielleicht gar nicht so schlimm.

01:32:52.100 --> 01:32:53.200
Dann kannst du auch einfach offen lassen.

01:32:54.180 --> 01:32:55.880
Dann gucken wir uns die Leute an. Vielleicht ist das ja besser.

01:32:55.880 --> 01:32:58.360
Ja, vielleicht ist das ja auch ein bisschen Honig

01:32:58.360 --> 01:32:58.840
ausliegen.

01:32:58.840 --> 01:33:00.360
Schokolade.

01:33:00.360 --> 01:33:04.180
Ja, also

01:33:04.180 --> 01:33:04.780
Firewall?

01:33:04.780 --> 01:33:08.420
Also Firewall...

01:33:08.420 --> 01:33:10.120
Ist das auf Routerebene dann im Serverzentrum?

01:33:10.120 --> 01:33:12.180
Nein, nein. Also Firewall

01:33:12.180 --> 01:33:14.060
ist halt die Frage, was die Leute darunter verstehen. Das sind auch

01:33:14.060 --> 01:33:16.240
unterschiedliche Dinge. Also ich kenne es halt eher so aus

01:33:16.240 --> 01:33:18.460
der Internet-Admin-Welt.

01:33:18.460 --> 01:33:20.000
Und da

01:33:20.000 --> 01:33:21.900
nennt man Firewall

01:33:21.900 --> 01:33:23.840
ein System zur

01:33:23.840 --> 01:33:26.180
Durchsetzung einer Policy am Übergang

01:33:26.180 --> 01:33:28.200
zwischen Netzwerken. So, das ist eine Firewall.

01:33:28.200 --> 01:33:32.060
Ich weiß, dass es so im Heimcomputer-Bereich gibt es

01:33:32.060 --> 01:33:33.900
da irgendwie andere Definitionen von. Da gibt es

01:33:33.900 --> 01:33:35.580
auch so Personal Firewalls oder sowas.

01:33:35.580 --> 01:33:38.100
Aber das ist alles Quatsch. Aus meiner Perspektive,

01:33:38.100 --> 01:33:40.040
weil die machen genau das eben nicht.

01:33:40.040 --> 01:33:41.920
Was heißt denn

01:33:41.920 --> 01:33:43.860
Policy-Restriktion? Also wann darf denn welches

01:33:43.860 --> 01:33:45.900
Protokoll mit welchem ich reden? Oder darf ein bestimmtes Protokoll nicht

01:33:45.900 --> 01:33:46.540
auf einen bestimmten Port?

01:33:46.540 --> 01:33:49.380
Genau. Du guckst dir halt...

01:33:49.380 --> 01:33:51.680
Firewall ist ein

01:33:51.680 --> 01:33:53.500
Konzept. Das ist nicht unbedingt eine

01:33:53.500 --> 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.300 --> 01:33:59.500
Paketfilter, da guckt sich immer vier Sachen an.

01:33:59.500 --> 01:34:01.280
Quell-IP,

01:34:01.280 --> 01:34:03.440
Ziel-IP, Quellport, Zielport.

01:34:03.440 --> 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.420 --> 01:34:09.720
Also sagen, okay, das lasse ich durch, das lasse ich nicht durch.

01:34:09.720 --> 01:34:11.500
Und jetzt ein Paketfilter guckt

01:34:11.500 --> 01:34:13.520
sich immer diese Quadruppel an

01:34:13.520 --> 01:34:15.460
und entscheidet dann, ob er das

01:34:15.460 --> 01:34:17.400
Paket durchlässt oder nicht. Und sowas kann man dann

01:34:17.400 --> 01:34:19.440
mit Paketeinlösung, mit, weiß ich nicht,

01:34:19.440 --> 01:34:21.620
PyShark machen und das dann selber bauen auch?

01:34:21.620 --> 01:34:23.460
Da gibt es Software, für die das

01:34:23.460 --> 01:34:25.120
macht, aber das macht nur dann Sinn.

01:34:25.120 --> 01:34:27.720
Also einmal willst du solche

01:34:27.720 --> 01:34:29.940
Sachen niemals verwenden, um

01:34:29.940 --> 01:34:31.820
dich

01:34:31.820 --> 01:34:33.560
darauf zu verlassen, sondern das ist immer nur

01:34:33.560 --> 01:34:35.440
ein zusätzliches Sicherheitsnetz. Also

01:34:35.440 --> 01:34:37.100
die Sachen sollten sicher sein von sich aus.

01:34:37.100 --> 01:34:39.360
Das kann ja auch sein, dass

01:34:39.360 --> 01:34:41.580
Paketfilter ausfallen oder nicht ordentlich funktionieren oder so.

01:34:41.580 --> 01:34:43.520
Das sollte deine Sicherheit nicht beeinträchtigen.

01:34:43.520 --> 01:34:45.500
Sondern das ist einfach nur, damit

01:34:45.500 --> 01:34:47.200
du sagen kannst, ich habe hier ein Stück Hardware, das ist

01:34:47.200 --> 01:34:48.600
sonst mit nichts verbunden.

01:34:48.600 --> 01:34:51.260
Das ist nicht

01:34:51.260 --> 01:34:53.420
irgendwie auf der gleichen Maschine. Da kann ich irgendwie, wenn

01:34:53.420 --> 01:34:55.600
jemand meine Maschine aufgemacht hat oder eine Applikation

01:34:55.600 --> 01:34:57.460
aufgemacht hat, kann er diese Policy

01:34:57.460 --> 01:34:59.200
nicht ändern. Das heißt, dafür

01:34:59.200 --> 01:35:01.740
muss es dann halt physikalisch getrennte

01:35:01.740 --> 01:35:03.440
Maschine im Grunde sein, auf der

01:35:03.440 --> 01:35:05.420
nur der Paketfilter läuft, sonst nichts. Sonst macht

01:35:05.420 --> 01:35:07.500
es keinen Sinn. Und den hast du halt am Übergang

01:35:07.500 --> 01:35:09.460
zwischen unterschiedlichen Netzen, weil da kannst du

01:35:09.460 --> 01:35:11.560
halt genau auf Basis dieser

01:35:11.560 --> 01:35:12.160
vier

01:35:12.160 --> 01:35:15.320
Attribute irgendwie dann

01:35:15.320 --> 01:35:17.280
deine Policy irgendwie durchsetzen. Also falls ich doch

01:35:17.280 --> 01:35:19.460
meinen offenen File-Dings da betreiben will, dann sollte

01:35:19.460 --> 01:35:21.160
ich dann eine Firewall zwischen dem Netz und...

01:35:21.160 --> 01:35:23.120
Aber das kannst du überhaupt nicht. Du hast ja nicht

01:35:23.380 --> 01:35:25.340
drüber das Netz. Also das kann... Ich würde sagen, das macht

01:35:25.340 --> 01:35:27.340
ja nur dann Sinn, wenn du auch das Netz unter Kontrolle hast.

01:35:27.340 --> 01:35:28.980
Aber dann muss ich das lokale Netz unter Kontrolle haben.

01:35:28.980 --> 01:35:31.000
Du müsstest das Netz, in dem

01:35:31.000 --> 01:35:33.340
du dir so Policy durchsetzen willst, musst du

01:35:33.340 --> 01:35:35.500
unter Kontrolle haben. Also bei meiner eigenen Serverfarm zu Hause.

01:35:35.500 --> 01:35:36.940
Wenn ich da... Du kannst es zu Hause machen, ja.

01:35:36.940 --> 01:35:39.260
Für zwei verschiedene Routernetze oder sowas, die ich von einer

01:35:39.260 --> 01:35:41.220
trennen will. Vielleicht habe ich

01:35:41.220 --> 01:35:43.360
irgendwie ein kleines offenes

01:35:43.360 --> 01:35:45.640
Netz da. Da gibt es ja so ein paar Optionen,

01:35:45.640 --> 01:35:46.980
wo man frei sich verbinden kann

01:35:46.980 --> 01:35:49.320
an einem Funk. Und dann könnte man das

01:35:49.320 --> 01:35:51.240
mit seinem Heimnetzwerk machen. Und da sollte man dann sowas dazwischen hängen,

01:35:51.240 --> 01:35:53.340
weil die Geräte zwar im gleichen LAN-Festival

01:35:53.340 --> 01:35:55.220
zu viel Aufwand... Das ist viel zu viel Aufwand, um

01:35:55.220 --> 01:35:57.100
sowas selber zu machen. Oder

01:35:57.100 --> 01:35:59.100
ich wüsste jetzt nicht, dass das irgendein... Also

01:35:59.100 --> 01:36:01.420
ich finde, seit diesen Zeiten

01:36:01.420 --> 01:36:03.680
sind es vorbei. Also das ist...

01:36:03.680 --> 01:36:04.420
Das meine ich nicht.

01:36:04.420 --> 01:36:06.680
Ja, also ich meine, eben diese Infra... Also

01:36:06.680 --> 01:36:08.920
die Hoster und vielleicht auch Amazon,

01:36:08.920 --> 01:36:10.580
die werden solche Sachen betreiben.

01:36:10.580 --> 01:36:11.960
Die machen das so.

01:36:11.960 --> 01:36:15.240
Aber...

01:36:15.240 --> 01:36:17.340
Für zu Hause macht das

01:36:17.340 --> 01:36:18.440
doch kein... Ich meine, du musst wirklich

01:36:18.440 --> 01:36:21.320
ein eigenes Gerät dafür haben, dass das nur das tut.

01:36:21.320 --> 01:36:22.840
Und dann brauchst du mehrere davon.

01:36:23.300 --> 01:36:24.920
Weil du willst ja

01:36:24.920 --> 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:30.860
und...

01:36:30.860 --> 01:36:33.200
Da gibt es ja unterschiedliche Konzepte,

01:36:33.200 --> 01:36:35.140
wie du das realisierst.

01:36:35.140 --> 01:36:37.280
Und du kommst ja mit einem Ding auch gar nicht aus. Da brauchst du mehrere

01:36:37.280 --> 01:36:39.240
davon. Das heißt, du betreibst mehrere Rechner zu Hause

01:36:39.240 --> 01:36:41.680
nur, um diese Policy da durchzusetzen.

01:36:41.680 --> 01:36:43.140
Welchen Gewinn erzielst du dadurch?

01:36:43.140 --> 01:36:45.300
Und vor allen Dingen im Verhältnis zu

01:36:45.300 --> 01:36:45.820
dem Aufwand.

01:36:45.820 --> 01:36:49.840
Als Rechenzentrumsbetreiber

01:36:49.840 --> 01:36:51.360
kann man das irgendwie rechtfertigen, dass man zu jedem

01:36:51.360 --> 01:36:53.040
Switch dann noch irgendwie einen Paketfilter stellt.

01:36:53.260 --> 01:36:55.460
Oder so alle

01:36:55.460 --> 01:36:57.240
zwei, drei Racks stellt man da halt

01:36:57.240 --> 01:36:58.260
irgendwie noch einen Paketfilter dazu.

01:36:58.260 --> 01:37:01.260
Aber zu Hause...

01:37:01.260 --> 01:37:05.140
Da bin ich aber ganz sicher, da bin ich nicht mehr so

01:37:05.140 --> 01:37:06.040
Glaskörper-mäßig.

01:37:06.040 --> 01:37:09.220
Aber das Ding hilft dir ja für die meisten

01:37:09.220 --> 01:37:10.760
Sachen, die dich sozusagen...

01:37:10.760 --> 01:37:11.780
Nässt nicht.

01:37:11.780 --> 01:37:13.360
Genau.

01:37:13.360 --> 01:37:17.200
Es hängt halt davon ab, wovor du Angst hast.

01:37:17.200 --> 01:37:19.020
Wenn du Angst davor hast, dass die

01:37:19.020 --> 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.220 --> 01:37:24.800
Das schützt dich halt bloß davor, dass jemand

01:37:24.800 --> 01:37:26.460
Verbindungen irgendwie, die du

01:37:26.460 --> 01:37:28.920
laut Policy nicht zulässt, irgendwie

01:37:28.920 --> 01:37:30.980
macht. Aber das passiert heute eh fast

01:37:30.980 --> 01:37:31.340
nicht mehr.

01:37:31.340 --> 01:37:34.720
Oder das passiert ja auch nur dann, wenn

01:37:34.720 --> 01:37:36.260
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, irgendeinem seltsamen NAT.

01:37:40.200 --> 01:37:44.960
Das ist mit den Verbindungen sowieso nicht so

01:37:44.960 --> 01:37:46.780
toll. Und da müssen

01:37:46.780 --> 01:37:48.980
ja diejenigen,

01:37:48.980 --> 01:37:50.860
die dich...

01:37:50.860 --> 01:37:52.940
Wenn du da irgendwie... Wenn jemand dich

01:37:52.940 --> 01:37:54.680
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 der ja gar nicht mehr durch.

01:37:58.420 --> 01:38:00.640
Wenn man das auf eine relativ schlaue Art tut, dann nützt dir der ganze

01:38:00.640 --> 01:38:02.180
Paketfilter-Kram nichts. Weil

01:38:02.180 --> 01:38:04.720
der sieht ja nichts Schlaues. Der macht ja nichts Schlaues.

01:38:04.720 --> 01:38:06.620
Der macht ja was sehr, sehr Einfaches eigentlich.

01:38:06.620 --> 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 Relikte, aus der Paketfilter.

01:38:12.280 --> 01:38:14.660
Naja, also Firewall ist ja unter Umständen noch viel mehr. Es ist ja nicht nur

01:38:14.660 --> 01:38:17.140
Paketfilter, sondern das ist halt...

01:38:17.140 --> 01:38:18.780
Man kann ja auch noch andere Dinge tun.

01:38:18.780 --> 01:38:20.260
Man könnte auch solche Sachen machen, wie

01:38:20.260 --> 01:38:22.780
ähm...

01:38:22.900 --> 01:38:24.900
äh...

01:38:24.900 --> 01:38:26.800
Na, du hast da einen Rechner,

01:38:26.800 --> 01:38:28.660
auf dem läuft nur

01:38:28.660 --> 01:38:29.740
äh...

01:38:29.740 --> 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.200 --> 01:38:36.760
Sozusagen, genau. Du connectst dich

01:38:36.760 --> 01:38:38.900
darauf. Du hast selber... Bist du abgeschnitten

01:38:38.900 --> 01:38:40.760
von... Du kannst halt bloß

01:38:40.760 --> 01:38:42.860
über so eine grafische Schnittstelle irgendwie mit außen

01:38:42.860 --> 01:38:44.500
kommunizieren. Also das macht man auch manchmal.

01:38:44.500 --> 01:38:46.500
Das ist auch, würde ich sagen, ja eine Firewall.

01:38:46.500 --> 01:38:49.180
Um halt zu verhindern,

01:38:49.180 --> 01:38:50.720
dass du Netzwerke miteinander überhaupt

01:38:50.720 --> 01:38:52.860
verbinden musst. Dann kannst du halt da sagen, okay, da ist eine...

01:38:52.860 --> 01:38:54.720
Da ist gar keine Verbindung

01:38:54.720 --> 01:38:55.420
in dem Sinne.

01:38:55.420 --> 01:38:57.780
Ja.

01:38:57.780 --> 01:39:00.660
Okay. Es würde für mich auch irgendwie unter

01:39:00.660 --> 01:39:01.740
Firewall fallen.

01:39:01.740 --> 01:39:04.720
Oder es kann diverse andere Geschichten geben,

01:39:04.720 --> 01:39:06.780
äh, die halt auch da drunter fallen.

01:39:06.780 --> 01:39:08.920
Also ich würde eher sagen, das ist halt so...

01:39:08.920 --> 01:39:10.860
Das ist eher ein Konzept. Und, äh...

01:39:10.860 --> 01:39:12.940
Ja, aber das ist

01:39:12.940 --> 01:39:15.000
alles Sachen, das ist heute...

01:39:15.000 --> 01:39:16.480
Ich würde sagen, äh, ich weiß es natürlich

01:39:16.480 --> 01:39:18.800
nicht genau, vielleicht, das ist heutzutage eher ein Ding

01:39:18.800 --> 01:39:20.780
für Experten. Weil

01:39:20.780 --> 01:39:22.820
wer hat...

01:39:22.820 --> 01:39:23.240
Mist.

01:39:23.240 --> 01:39:26.840
Also ich meine, wenn einem das Spaß macht, kann man sich ja damit beschäftigen,

01:39:26.840 --> 01:39:29.000
aber, ähm...

01:39:29.000 --> 01:39:29.160
So.

01:39:29.160 --> 01:39:31.740
Das, ähm, ja.

01:39:31.740 --> 01:39:35.040
Die meisten Firmen machen ja auch ihr Rechenzentrumskram

01:39:35.040 --> 01:39:36.700
nicht mehr selber. Auch das macht natürlich Spaß,

01:39:36.700 --> 01:39:38.740
irgendwie selber Racks zu bauen und Kabel zu ziehen

01:39:38.740 --> 01:39:40.660
und die zu labeln und so. Voll gut.

01:39:40.660 --> 01:39:42.380
Aber das macht auch heute kaum noch jemand, weil

01:39:42.380 --> 01:39:44.780
alle gehen halt in die Cloud und...

01:39:44.780 --> 01:39:46.500
Okay.

01:39:46.500 --> 01:39:48.880
Es ist halt so ein bisschen, das wird halt eher, das rutscht

01:39:48.880 --> 01:39:51.180
halt alles so in die Richtung, ähm...

01:39:51.180 --> 01:39:52.780
Commodity. Also früher hat es halt

01:39:52.780 --> 01:39:54.700
hat es vielleicht noch einen Unterschied gemacht, wenn man jetzt

01:39:54.700 --> 01:39:56.340
in einer Firma war und hat halt irgendwie

01:39:56.340 --> 01:39:58.900
sein eigenes Rechenzentrum im Keller betrieben, äh,

01:39:58.900 --> 01:40:00.860
ob man jetzt die Kabel

01:40:00.860 --> 01:40:02.780
ordentlich gelabelt hat, äh, und

01:40:02.780 --> 01:40:04.980
irgendwie da die Paketfelder ordentlich hingestellt hat

01:40:04.980 --> 01:40:06.880
und so. Und heutzutage ist das halt so,

01:40:06.880 --> 01:40:08.880
darüber kann man sich schwer differenzieren, weil

01:40:08.880 --> 01:40:11.040
also außer, man macht's halt

01:40:11.040 --> 01:40:12.820
scheiße. Aber ansonsten kann man es,

01:40:12.820 --> 01:40:15.080
wenn man's gut macht, besser als Amazon

01:40:15.080 --> 01:40:16.620
wird man's nicht machen können. Daher, ähm,

01:40:16.620 --> 01:40:18.660
oder nur, also, mit einem Aufwand, der

01:40:18.660 --> 01:40:20.780
das ist halt nicht mehr gerechtfertigt, ja.

01:40:20.780 --> 01:40:22.520
Nicht mehr bezahlbar, meinst du? Nicht bezahlbar, ja.

01:40:22.740 --> 01:40:24.700
Das lohnt sich einfach nicht. Also, Amazon

01:40:24.700 --> 01:40:26.920
ist so gut, äh, die anderen

01:40:26.920 --> 01:40:28.840
auch, äh, dass sich das

01:40:28.840 --> 01:40:30.960
nicht mehr lohnt, das selber zu machen, um sich da noch irgendwie

01:40:30.960 --> 01:40:31.900
was rauszuholen.

01:40:31.900 --> 01:40:34.780
Das musst du mir nochmal genauer erklären.

01:40:34.780 --> 01:40:36.800
Das ist so ein bisschen schade irgendwie,

01:40:36.800 --> 01:40:38.960
weil natürlich viele coole Sachen, die früher irgendwie

01:40:38.960 --> 01:40:40.400
interessant waren, heute halt nicht mehr,

01:40:40.400 --> 01:40:42.460
nicht mehr so, oder, ähm, ja.

01:40:42.460 --> 01:40:44.780
Aber ich fürchte, das ist halt so der Gang

01:40:44.780 --> 01:40:46.740
der Dinge. Zeiten sind vorbei.

01:40:46.740 --> 01:40:48.160
Ja. Na gut.

01:40:48.160 --> 01:40:50.660
Aber ja, also ich meine, das ist natürlich schon alles interessant.

01:40:50.660 --> 01:40:52.700
Also, ja. Also ich würde vielleicht

01:40:52.700 --> 01:40:54.420
gerne nochmal kurz das mit dem Server anschließen.

01:40:54.420 --> 01:40:56.600
Ähm, ja. So ein bisschen, was ich noch machen würde, also

01:40:56.600 --> 01:40:58.920
für mich jetzt persönlich, ich würde gerne so ein paar IoT-Geräte

01:40:58.920 --> 01:41:00.980
daran schicken. Also ich habe jetzt irgendwo

01:41:00.980 --> 01:41:02.740
ein paar Raspberry-Sensoren oder sowas,

01:41:02.740 --> 01:41:04.600
äh, die ich dann da, äh,

01:41:04.600 --> 01:41:06.780
Broadcast oder sowas, mit MQTT

01:41:06.780 --> 01:41:08.760
habe ich, äh, gelernt, das würde ganz gut funktionieren.

01:41:08.760 --> 01:41:10.820
Und dann lade ich irgendwie so ein Rest, äh,

01:41:10.820 --> 01:41:12.800
oder ein GraphQL, äh, am besten

01:41:12.800 --> 01:41:14.440
was, 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:18.820 --> 01:41:20.760
da lässt du dann... Also, in Django selber rein geht das

01:41:20.760 --> 01:41:22.660
dann wahrscheinlich, wenn du es direkt in Django rein

01:41:22.660 --> 01:41:24.600
schreiben willst, über wahrscheinlich

01:41:24.600 --> 01:41:26.540
sowas wie Django REST-Framework oder halt eben über

01:41:26.540 --> 01:41:28.860
GraphQL oder so, das sind halt so die typischen

01:41:28.860 --> 01:41:30.460
Sachen, mit denen man halt APIs bereitstellt.

01:41:30.460 --> 01:41:31.720
Ähm,

01:41:31.720 --> 01:41:34.120
aber

01:41:34.120 --> 01:41:36.980
was du dann

01:41:36.980 --> 01:41:38.660
auch machen könntest, das ist halt die Frage. Also

01:41:38.660 --> 01:41:40.600
MQTT ist halt insofern schicker,

01:41:40.600 --> 01:41:42.920
als dass es halt genau für solche Anwendungsfälle gedacht ist.

01:41:42.920 --> 01:41:44.520
Ähm,

01:41:44.520 --> 01:41:46.740
und du dir halt über viele Sachen

01:41:46.740 --> 01:41:48.500
nicht mehr selber Gedanken machen musst,

01:41:48.500 --> 01:41:50.600
dass du müsstest, wenn du es halt, äh,

01:41:50.600 --> 01:41:52.620
also wenn du jetzt zum Beispiel, äh,

01:41:52.620 --> 01:41:54.420
irgendwie, äh, keine Ahnung, eben, äh,

01:41:54.420 --> 01:41:56.520
du hast einen Sensor, es ist halt die Frage,

01:41:56.520 --> 01:41:58.460
ob es jetzt wichtig ist, die Daten, die dabei rausfallen,

01:41:58.460 --> 01:42:00.000
oder ob man die ignorieren kann, also wenn jetzt da

01:42:00.000 --> 01:42:02.400
ein wichtiger, äh, nehmen wir an, du hast

01:42:02.400 --> 01:42:04.460
einen Geigerzeller in deinen Raspberry Pi eingeschlossen, ja,

01:42:04.460 --> 01:42:06.600
und, äh, irgendwie der Fallout, die Fallout-Wolke

01:42:06.600 --> 01:42:08.240
ist überzieht über dein Wohngebiet

01:42:08.240 --> 01:42:10.760
und, ähm, aber dummerweise

01:42:10.760 --> 01:42:12.560
ist irgendwie gerade dein Server nicht erreichbar.

01:42:12.560 --> 01:42:14.440
Dann ist es natürlich blöd, wenn jetzt diese

01:42:14.440 --> 01:42:16.400
Information, dass, äh, äh,

01:42:16.400 --> 01:42:18.600
dass dein Garten verseucht ist, äh, äh,

01:42:18.600 --> 01:42:20.540
nicht bei dir ankommt, weil der Raspberry Pi,

01:42:20.540 --> 01:42:22.040
der die Sensordaten bekommen hat,

01:42:22.580 --> 01:42:24.260
sucht dir halt, äh, irgendwie an deinen Server zu schicken

01:42:24.260 --> 01:42:26.520
und der ist halt gerade nicht da. Und was macht,

01:42:26.520 --> 01:42:28.500
was macht dann? Schmeißt dir einfach weg. Schmeißt dir einfach weg,

01:42:28.500 --> 01:42:30.520
ja, was soll das? So, und schmeißt dir einfach

01:42:30.520 --> 01:42:32.380
weg und dann kriegst du die Daten nicht. Hängt

01:42:32.380 --> 01:42:34.440
davon ab, hängt von deinen, deiner, deinen Anforderungen

01:42:34.440 --> 01:42:36.340
ab, ob das jetzt, äh, schlimm ist oder nicht. Kann auch sein,

01:42:36.340 --> 01:42:38.420
dass es nicht schlimm ist. Aber wenn es,

01:42:38.420 --> 01:42:40.540
wenn du möchtest, dass die, ähm,

01:42:40.540 --> 01:42:42.440
dann halt noch irgendwann dahin geschickt werden,

01:42:42.440 --> 01:42:44.320
wenn der Server wieder da ist, dann brauchst du ja selber

01:42:44.320 --> 01:42:46.480
irgendwie eine Art von Queue, dann brauchst du irgendwie eine Warteschlange,

01:42:46.480 --> 01:42:48.280
äh, äh, wo halt die

01:42:48.280 --> 01:42:50.320
Sensordaten erstmal auflaufen und dann halt irgendwie,

01:42:50.480 --> 01:42:52.520
dann, wenn dein Server wieder verfügbar ist, dahin geschickt werden.

01:42:52.520 --> 01:42:54.340
Und,

01:42:54.340 --> 01:42:56.420
ja, das kannst du, dann kannst du noch Features dazu

01:42:56.420 --> 01:42:58.660
bauen und dann implementierst du, äh,

01:42:58.660 --> 01:43:00.420
MQTT oder halt

01:43:00.420 --> 01:43:02.580
beliebiges anderes, äh, Queuing-System,

01:43:02.580 --> 01:43:04.680
Message-Queue-System halt nach.

01:43:04.680 --> 01:43:06.580
Und das muss man nicht tun, man kann

01:43:06.580 --> 01:43:08.420
einfach eins nehmen, das schon fertig ist und das macht das dann

01:43:08.420 --> 01:43:10.540
ein Verein, ne? Okay. Dann sagt man, dann schmeißt man

01:43:10.540 --> 01:43:12.540
halt in die Queue halt irgendwie dieses Sensordatum

01:43:12.540 --> 01:43:14.200
halt rein.

01:43:14.200 --> 01:43:16.120
Und der überlebt dich so lange bisher in

01:43:16.120 --> 01:43:18.420
201. Genau, aber man muss sich,

01:43:18.420 --> 01:43:20.340
man muss sich nicht mehr selber kümmern, dass das,

01:43:20.440 --> 01:43:22.320
irgendwie zugestellt wird und so, das passiert dann automatisch.

01:43:22.320 --> 01:43:24.240
Also der macht dann einfach Post-Requests auf die API?

01:43:24.240 --> 01:43:25.980
Ne, ne, ne, ne. Das Ding macht,

01:43:25.980 --> 01:43:28.280
nein, nein, nein, das ist halt ein eigenes Protokoll. Das macht

01:43:28.280 --> 01:43:29.480
kein, macht auch kein HTTP.

01:43:29.480 --> 01:43:32.200
Das ist ein eigenes Protokoll. Es gibt einen

01:43:32.200 --> 01:43:34.180
MQTT-Broker, der, äh, irgendwie

01:43:34.180 --> 01:43:36.700
weiß, welche, äh,

01:43:36.700 --> 01:43:38.320
ja. Was spricht der dann REST?

01:43:38.320 --> 01:43:40.320
Nein. Was bekommt der denn dann? Kein HTTP.

01:43:40.320 --> 01:43:42.340
Aber wie bekomme ich den denn auf

01:43:42.340 --> 01:43:43.220
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.400
irgendwo bei dir zu Hause MQTT sprechen und dann halt

01:43:50.400 --> 01:43:52.040
irgendwie den ganzen Kram halt periodisch

01:43:52.040 --> 01:43:54.280
zu deinem Server schicken, aber du könntest natürlich auch,

01:43:54.280 --> 01:43:55.740
und das ist fast wahrscheinlich dein geiler,

01:43:55.740 --> 01:43:58.180
äh, zum Beispiel, äh,

01:43:58.180 --> 01:43:59.080
ein VPN aufmachen.

01:43:59.080 --> 01:44:02.040
Ja. Und, ähm,

01:44:02.040 --> 01:44:03.580
hast halt auch, äh,

01:44:03.580 --> 01:44:05.300
quasi einen,

01:44:05.300 --> 01:44:08.280
ähm, ja,

01:44:08.280 --> 01:44:10.420
Ding, was halt, äh,

01:44:10.420 --> 01:44:12.500
äh, die, die

01:44:12.500 --> 01:44:14.380
an der Queue hängt, sozusagen die, die

01:44:14.380 --> 01:44:15.640
konsumiert,

01:44:15.640 --> 01:44:18.320
die, äh, Ereignisse, die da rausfallen,

01:44:18.320 --> 01:44:20.280
die Events, die da rausfallen, und das,

01:44:20.360 --> 01:44:22.280
was dann halt irgendwo zum Beispiel in deine Datenbank direkt

01:44:22.280 --> 01:44:24.220
reinschreibt. Ja, dann gehe ich aber gar nicht mehr über die API.

01:44:24.220 --> 01:44:26.240
Dann gehst du gar nicht mehr über die API, genau. Aber dann habe ich

01:44:26.240 --> 01:44:27.800
noch einen eigenen Service laufen, der, ähm,

01:44:27.800 --> 01:44:30.280
der hängt aber nicht mehr im Caddy, sondern der hängt als Demon

01:44:30.280 --> 01:44:32.320
wieder auf einem eigenen Port. Ja. Genau.

01:44:32.320 --> 01:44:34.200
Aha, und dann muss ich dann einfach dann, der,

01:44:34.200 --> 01:44:36.320
wie kann der denn dann mit der, das ist

01:44:36.320 --> 01:44:38.060
mein Problem, mit der Datenbank, die im

01:44:38.060 --> 01:44:40.460
Docker liegt, reden? Ja, bei, äh,

01:44:40.460 --> 01:44:42.260
auf dem lokalen Host geht das ja alles, da kannst du auch

01:44:42.260 --> 01:44:44.400
mit dem, mit der Datenbank reden, das geht.

01:44:44.400 --> 01:44:46.300
Ah, das heißt, ich muss

01:44:46.300 --> 01:44:48.600
dann aber den, den Container mit reinschreiben,

01:44:48.980 --> 01:44:49.340
den

01:44:49.340 --> 01:44:53.040
MQGT-Broadcaster, damit er

01:44:53.040 --> 01:44:54.860
auf die Datenbank zugreifen kann?

01:44:54.860 --> 01:44:56.940
Nö, das muss man halt bloß irgendwie auf

01:44:56.940 --> 01:44:59.080
da ankommen. Das Ding kann in dem

01:44:59.080 --> 01:45:00.920
Container irgendwie als Prozess laufen, es kann aber auch wieder

01:45:00.920 --> 01:45:01.920
in einem eigenen Container laufen.

01:45:01.920 --> 01:45:04.900
Aber das kann... Genau, ich bin jetzt gerade ein bisschen ausgestiegen

01:45:04.900 --> 01:45:07.100
an der Stelle mit der Verzahnung. Also ich habe jetzt, ähm,

01:45:07.100 --> 01:45:08.640
meinen Django in einem

01:45:08.640 --> 01:45:10.960
Docker-Container laufen, der vom

01:45:10.960 --> 01:45:12.800
Caddy angesteuert wird.

01:45:12.800 --> 01:45:14.100
Mhm.

01:45:14.100 --> 01:45:17.240
Das läuft selber in einem eigenen Container.

01:45:17.240 --> 01:45:18.240
Angesteuert?

01:45:18.940 --> 01:45:20.840
Also der Caddy, der schießt das doch zum

01:45:20.840 --> 01:45:22.100
App-Server.

01:45:22.100 --> 01:45:25.060
Nein, wenn Requests von außen kommen, die landen auf dem Caddy.

01:45:25.060 --> 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.560 --> 01:45:30.080
Der läuft aber als Docker.

01:45:30.080 --> 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.240
Default-Installation mit Cookie-Cutter ist das auch so.

01:45:37.240 --> 01:45:39.140
Da läuft auch der Caddy in einem eigenen

01:45:39.140 --> 01:45:41.660
Container. Und dann ist das ja egal, dann kann der MQGT-

01:45:41.660 --> 01:45:43.160
Broadcaster auch in einem Container laufen, der kann

01:45:43.160 --> 01:45:45.060
aber dann mit den anderen Postgres-Containern zum Beispiel

01:45:45.060 --> 01:45:46.980
reden oder sowas. Ja. Ja, okay.

01:45:46.980 --> 01:45:48.900
Dann kann er das dann reinschreiben und kann dann darauf zugreifen.

01:45:48.900 --> 01:45:51.260
Ja. Der Zugriff, den mache ich jetzt, weiß ich nicht,

01:45:51.260 --> 01:45:52.800
Django kann man flott lieben,

01:45:52.800 --> 01:45:54.940
Seaborn macht man flott lieben oder halt tatsächlich so

01:45:54.940 --> 01:45:56.960
ein bisschen Dash sogar, habe ich gesehen, gibt Django

01:45:56.960 --> 01:45:59.280
im Modul, um das dann irgendwie auf sich darzustellen.

01:45:59.280 --> 01:46:00.740
Wie

01:46:00.740 --> 01:46:02.540
kommunizieren die denn dann mit der Datenbank,

01:46:02.540 --> 01:46:04.940
damit das dann live abgerufen werden kann, wenn ich die Daten

01:46:04.940 --> 01:46:06.080
jetzt live auslesen möchte?

01:46:06.080 --> 01:46:09.220
Weiß ich, ehrlich gesagt.

01:46:09.220 --> 01:46:10.840
Bin ich mir so ein bisschen überfragt, keine Ahnung.

01:46:10.840 --> 01:46:12.320
Also man kann das halt so machen, dass man,

01:46:12.320 --> 01:46:14.780
also du möchtest, dass sich live irgendwie dein

01:46:14.780 --> 01:46:16.320
Graph ändert. Ja.

01:46:16.320 --> 01:46:18.860
Wenn ich auf den Knopf drücke, dann soll das, also auf

01:46:18.860 --> 01:46:20.480
dem Raspberry, auf den Knopf drücke, dann soll das direkt

01:46:20.480 --> 01:46:21.980
sichtbar sein. Ja, dann

01:46:21.980 --> 01:46:24.720
das Einfachste ist wahrscheinlich in JavaScript

01:46:24.720 --> 01:46:26.480
einfach zu pollen, irgendwie alle

01:46:26.480 --> 01:46:28.640
paar hundert Millisekunden oder so einfach

01:46:28.640 --> 01:46:30.680
nochmal die API zu fragen, gibt es neue Daten?

01:46:30.680 --> 01:46:32.180
GetRequest und einfach. Ja.

01:46:32.180 --> 01:46:36.660
Oder, aber das

01:46:36.660 --> 01:46:37.880
ist halt die Frage, ob man das machen möchte.

01:46:37.880 --> 01:46:39.120
Dann nimmst du halt WebSockets

01:46:39.120 --> 01:46:42.800
und dann sowas auf Django-Seite, sowas wie Django-Channels

01:46:42.800 --> 01:46:44.460
oder so, aber dann musst du halt, dann musst du

01:46:44.460 --> 01:46:46.280
einen anderen, musst du auch bestimmt einen anderen...

01:46:46.280 --> 01:46:48.760
Was sind denn WebSockets jetzt schon wieder? Ui, ja, das ist

01:46:48.820 --> 01:46:50.580
halt so eine Erweiterung. Das ist halt dann auch schon

01:46:50.580 --> 01:46:52.320
nicht mehr HTTP, das ist halt was anderes.

01:46:52.320 --> 01:46:54.680
Bei HTTP, da hast du das

01:46:54.680 --> 01:46:56.560
Problem, du hast keine bidirektionale Verbindung,

01:46:56.560 --> 01:46:58.580
sondern du hast halt immer nur Request-Response.

01:46:58.580 --> 01:47:01.480
Mhm. Request-Response

01:47:01.480 --> 01:47:02.720
geht das nicht, weil du kannst

01:47:02.720 --> 01:47:04.640
halt vom Server aus nichts zum Client

01:47:04.640 --> 01:47:06.440
schicken, weil du weißt ja nicht mal, wer deine Clients sind.

01:47:06.440 --> 01:47:08.580
Du hast ja keine Verbindung zu denen. Socket hört sich so an

01:47:08.580 --> 01:47:10.660
wie so ein Port oder sowas, der irgendwie im Internet

01:47:10.660 --> 01:47:11.300
rumschwebt.

01:47:11.300 --> 01:47:14.560
Ähm, Socket. Ja.

01:47:14.560 --> 01:47:16.720
Socket ist quasi sozusagen der, das

01:47:16.720 --> 01:47:18.780
eine Ende der Hörer bei dem Telefon. Wenn du dir vorstellst,

01:47:18.780 --> 01:47:20.680
halt, 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 Telefon-Verbindung, dann wäre Socket

01:47:24.800 --> 01:47:26.800
irgendwie der Hörer, wo man irgendwie was reinwerfen kann,

01:47:26.800 --> 01:47:28.160
was halt auf der anderen Seite rauskommt.

01:47:28.160 --> 01:47:30.020
Und du kannst in beide Richtungen auch was reinwerfen. Ja, genau.

01:47:30.020 --> 01:47:32.300
So, aber HTTP ist halt nicht so, sondern

01:47:32.300 --> 01:47:34.240
HTTP ist eher so wie, ähm,

01:47:34.240 --> 01:47:36.820
Rohrpost. Ja, da wirfst du halt was rein

01:47:36.820 --> 01:47:38.320
und das... Rohrpost.

01:47:38.320 --> 01:47:40.740
Nee, Quatsch, ach, das ist auch Unsinn. Das wäre ja auch bidirektional.

01:47:40.740 --> 01:47:42.560
Äh, äh, ähm,

01:47:42.560 --> 01:47:44.840
HTTP ist eher so wie... Wie so ein Katapult.

01:47:44.840 --> 01:47:46.960
Wie, wie, du hast, äh,

01:47:46.960 --> 01:47:48.680
äh... Katapult in eine Richtung,

01:47:48.740 --> 01:47:50.740
fliegst immer was durch die Stadtmauer, und dann wenn du was...

01:47:50.740 --> 01:47:52.860
Du hast, du hast, du hast

01:47:52.860 --> 01:47:54.720
eine Telefon-Verbindung, aber, äh,

01:47:54.720 --> 01:47:57.160
auf der Server-Seite hast du nur...

01:47:57.160 --> 01:47:58.700
Oder du bist dann in so einem Bandseil und

01:47:58.700 --> 01:48:00.820
versuchst mit der Hand immer ins Wasser. Ach, diese ganzen Vergleiche

01:48:00.820 --> 01:48:02.520
sind nicht gut. Das stimmt alles nicht.

01:48:02.520 --> 01:48:04.740
Es, äh...

01:48:04.740 --> 01:48:08.320
Ja...

01:48:08.320 --> 01:48:10.720
Mir fällt jetzt kein guter, mir fällt kein guter Vergleich ein.

01:48:10.720 --> 01:48:12.600
Das ist aber auf jeden Fall so, du hast halt eben keine Verbindung

01:48:12.600 --> 01:48:14.900
zu deinen Clients, du kannst die nicht benachrichtigen,

01:48:14.900 --> 01:48:16.460
dass sich irgendwas geändert hat. Ja.

01:48:16.460 --> 01:48:18.260
Du kannst immer nur darauf warten, dass sie dich fragen.

01:48:18.700 --> 01:48:20.120
Du kannst ein Fax hin und her schicken, sowas.

01:48:20.120 --> 01:48:22.660
Ja, du kannst halt nichts da hinschicken. Ja.

01:48:22.660 --> 01:48:24.620
Du kannst halt nur darauf warten, dass dich jemand fragt.

01:48:24.620 --> 01:48:26.640
Und das ist halt, äh,

01:48:26.640 --> 01:48:28.680
also, jetzt halten wir einen Vergleich ein.

01:48:28.680 --> 01:48:30.340
Du bist halt so wie die, äh,

01:48:30.340 --> 01:48:32.580
wie die, äh, wie beim Bahnhof, die Information.

01:48:32.580 --> 01:48:34.740
Ja? So, die Leute können zu dir

01:48:34.740 --> 01:48:36.520
kommen und dich irgendwas fragen, aber wenn jetzt...

01:48:36.520 --> 01:48:38.780
Wenn jetzt der Zug, äh, irgendwie, keine Ahnung, äh,

01:48:38.780 --> 01:48:40.720
äh, ausfällt, äh, die Wagenreihung sich ändert

01:48:40.720 --> 01:48:41.980
oder Godzilla drüber gelaufen ist,

01:48:41.980 --> 01:48:44.340
dann kannst du das den ganzen

01:48:44.340 --> 01:48:46.260
Reisenden nicht sagen.

01:48:46.260 --> 01:48:48.260
Sondern die müssen kommen und dich fragen.

01:48:48.660 --> 01:48:50.120
Ja. Quasi. Ja, ja.

01:48:50.120 --> 01:48:52.600
Ja, meine Kunden haben ja so eine Durchsage, aber so weit sind wir jetzt noch nicht.

01:48:52.600 --> 01:48:53.940
Das ist viel zu modern. Ja, ja, ja.

01:48:53.940 --> 01:48:56.300
Das, das, äh, ja, genau. Da geht's dann natürlich schon wieder kaputt

01:48:56.300 --> 01:48:58.520
mit der, mit der, mit der Metapher. Aber, ähm,

01:48:58.520 --> 01:49:00.340
ähm,

01:49:00.340 --> 01:49:02.220
ja, äh, also,

01:49:02.220 --> 01:49:04.940
eben, äh,

01:49:04.940 --> 01:49:06.740
wenn du dann WebSockets hast, dann geht's halt doch.

01:49:06.740 --> 01:49:08.180
Dann hast du eben eine Verbindung zu einem Client,

01:49:08.180 --> 01:49:10.080
den kannst du dann in Echtzeit direkt sagen, so.

01:49:10.080 --> 01:49:12.640
Wie mach ich WebSockets an? Also, bei Django hast du gesagt

01:49:12.640 --> 01:49:14.300
Channels. Ja, Django Channels ist ne,

01:49:14.300 --> 01:49:16.340
das Problem ist aber, du brauchst halt einen anderen

01:49:16.340 --> 01:49:18.640
Server dann, Applikationsserver,

01:49:18.640 --> 01:49:20.840
weil der das kann. Und welcher Applikationsserver

01:49:20.840 --> 01:49:22.220
kann WebSockets von Django?

01:49:22.220 --> 01:49:24.700
Äh, das, äh, der kommt dann da mit

01:49:24.700 --> 01:49:26.600
Django Channels, sagt mit. Der heißt irgendwie Daphne.

01:49:26.600 --> 01:49:28.640
Und, ähm,

01:49:28.640 --> 01:49:30.140
ja,

01:49:30.140 --> 01:49:32.420
es gibt auch, glaube ich, einen, der,

01:49:32.420 --> 01:49:33.240
äh,

01:49:33.240 --> 01:49:36.740
so ähnlich ist wie Unicorn. Der heißt bloß ein bisschen anders.

01:49:36.740 --> 01:49:37.720
Der das dann auch kann.

01:49:37.720 --> 01:49:40.860
Äh, aber, äh,

01:49:40.860 --> 01:49:42.640
genau. Also, das ist halt, das ist alles nicht mehr so

01:49:42.640 --> 01:49:44.440
einfach dann. Und, ähm, ja.

01:49:44.440 --> 01:49:46.640
Ja, aber

01:49:46.640 --> 01:49:48.620
jetzt hab ich schon wieder jede Menge gelernt. Ich bin ja wieder

01:49:48.620 --> 01:49:50.500
weitergekommen. Ähm, was mir jetzt das Einzige, was mir

01:49:50.500 --> 01:49:52.460
noch so fehlt tatsächlich, wäre jetzt das Indie-Web,

01:49:52.460 --> 01:49:54.420
was ich jetzt da irgendwie bauen wollte. Ach so, das

01:49:54.420 --> 01:49:56.600
Indie-Web, Indie-Web-Geschichten, genau. Dafür brauchst du,

01:49:56.600 --> 01:49:58.360
also, wenn du ein eigenes Domain hast, schon mal sehr gut,

01:49:58.360 --> 01:50:00.320
dann, äh, kannst du schon mal ne Menge machen.

01:50:00.320 --> 01:50:02.460
Ähm, und das auch,

01:50:02.460 --> 01:50:03.700
vor allen Dingen kannst du ne Menge nachrüsten.

01:50:03.700 --> 01:50:06.420
Ansonsten, bei Django sieht's da momentan noch nicht so richtig

01:50:06.420 --> 01:50:07.820
doll aus. Also, äh,

01:50:07.820 --> 01:50:10.640
da muss man noch ein bisschen was basteln.

01:50:10.640 --> 01:50:12.620
Ja, ich hab jetzt tatsächlich irgendwie

01:50:12.620 --> 01:50:14.180
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.420
daneben, ist eigentlich relativ egal. Ja, da gibt's auch nix, aber

01:50:18.420 --> 01:50:20.540
ja. Aber dann gibt's halt jeweils die anderen Module,

01:50:20.540 --> 01:50:22.380
die man dann irgendwie sich herausfinden muss, welche das dann

01:50:22.380 --> 01:50:23.640
sind, und das funktioniert aber dann quasi

01:50:23.640 --> 01:50:25.900
relativ ähnlich.

01:50:25.900 --> 01:50:28.260
Genau. Also, Indie-Web-Geschichten ist

01:50:28.260 --> 01:50:30.180
momentan eher noch alles so in der PHP-Welt

01:50:30.180 --> 01:50:32.080
zu Hause. Ja, okay.

01:50:32.080 --> 01:50:34.540
Ja, so ist es halt, aber, ähm,

01:50:34.540 --> 01:50:36.460
Das heißt, ich muss dann einfach den Ketti auf

01:50:36.460 --> 01:50:38.300
ein PHP-Verzeichnis schicken, oder?

01:50:38.300 --> 01:50:40.220
Wenn du jetzt,

01:50:40.220 --> 01:50:42.200
nee,

01:50:42.200 --> 01:50:44.420
den könntest du, also, ich weiß nicht, wie man

01:50:44.420 --> 01:50:46.060
das heutzutage so macht mit PHP, also diese,

01:50:46.380 --> 01:50:48.420
ich hoffe, dass auch mal da die Zeiten so, wo man

01:50:48.420 --> 01:50:50.320
da irgendwie so eine Web-Route hatte

01:50:50.320 --> 01:50:52.380
und da irgendwie PHP-Dateien, die dann irgendwie

01:50:52.380 --> 01:50:54.300
magisch ausgeführt werden über Mod.php oder so,

01:50:54.300 --> 01:50:56.340
und Apache, ich hoffe ja mal, dass das nicht

01:50:56.340 --> 01:50:58.340
mehr so ist, äh, sondern

01:50:58.340 --> 01:51:00.180
dass man da auch das inzwischen so macht, dass man da halt

01:51:00.180 --> 01:51:02.160
irgendwie Ketti davor hat, oder irgendwie

01:51:02.160 --> 01:51:04.100
NNX, und dann hast du halt Applikations-Server,

01:51:04.100 --> 01:51:05.980
die halt PHP, äh...

01:51:05.980 --> 01:51:08.200
Aber im Worst-Case könntest du sagen, dass ich neben dem Ketti dann einfach

01:51:08.200 --> 01:51:10.100
ein Apache mit einem Mod.php laufen habe,

01:51:10.100 --> 01:51:11.660
und der dann Ansprüche hat auf den nächsten Port.

01:51:11.660 --> 01:51:14.120
Kannst du, ja, könntest du das natürlich auch machen. Du kannst ja einfach

01:51:14.120 --> 01:51:15.740
im Ketti sagen, so, das, äh, bitte,

01:51:16.360 --> 01:51:18.400
diese Domain oder diese Subdomain,

01:51:18.400 --> 01:51:20.320
oder was auch immer, an den Apache weiterreichen geht

01:51:20.320 --> 01:51:22.260
natürlich auch, und den in einen eigenen Container packen, klar.

01:51:22.260 --> 01:51:24.380
Und dann fürs Indie-Web, was baue ich denn

01:51:24.380 --> 01:51:25.620
da noch, also eigentlich auch, sagen wir mal?

01:51:25.620 --> 01:51:28.360
Ja, kommt halt darauf an, was du machen möchtest, aber da müssen wir noch mal,

01:51:28.360 --> 01:51:30.300
also weiß ich jetzt ehrlich gesagt auch nicht so genau.

01:51:30.300 --> 01:51:32.020
Okay, das machen wir dann noch mal von extern,

01:51:32.020 --> 01:51:34.500
da haben wir ja schon mal ein bisschen kurz eingerichtet, aber das könnt ihr euch da bestimmt auch einlegen,

01:51:34.500 --> 01:51:36.380
da gibt's ja Dokus zu, aber das geht

01:51:36.380 --> 01:51:38.240
alles mit demselben Server. Also ja,

01:51:38.240 --> 01:51:40.260
GitLab haben wir gesagt, kannst du auch selber drauf

01:51:40.260 --> 01:51:42.100
bauen, wenn du deine eigene Versionskontrolle bauen willst,

01:51:42.100 --> 01:51:44.060
dann ein GitLab-Server, das

01:51:44.060 --> 01:51:46.300
wird wahrscheinlich auch einfach ein Dienst sein,

01:51:46.360 --> 01:51:46.860
oder, Demon?

01:51:46.860 --> 01:51:48.560
Was ist das?

01:51:48.560 --> 01:51:52.460
Ja, ja, ja, ja,

01:51:52.460 --> 01:51:54.000
ja, nee, das ist einfach auch wieder eine

01:51:54.000 --> 01:51:55.960
Web-Geschichte, ne? Also GitLab ist einfach

01:51:55.960 --> 01:51:56.900
auch nur so ein Web-Frontend.

01:51:56.900 --> 01:52:00.160
Ruby und Rails ist halt, ich weiß nicht genau,

01:52:00.160 --> 01:52:01.960
wie aufwendig das zu hosten ist, also irgendwann

01:52:01.960 --> 01:52:03.720
wird's dann natürlich schwerer. Also wenn du einen

01:52:03.720 --> 01:52:06.100
10-Container hast, oder 20, oder irgendwann wird's dann mit dem Hauptspeicher

01:52:06.100 --> 01:52:08.000
ein bisschen eng. Keine Ahnung.

01:52:08.000 --> 01:52:09.800
Brauchen wir möglicherweise auch eine eigene Datenbank?

01:52:09.800 --> 01:52:11.140
Ja.

01:52:11.140 --> 01:52:14.000
Also Datenbanken sollte man

01:52:14.000 --> 01:52:16.000
nicht so viele nehmen, man sollte die meisten Sachen in dieselbe Datenbank

01:52:16.000 --> 01:52:16.280
packen.

01:52:16.360 --> 01:52:17.380
Weil Datenbanken viel

01:52:17.380 --> 01:52:20.040
Dinge brauchen? Nein? Ich würde das tatsächlich

01:52:20.040 --> 01:52:21.900
so machen. Ganz viele kleine Container, ganz viele

01:52:21.900 --> 01:52:24.140
kleine Datenbanken. Nee, ich würde das nach Systemen

01:52:24.140 --> 01:52:25.900
auftrennen. Nach Projekten.

01:52:25.900 --> 01:52:27.920
Ja, okay. Und dann

01:52:27.920 --> 01:52:29.860
immer einen eigenen Container für die Datenbanken machen.

01:52:29.860 --> 01:52:31.720
Und das nicht alles auf eine Datenbank

01:52:31.720 --> 01:52:33.940
packen, weil auch da wiederum, wenn du das halt

01:52:33.940 --> 01:52:35.980
irgendwie updatest oder so, du möchtest ja eigentlich,

01:52:35.980 --> 01:52:37.940
oder du bist halt dann, du begibst dich

01:52:37.940 --> 01:52:39.880
dann in das Gebiet. Du musst die Datenbank

01:52:39.880 --> 01:52:41.380
löschen für ein Projekt, und dann sind alle Projekte gut.

01:52:41.380 --> 01:52:43.980
Du upgradest die Datenbank, und dann sind alle Projekte

01:52:43.980 --> 01:52:45.000
down. Das ist ja nicht eigentlich.

01:52:46.360 --> 01:52:48.560
Sondern du willst halt auch vielleicht mit einem Projekt

01:52:48.560 --> 01:52:50.460
auf einer bestimmten Datenbank-Version bleiben

01:52:50.460 --> 01:52:52.380
können und so. Und du willst halt

01:52:52.380 --> 01:52:54.320
die ganzen Systeme voneinander isolieren. Es ist natürlich

01:52:54.320 --> 01:52:56.420
effizienter, wenn du irgendwo einen Datenbank-Server hast,

01:52:56.420 --> 01:52:58.760
wo alle deine Datenbanken

01:52:58.760 --> 01:53:00.500
liegen. Ja, viel effizienter, aber

01:53:00.500 --> 01:53:02.200
ist halt viel schwerer, was die,

01:53:02.200 --> 01:53:03.700
was die,

01:53:03.700 --> 01:53:06.340
was den Betrieb angeht. Das heißt,

01:53:06.340 --> 01:53:08.300
ich muss dann von meinem Web-Server auf den Datenbank-Server immer

01:53:08.300 --> 01:53:10.400
hin und her connecten oder sowas, ja.

01:53:10.400 --> 01:53:12.480
Naja, es ist halt einfach, du musst

01:53:12.480 --> 01:53:13.320
dann, du musst dann

01:53:13.320 --> 01:53:16.000
plötzlich Dinge tun. Du musst dann

01:53:16.000 --> 01:53:17.520
irgendwie, da musst du Backups haben,

01:53:17.520 --> 01:53:20.260
musst du auch so haben, aber das kriegst du alles in deinem Projekt

01:53:20.260 --> 01:53:22.080
unter. Aber wenn du jetzt einen eigenen

01:53:22.080 --> 01:53:24.180
Datenbank-Server hast, dann ist das mit den Backups

01:53:24.180 --> 01:53:25.040
immer alles nicht mehr so einfach.

01:53:25.040 --> 01:53:27.280
Dann ist, dann, pff,

01:53:27.280 --> 01:53:30.180
dann, das, also wenn du das machst,

01:53:30.180 --> 01:53:32.080
dann bist du halt schon im Profibereich irgendwie

01:53:32.080 --> 01:53:34.140
unterwegs, dann machst du sonst nichts mehr. Dann machst du genau das

01:53:34.140 --> 01:53:35.600
nur noch. Und die Frage ist,

01:53:35.600 --> 01:53:38.120
ja, für Hobbygeschichten lohnt sich das ja überhaupt gar nicht.

01:53:38.120 --> 01:53:40.000
Also, äh,

01:53:40.000 --> 01:53:42.000
ja. Ja, dann sind wir wieder, ich glaube,

01:53:42.000 --> 01:53:43.840
den Kreis können wir jetzt schließen. Wir sind ja nämlich bei

01:53:43.840 --> 01:53:45.640
der Taiga angekommen, weil

01:53:45.640 --> 01:53:47.480
die möchte ich jetzt vielleicht auch noch laufen lassen. Ich hätte gerne ein paar

01:53:47.480 --> 01:53:49.680
Kanban-Boards irgendwie für mich persönlich, die ich dann da selber hoste.

01:53:49.680 --> 01:53:51.680
Genau dasselbe. Ich muss da wieder was hochfahren,

01:53:51.680 --> 01:53:53.540
was, was Routen über da in Keddy und

01:53:53.540 --> 01:53:55.180
auf der Aplikation laufen und läuft.

01:53:55.180 --> 01:53:57.900
Ja, super. Also ja, wenn ich das irgendwie

01:53:57.900 --> 01:53:59.680
mache, ich bin gespannt, wie lange ich dafür brauche, bis das

01:53:59.680 --> 01:54:01.360
alles rennt. Ich gebe euch die Zeit.

01:54:01.360 --> 01:54:02.760
Ja, wenn, äh,

01:54:02.760 --> 01:54:03.900
am Ball bleiben.

01:54:03.900 --> 01:54:07.300
Das ist auch, aber ich meine, wenn du, also

01:54:07.300 --> 01:54:09.260
ich höre, dass du wirst die ganze Menge Zeug betreiben.

01:54:09.260 --> 01:54:11.640
Da brauchst du wahrscheinlich dann schon eher so

01:54:11.640 --> 01:54:13.580
eigene Hardware oder sagen wir so, dann wird es mit eigener Hardware

01:54:13.580 --> 01:54:15.400
deutlich günstiger, als wenn du jetzt

01:54:15.400 --> 01:54:16.920
da irgendwie eine

01:54:16.920 --> 01:54:19.300
virtuelle Container irgendwie

01:54:19.300 --> 01:54:21.400
mietest, der dick genug ist, dass du das alles damit machen kannst.

01:54:21.400 --> 01:54:22.440
Das wird dann relativ schnell teuer.

01:54:22.440 --> 01:54:24.720
Ja, ja, also der RAM ist, glaube ich, das größte Problem.

01:54:24.720 --> 01:54:26.680
Ja, RAM ist irgendwie das, ja, würde ich auch sagen.

01:54:26.680 --> 01:54:28.700
Ja, ich habe noch so einen kleinen Dreck in der Ecke, aber dann

01:54:28.700 --> 01:54:30.680
ist es auch irgendwie doof und ja.

01:54:30.680 --> 01:54:33.280
Ja, ich muss überlegen, was da irgendwie am besten

01:54:33.280 --> 01:54:35.180
in Frage kommt. Aber damit kannst du ja vielleicht starten.

01:54:35.180 --> 01:54:36.920
Du kannst ja zu Hause anfangen. Ja, ja, der ist schon,

01:54:36.920 --> 01:54:38.240
der läuft schon eine ganze Weile, aber das

01:54:38.240 --> 01:54:39.820
macht keinen Spaß.

01:54:39.820 --> 01:54:43.340
Ja, aber ich muss ja eh immer so ein ganzes Team bauen

01:54:43.340 --> 01:54:45.160
und so. Aber ich möchte die ganze Nacht halt dann einfach

01:54:45.160 --> 01:54:47.060
wieder umbauen können, dass das nicht jedes Mal

01:54:47.060 --> 01:54:48.440
dieser ganze Konfigurationsaufwand ist.

01:54:48.440 --> 01:54:50.700
Ich habe jetzt irgendwie einen Pedora-Server dann irgendwie hingestellt,

01:54:50.700 --> 01:54:52.880
der so irgendwie einige Sachen auch konnte, der auch in den Postgres

01:54:52.880 --> 01:54:54.780
auch lief und irgendwie auch dann

01:54:54.780 --> 01:54:56.360
danken konnte, aber dass das alles nicht so

01:54:56.360 --> 01:54:58.780
gewesen ist heute.

01:54:58.780 --> 01:55:00.520
Aber wir haben jetzt auf jeden Fall, das finde ich total super.

01:55:00.520 --> 01:55:02.820
Ich habe da kein Candy, kein Reels und nichts da gebaut.

01:55:02.820 --> 01:55:05.040
Das war mir bisher völlig unbekannt und

01:55:05.040 --> 01:55:06.920
ja, finde ich super, dass man das alles so machen

01:55:06.920 --> 01:55:08.740
kann. Also bis jetzt geht es ja immer nur so

01:55:08.740 --> 01:55:10.960
Docker-Containers bauen, dann läuft das alles irgendwie magisch.

01:55:10.960 --> 01:55:12.720
Aber wenn man nicht so wirklich versteht, was dann dahinter steckt,

01:55:12.720 --> 01:55:14.960
ist das nochmal eine ganz andere Hürde,

01:55:14.960 --> 01:55:16.840
glaube ich, auch zu verstehen, warum was gerade nicht geht

01:55:16.840 --> 01:55:18.820
oder so. Und ja, vielen Dank,

01:55:18.820 --> 01:55:20.180
dass du mir das alles wieder heute hier erklärt hast.

01:55:20.180 --> 01:55:22.880
Ich weiß nicht, ob das alles

01:55:22.880 --> 01:55:24.660
irgendwie klar geworden ist oder nur noch viel verwirrender.

01:55:24.660 --> 01:55:26.600
Nein, nein, das war richtig, richtig, richtig klar.

01:55:26.600 --> 01:55:28.640
Also eine große Erleuchtung und

01:55:28.640 --> 01:55:30.760
man kann sich das ja alles nochmal zurückspulen oder nochmal

01:55:30.760 --> 01:55:32.020
langsam abspulen.

01:55:32.020 --> 01:55:34.560
Ich fand es echt cool.

01:55:34.560 --> 01:55:36.100
Ja, also auf jeden Fall.

01:55:36.100 --> 01:55:37.460
Tolle Folge für mich mal heute hier.

01:55:37.460 --> 01:55:39.320
Ich mag sie natürlich immer.

01:55:39.320 --> 01:55:42.560
Ja, und

01:55:42.560 --> 01:55:44.760
genau, also

01:55:44.760 --> 01:55:46.020
ja, also macht

01:55:46.020 --> 01:55:48.580
auch Spaß und ich denke,

01:55:48.580 --> 01:55:50.200
dass man zumindest, also wenn man

01:55:50.200 --> 01:55:52.420
ein paar Anregungen hat, wie man

01:55:52.420 --> 01:55:54.600
selber eine Webseite irgendwie

01:55:54.600 --> 01:55:56.920
oder Django-Python-Kram

01:55:56.920 --> 01:55:58.500
im Web betreiben kann und

01:55:58.500 --> 01:56:00.620
wenn man das eigentlich vielleicht heutzutage so macht,

01:56:00.620 --> 01:56:02.580
dann ist das ja auch schon mal nicht so schlecht, weil man muss

01:56:02.580 --> 01:56:04.600
eh viel recherchieren und bei Django

01:56:04.600 --> 01:56:06.320
würde ich sagen, irgendwie ein Buch kaufen,

01:56:06.320 --> 01:56:08.240
Cookie-Pattern-Template verwenden.

01:56:08.240 --> 01:56:12.500
Ja, also ich gehe jetzt gleich

01:56:12.500 --> 01:56:14.560
die Mail von Thorsten durch und freue mich, dass wir

01:56:14.560 --> 01:56:15.740
heute alle wieder zugehört habt.

01:56:15.740 --> 01:56:16.820
Fand ich richtig super.

01:56:16.820 --> 01:56:20.180
Ich habe ja sowieso auch keine

01:56:20.180 --> 01:56:21.620
Ja, mit Blick der Woche habt ihr das ja heute Morgen.

01:56:21.620 --> 01:56:23.580
Habe ich schon verbrannt, so irgendwie gerade am Anfang.

01:56:23.580 --> 01:56:25.720
Machen wir dann diesmal nicht.

01:56:25.720 --> 01:56:26.540
Ja, das machen wir nächstes Mal.

01:56:26.540 --> 01:56:27.320
Gut, okay.

01:56:27.320 --> 01:56:29.780
Ja, dann super, dass ihr wieder reingeschaltet habt. Bleibt uns gewogen.

01:56:29.780 --> 01:56:32.560
Immer dann, wann ihr auch hört, ob gerade die Sterne scheinen

01:56:32.560 --> 01:56:33.760
oder die Sonne brüht.

01:56:33.760 --> 01:56:35.220
Ja, wir hören uns.

01:56:35.220 --> 01:56:37.160
Bis später. Tschüss.
