Wir haben ChatGPT verwendet, um die Grammatik und Syntax des Transkripts zu verbessern.
Greg: Halloween, ich bringe die Energie! Darauf warst du nicht gefasst, oder?
Thomas: Ganz und gar nicht!
Greg: In Ordnung, das ist gut. Ich liebe die Energie. Wir müssen die Energie haben! Also, willkommen zum Upsun-Livestream! Mein Name ist Greg Qualls, ein Möchtegern-Entwickler aus Texas, und ich bin hier mit Thomas di Luccio. Heute werden wir einige der gruseligsten Dinge tun, die man sich nur vorstellen kann. Wir werden einen... Lasttest durchführen! Ich weiß nicht, für mich ist das ein Spaß. Wir werden Dinge kaputt machen. Wir werden es live machen und es herausfinden. Wie fühlen Sie sich dabei? Seid ihr bereit?
Thomas: Wir werden sehen! Ich denke, ich bin bereit dafür. Ich ziehe es vor, Dinge privat kaputt zu machen, aber es vor anderen Leuten zu tun - das ist eine ganz andere Geschichte! Lass uns die Dinge vor dem Schwarzen Freitag oder anderen Spitzenzeiten kaputt machen; das ist weniger gruselig. Auch wenn heute ein gruseliger Tag ist, wo auch immer Sie feiern.
Greg: Genau! Manche Leute tragen vielleicht Kostüme; wir machen Lasttests.
Bevor wir uns damit befassen, sollten wir ein paar neue Nachrichten behandeln. Gehen wir sie durch!
Gut, da mein Bildschirm hier geteilt wird, beginne ich mit den heutigen Neuigkeiten. Gestern wurde bekannt, dass der CEO von Google verkündet hat, dass über 25 % des Codes von Google jetzt von KI geschrieben wird. Ich habe dazu eine Frage, da dies in einem Analystengespräch bekannt gegeben wurde. Wie viel davon ist das, was wir als generative KI mit großen Sprachmodellen (LLM) bezeichnen würden, z. B. mit Tools wie ChatGPT, Claude oder etwas Ähnlichem? Oder könnte es sich einfach um eine automatische Vervollständigung handeln? Was meinen Sie dazu?
Thomas: Das ist eine gute Frage. Ehrlich gesagt, weiß ich nicht, was ich von dieser Zahl halte, weil wir nicht wissen, ob eine KI ganze Codestücke schreibt oder ob sie nur assistiert, z. B. beim automatischen Vervollständigen von Code. Ich meine, wenn etwas schief geht, ist es vielleicht ein einfacher Ausweg - man gibt einfach der KI die Schuld!
Greg: Stimmt, aber das ist gefährlich, denn wenn die KI empfindungsfähig wird und anfängt, die Kontrolle zu übernehmen, bist du der Erste auf der Liste, der ihr die Schuld gibt.
Thomas: Ganz genau. Es ist nicht so, dass die KI schuld ist, sie hat nur nicht die richtigen Anweisungen oder Ressourcen bekommen. Das ist meine Meinung - vielleicht müssen wir einfach abwarten, ob diese Zahlen im Laufe der Monate weiter ansteigen. Jetzt könnten es 25 % sein, und in Zukunft vielleicht 50 %.
Greg: Genau! Das ist wie die Kulisse für einen Katastrophenfilm - eine empfindungsfähige KI, die Zeile für Zeile die Kontrolle übernimmt. Und nach dem, was ich in dem Artikel gelesen habe, fühlte sich diese Nachricht wie eine "Gewinnmitnahme" an - als ob Google meinte, KI erwähnen zu müssen, um Aufmerksamkeit zu bekommen, auch wenn es sonst nicht viel zu berichten gab.
Thomas: Ja, genau. Sie wollen, dass KI als sicher wahrgenommen wird, nach dem Motto: "Hey, wir nutzen KI, also ist sie auch sicher!" Ich denke, das ist eine gewisse Beruhigung.
Greg: Interessante Perspektive! Wie auch immer, was haben Sie heute Morgen für uns?
Thomas: Das sind keine Tech-News - zumindest noch nicht. Das sind Geek-News. Kürzlich bin ich auf ein Update zum Langlands-Programm gestoßen. Schon mal davon gehört?
Greg: Nein, was ist das?
Thomas: Es handelt sich im Wesentlichen um die "Theorie von allem" in der Mathematik, benannt nach dem kanadischen Mathematiker Robert Langlands. In der Physik arbeiten die Wissenschaftler daran, alle Kräfte zu vereinheitlichen; Langlands versucht, alle Bereiche der Mathematik in einem Rahmen zu vereinheitlichen. Das ist komplex und übersteigt, ehrlich gesagt, mein Verständnis, aber es ist unglaublich, diesen Fortschritt in der Mathematik zu sehen. Wenn Sie ein Nerd sind, werden Sie es lieben!
Greg: Das ist erstaunlich! Allein der Versuch, mir eine "Theorie von allem" in der Mathematik vorzustellen, ist umwerfend.
Thomas: Genau, es ist, als würde man einen Rahmen schaffen, in dem alle mathematischen Bereiche auf eine kohärente Art und Weise vereinheitlicht werden, so dass man neue Grenzen verschieben kann. Das ist der Wahnsinn.
Greg: Das macht Sinn - sie wollen eine Gleichung oder ein Gerüst, auf dem alle anderen Gleichungen aufbauen können, weil bewiesen ist, dass es funktioniert. Das ist großartig.
Thomas: Ja, und egal, in welchem Bereich der Mathematik man tätig ist, dieser einheitliche Weg würde alles lösen. Wenn jemand Fehler in meiner Erklärung findet, lasst es mich wissen, aber das ist die allgemeine Idee.
Greg: Cool! Vielleicht können wir zum "Versteck des Tages" übergehen?
Thomas: Auf jeden Fall! Im "Versteck des Tages" stellen wir coole Dinge vor, die wir gefunden haben und die uns und hoffentlich auch andere glücklich machen. Ich glaube, ich fange an, denn ich bin als Erster dran.
Greg: Leg los!
Thomas: In Ordnung, ich habe interessante Neuigkeiten für das heutige "Versteck" - es ist allerdings ein bisschen anders. Es gibt diese seltsamen Neuigkeiten in der DevOps-Welt rund um WordPress und WP Engine. Es ist ein ganzes Drama, bei dem geschäftliche Entscheidungen mit dem vermischt werden, was sich anfühlt wie ein Komitee von drei Kleinkindern in Trenchcoats, die unberechenbare Entscheidungen treffen.
Greg: Ha! Haben Sie den Godzilla-Film gesehen, in dem der Wissenschaftler sagt: "Lasst sie kämpfen"? Das ist meine Herangehensweise an diese Sache: einfach geschehen lassen und sehen, wo es landet!
Thomas: Ganz genau! Jeden zweiten Tag gibt es eine neue Wendung, und das ist ehrlich gesagt ein bisschen traurig. Aber ich habe ein gutes Tool gefunden, um mit all dem Lärm fertig zu werden - es ist ein Produkt von Google Labs namens Notebook LM, das für Autoren entwickelt wurde. Es hilft dabei, den Überblick über Hintergrundgeschichten und Faktenchecks zu behalten, wie Retrieval-Augmented Generation (RAG), bei dem man Quellenmaterial eingibt und es so organisiert, dass man sich an Dinge erinnern kann.
Greg: Das klingt faszinierend! Mit Notebook LM können Sie also aus verschiedenen Quellen schöpfen und Ihre eigene generative KI einsetzen, um Inhalte zu erstellen, die auf dem basieren, was Sie ihr eingegeben haben?
Thomas: Ja, genau. Die Autoren können auf der linken Seite Dokumentationen und Quellen hinzufügen und dann Fragen stellen oder neues Material auf der Grundlage der gespeicherten Daten erstellen. Das ist sehr nützlich für jeden, der etwas mit umfangreichem Wissen oder Daten erstellt. Ich verwende es nicht dafür, aber ich kenne andere, die es hilfreich finden.
Greg: Das klingt nach Spaß. Ich kann mir vorstellen, wie man damit herumspielen kann!
Thomas: Genau. Ein interessantes Feature ist, dass es einen eigenen Podcast erstellen kann, obwohl wir den Ton hier nicht zum Laufen bringen konnten. Das ist interessant, aber ich verstehe noch nicht ganz, wie es in das Tool passt.
Greg: Vielleicht möchten einige Leute ihre Notizen oder Dokumente während der Arbeit oder auf dem Weg zur Arbeit anhören, damit sie auch unterwegs auf dem Laufenden bleiben können.
Thomas: Ja, es ist fast so, als würde man eine Audioversion dessen erstellen, was man geschrieben hat, aber es wird ein ganz neues Stück Inhalt daraus. Das könnte in einigen Fällen interessant sein, aber ich bin noch dabei, es herauszufinden.
Greg: Ich glaube, dass viele dieser KI-Tools zunächst nur zum Spaß eingesetzt werden, und irgendwann findet jemand eine wirklich praktische Anwendung für sie. Ich hoffe, dass die Leute nicht einfach nur Podcasts mit KI-Müll vollspammen, sondern tatsächlich wertvolle Möglichkeiten finden, sie zu nutzen.
Thomas: Stimmt! Wir werden sehen, wohin das führt. Apropos stash, ich habe etwas supergeekiges gefunden - einen einzigen Befehl für dein Terminal, der alle lokalen Zweige außer dem Hauptzweig aufräumt.
Greg: Schön! Wie lautet der Befehl?
git branch | grep -v "main" | xargs git branch -D
Kannst du nachvollziehen, was er bewirkt?
Thomas: Er holt alle Zweige und löscht alles, was nicht "main" enthält. Das ist toll, wenn man ein Tool wie Linear benutzt und tonnenweise Zweige hat. Man kann sie einfach mit einem Befehl löschen und nur den Hauptzweig übrig lassen.
Greg: Ich liebe es. Ich werde es "Git Bankrott" nennen. Das ist so, als würde man für alle lokalen Zweige außer dem Hauptzweig den Bankrott erklären. Ich könnte das bei Projekten verwenden, bei denen ich viel zu viele tote lokale Zweige habe.
Thomas: "Git Bankruptcy" ist ein perfekter Name! Du erklärst einfach den Bankrott deiner Zweige, löschst alles außer main und räumst auf. Ich habe diesen Trick vor ein paar Wochen entdeckt und wende ihn jetzt immer an, wenn ich zu viele Zweige habe. Einfach kopieren, einfügen, und schon ist man wieder beim Hauptprogramm.
Sie könnten sogar einen Git-Alias dafür anlegen und ihn "bankrupt" nennen. Dann brauchen Sie jedes Mal, wenn Sie aufräumen müssen, nur "git bankrupt" auszuführen, und das war's.
Greg: Gute Idee! Wir heben das auf eine ganz neue Ebene! Da wir gerade von Hauptzweigen sprechen, denke ich, dass es an der Zeit ist, zu unserem Hauptthema des Tages überzugehen.
Ja, lasst uns versuchen, die Dinge zu ändern, bevor der Schwarze Freitag uns ändert! Wir haben vorhin darüber gesprochen, wie wir das Ganze einrichten, und ich denke, Schritt eins ist es, unser Fundament zu zeigen. Ich habe meinen Bildschirm zum Teilen bereit, und dann kommen wir zu dir rüber, Thomas, da du das alles eingerichtet hast.
Thomas: Klar doch. Nur um das klarzustellen, ich habe nicht alles selbst eingerichtet - unser Kollege Von hat uns anfangs beim Aufbau dieser Shopware-Anwendung geholfen. Ich habe einen gewissen Lastausgleich vorgenommen, aber es war definitiv eine Teamleistung.
Greg: Danke, Von! In Ordnung, wir sind jetzt in der Upsun-Konsole. Hier ist ein Vorschaubild unseres Demo-Shops, in dem Sie Zweigstellen, Umgebungen und die verfügbaren Dienste sehen können. Das ist wie eine Kochshow - wir haben einige Dinge für den Fall vorbereitet, aber wir machen es auch live. Werfen wir einen Blick auf den Bereich "Apps und Services". Wir haben die Shopware-App, ich nehme an, das ist die PHP-App, richtig?
Thomas: Ja, das ist richtig.
Greg: Daneben haben wir eine Python-App, auf der Locust für Lasttests läuft. Sie haben uns dieses Open-Source-Tool letzte Woche gezeigt. Dann haben wir Caching mit Redis, RabbitMQ für Warteschlangen, Dateispeicher, MySQL für die Datenbank und eine PHP-Worker-App, um alles zu verwalten. Habe ich irgendetwas übersehen?
Thomas: Nein, das war's! Wir arbeiten mit 3,35 CPUs, 3,75 GB RAM und 9 GB Speicher für diese Anwendungen.
Greg: Perfekt. Jetzt, da wir wissen, womit wir arbeiten, können wir zu Ihnen übergehen, Thomas, und mit den Lasttests beginnen.
Thomas: Sehr gut! Dieses Demoprojekt ist also folgendermaßen aufgebaut. Wir haben ein Repository mit mehreren Anwendungen - die Shopware-Anwendung in PHP und Locust in Python für Lasttests. Die gesamte Konfiguration befindet sich in einer YAML-Datei, und wir können Umgebungsvariablen definieren, entweder in der YAML-Datei oder in der Benutzeroberfläche zu Sicherheitszwecken.
Greg: Verstanden. Locust wird den echten Benutzerverkehr simulieren, richtig?
Thomas: Ja. Aber es geht nicht nur darum, den Datenverkehr zu überfluten; wir wollen realistische User Journeys nachbilden. Ich habe zum Beispiel Hilfsfunktionen, die das Nutzerverhalten simulieren - einige Nutzer besuchen die Homepage und verlassen sie wieder, andere suchen nach Produkten, einige durchstöbern Kategorien und einige tätigen Schnellbestellungen. Auf diese Weise generieren wir nicht nur zufällige Klicks, sondern ahmen die tatsächlichen Benutzeraktivitäten auf der Website nach.
Greg: Das ist erstaunlich. Ich wusste gar nicht, dass Lasttests so detailliert sein können. In meiner Vorstellung ging es nur darum, tonnenweise Datenverkehr zu senden, aber dieser Ansatz macht so viel Sinn.
Thomas: Ganz genau! Es geht nicht nur um Lasttests, sondern darum, die Schwachstelle Ihrer Anwendung zu ermitteln. Sie wollen wissen, wann Ihre Website anfängt, langsamer zu werden, und an welchem Punkt sie zusammenbricht, denn das steht in direktem Zusammenhang mit dem maximalen Umsatz, den Ihre Website in Spitzenzeiten bewältigen kann.
Greg: Das macht sehr viel Sinn. Wir haben also alles vorbereitet und können jetzt den Test durchführen. Wie geht es jetzt weiter?
Thomas: Jetzt, wo wir das Projekt-Setup verstanden haben, werde ich mich per SSH in den Locust-Container einloggen und den Test durchführen. Ich habe einen Befehl, um Locust im Headless-Modus mit bestimmten Parametern zu starten - 25 gleichzeitige Benutzer mit einer Spawn-Rate von fünf, was bedeutet, dass die Benutzer in Fünfergruppen beitreten. Dies läuft fünf Minuten lang als Basistest. Wenn Sie wirklich etwas kaputt machen wollen, müssen Sie diese Zahlen natürlich deutlich erhöhen.
Greg: Lassen Sie uns klein anfangen und sehen, was passiert. Ich werde die Ressourcen auf meiner Seite beobachten, während Sie den Befehl ausführen.
Thomas: Klingt gut. Nur zur Erinnerung: Wenn Sie eine Anwendung für den Black Friday oder ein anderes großes Ereignis skalieren, sollten Sie in der Lage sein, Ihre Produktionsumgebung für Tests zu klonen, ohne Ausfallzeiten zu riskieren. Wenn Sie die Lasttests auf einem Klon statt auf dem eigentlichen Produktionszweig ausführen, vermeiden Sie mögliche Unterbrechungen.
Greg: Auf jeden Fall. Und das Tolle an Upsun ist, dass Sie die Ressourcen dynamisch skalieren können, wenn Sie feststellen, dass der Datenverkehr zunimmt. Man muss nicht einmal die Konfigurationsdateien ändern - man skaliert einfach von der Benutzeroberfläche aus nach Bedarf hoch oder runter.
Thomas: Genau so ist es! Die Flexibilität von Upsun erlaubt es Ihnen, Ressourcen sofort hinzuzufügen. Sie können auch Instanzen der Hauptanwendung nach Bedarf duplizieren. Hinter den Kulissen fügen wir einen Load Balancer hinzu, so dass selbst bei Spitzenlasten alles reibungslos funktioniert.
Greg: Sie können das also alles live machen, richtig? Ohne dass DevOps in einer Krise eingreifen müssen?
Thomas: Genau. Man muss DevOps nicht alarmieren und sie in Bedrängnis bringen. Mit ein paar Klicks kann jeder im Team das erledigen. Und wenn es bei Ihren Diensten zu Engpässen kommt, z. B. bei der Datenbank, können Sie die Ressourcen erhöhen, ohne mehrere Instanzen zu benötigen, da Datenbanken eine komplexere Datensynchronisierung erfordern.
Greg: Perfekt. Wir überwachen hier also die CPU- und Speichernutzung, und ich kann sehen, dass der Datenverkehr zunimmt. Wir sind noch nicht am Ende, aber es geht schnell nach oben.
Thomas: Ja, und wenn man sich Blackfire oder andere Beobachtungstools ansieht, kann man die Auswirkungen unter hoher Last in Echtzeit überwachen. Beobachtbarkeit ist der Schlüssel, denn Lasttests sagen Ihnen, wo die Grenze liegt, aber die Beobachtbarkeit zeigt Ihnen, wie Ihre App unter diesen Bedingungen funktioniert, wo Verbesserungen möglich sind und wo die Engpässe liegen.
Greg: Es sieht so aus, als würde sich der Datenverkehr einpendeln. Sollten wir noch ein bisschen weiter gehen und die Grenzen wirklich testen?
Thomas: Machen wir das! Ich werde die Benutzerzahl auf 100.000 erhöhen, mit einer höheren Spawn-Rate, und es 10 Minuten lang laufen lassen. Das mag übertrieben sein, aber Halloween verlangt nach gruseligen Dingen, oder?
Greg: Genau! Fügen wir noch ein paar Nullen hinzu und sehen wir, ob wir sie endlich knacken können. Ich habe auch unsere App-Instanzen erhöht, damit wir bereit sind, mehr Last zu bewältigen.
Thomas: Perfekt! Wir sollten anfangen, viel mehr Verkehr zu sehen, und das wird wirklich testen, ob Shopware und das ganze Setup einer extremen Belastung standhalten können.
Greg: Das ist großartig. Vielen Dank für die ganze Arbeit, die du in die Einrichtung der Lasttests mit Locust gesteckt hast. Das ist viel detaillierter, als ich erwartet hatte.
Thomas: Kein Problem. Die Einrichtung hat ein paar Tage gedauert, aber das ist es wert. Jede Anwendung, die einen hohen Datenverkehr erwartet, sollte in Lasttests investieren, nicht nur für den Black Friday, sondern als regelmäßige Praxis. Wenn man seine Schwachstellen kennt, kann man mit der Geschäftsleitung fundierte Gespräche über Ressourcen, Kapazitäten und mögliche Upgrades führen.
Greg: Ja! Es geht nicht nur darum, seine Grenzen zu kennen, sondern auch darum, diese Grenzen mit echten Daten zu kommunizieren. Die Führungsebene kann die Kosten für die Skalierung der Ressourcen für eine Veranstaltung sehen und eine fundierte Entscheidung über das weitere Vorgehen treffen.
Thomas: Ganz genau. Und wenn man die Schwachstellen seiner Anwendung kennt, vermeidet man Überraschungen in Spitzenzeiten. Mit Upsun löschen Sie nach dem Test einfach die Umgebung und zahlen nur für die während des Tests genutzten Ressourcen.
Greg: Dem kann ich nur zustimmen. Nun, ich denke, damit ist unser Lasttest-Abenteuer beendet. Vielen Dank für die Teilnahme an diesem Upsun-Livestream. Ich hoffe, es war hilfreich für Sie, egal ob Sie sich auf den Black Friday vorbereiten oder einfach nur die Widerstandsfähigkeit Ihrer App verbessern wollen.
Thomas: Auf jeden Fall! Vielen Dank an alle. Bleiben Sie sicher, programmieren Sie weiter, und wir sehen uns beim nächsten Mal.
Greg: Macht's gut, Leute!