00:00:00– Hey, guten Morgen allerseits.
00:00:02Vielen Dank, dass Sie heute dabei sind.
00:00:03Ich freue mich sehr auf das, was wir gleich teilen werden.
00:00:06Seit einem Jahrzehnt wurde Code, der auf Vercel läuft,
00:00:10primär für unmittelbare Web-Anfragen entwickelt.
00:00:14Aber die interessanteste Software, die unsere Kunden heute erstellen,
00:00:17passt nicht mehr in dieses Modell.
00:00:20Und die Anzahl dieser neuen Projekte explodiert geradezu.
00:00:23Erst in den letzten Monaten
00:00:25haben sich die wöchentlichen Deployments bei Vercel verdoppelt.
00:00:28Und ein Drittel dieser neuen Deployments stammt von Coding-Agents –
00:00:31eine Zahl, die um tausend Prozent gestiegen ist,
00:00:34in nur sechs Monaten.
00:00:35Aber der interessanteste Teil für mich
00:00:38ist nicht, wie viel wir deployen, sondern was wir deployen.
00:00:41Diese Agents liefern wiederum Agents aus.
00:00:44Und die Agents, die unsere Kunden bauen,
00:00:48antworten nicht nur einmal und warten dann.
00:00:50Sie müssen logisch denken, Tools aufrufen, auf Menschen warten
00:00:53und das Ganze dann von vorne beginnen.
00:00:55Und jeder dieser Workflows braucht ein Backend, das mithalten kann.
00:00:58Was ich also bei Vercel beobachtet habe,
00:01:02ist, dass die Teams, die derzeit am schnellsten ausliefern,
00:01:05nicht die Infrastruktur
00:01:07und Warteschlangen selbst neu aufbauen,
00:01:08oder Retry-Logik von Grund auf neu schreiben,
00:01:11oder gar die Observability selbst verkabeln.
00:01:13Das alles wurde bereits erledigt.
00:01:15Sie nutzen also unsere Infrastruktur-Primitiven,
00:01:17die Dinge, die wir im letzten Jahrzehnt aufgebaut haben,
00:01:20damit sie sich voll und ganz auf ihr Produkt konzentrieren können.
00:01:24Und genau für dieses Problem haben wir Workflows entwickelt.
00:01:27Wir haben es vor sechs Monaten in der Beta-Phase gestartet,
00:01:30und die Resonanz war unglaublich.
00:01:33Und nun, einhundert Millionen Durchläufe später,
00:01:36freuen wir uns sehr, heute die GA von Workflows zu verkünden.
00:01:41Lassen Sie mich Ihnen zeigen, wie es funktioniert.
00:01:43Die App, die ich Ihnen zeigen werde,
00:01:44ist ein Geburtstagskarten-Generator, den ich gebaut habe.
00:01:47Es könnte eigentlich alles Mögliche sein,
00:01:49aber das hier deckt alle Punkte ab, über die wir sprachen.
00:01:51Es passt nicht in eine einzelne Anfrage,
00:01:54es wartet auf Menschen, es wiederholt Schritte bei Fehlern,
00:01:57und es streamt den Fortschritt in Echtzeit an den Nutzer.
00:02:00So funktioniert es also.
00:02:02Ich schicke mir selbst mal eine Karte,
00:02:04und beginne mit der Eingabe meiner E-Mail-Adresse.
00:02:05Als Nächstes wähle ich ein Datum aus,
00:02:09und ich nehme mal den 23. April.
00:02:11Da ich Lagerfeuer an meinem Geburtstag mag,
00:02:14nehme ich ein Ocean Beach Lagerfeuer,
00:02:17und ich schicke es an mich selbst, also für Pernet.
00:02:21Ich gebe hier meine eigene E-Mail ein, um die Demo einfach zu halten.
00:02:24Ich werde also selbst auf meine Geburtstagseinladung antworten.
00:02:27Cool, jetzt klicke ich auf "Generieren und Senden",
00:02:30und wir sehen, wie die Geburtstagskarte generiert wird.
00:02:34Ich wechsle rüber zum Vercel-Dashboard,
00:02:35wo ich sehen kann, dass dieser Durchlauf gerade eingegangen ist.
00:02:37Klicken wir mal rein.
00:02:39Ich kann das in Echtzeit verfolgen: wie Prompts erstellt werden,
00:02:42dann die Nachricht generiert wird
00:02:43und schließlich auch ein Bild entsteht.
00:02:45Das ist die Observability, von der wir sprachen.
00:02:48Jeder einzelne Schritt ist hier sichtbar.
00:02:50Man sieht genau, was gerade läuft,
00:02:52was abgeschlossen ist und worauf gewartet wird.
00:02:54Auf der Nutzerseite
00:02:57sehe ich, dass die Karte generiert wurde
00:02:58und die RSVP-E-Mails verschickt wurden.
00:03:01An diesem Punkt ist der Workflow pausiert.
00:03:04Es findet aktuell keine Rechenleistung statt.
00:03:07Er wartet auf die Antwort eines Menschen,
00:03:09und ich könnte jetzt in meine E-Mails gehen und sofort antworten,
00:03:12oder erst in ein paar Stunden oder Tagen reagieren.
00:03:15Der Fortschritt wird weiterhin verfolgt.
00:03:18Bevor ich Ihnen die E-Mail zeige,
00:03:20möchte ich Ihnen eigentlich das CLI zeigen.
00:03:22Workflow wird vom ersten Tag an mit einem CLI ausgeliefert,
00:03:25mit dem man alles inspizieren kann, was auch
00:03:27im Observability-Dashboard verfügbar ist.
00:03:29Das bedeutet, dass Sie und Ihre Agents
00:03:32Zugriff auf das vollständige Bild haben,
00:03:35wenn Sie versuchen, einen Fehler zu debuggen.
00:03:37Okay, rüber zu meinen E-Mails.
00:03:40Die E-Mail sollte gleich ankommen.
00:03:43Da ist sie.
00:03:44Und sie bittet mich einfach um eine Rückmeldung.
00:03:46Ich klicke auf "Ja", das war's.
00:03:49Zurück im Dashboard sehe ich, dass die Hooks fortgesetzt wurden,
00:03:53und nun sollte ein Sleep-Status aktiviert werden.
00:03:55Zurück zum User-Dashboard, dort sehen wir dasselbe.
00:03:58Wir warten nicht mehr auf Rückmeldungen,
00:04:00sondern warten jetzt einfach auf den 23.,
00:04:01um die Geburtstagsgrüße zu versenden.
00:04:03Nun möchte ich Sie nicht zwei Wochen warten lassen,
00:04:05daher gehe ich zurück zum Dashboard
00:04:06und beende den Sleep-Modus direkt hier.
00:04:09Das sollte den Workflow sofort fortsetzen,
00:04:12und wir werden sehen, wie der Workflow abgeschlossen wird.
00:04:14Lassen Sie mich zurück zum User-Dashboard gehen.
00:04:17Die Postkarte wurde verschickt.
00:04:18Und in meinen E-Mails sollte ich eine Geburtstagskarte erhalten,
00:04:22zusammen mit der Rückmeldung.
00:04:23Cool.
00:04:24Jetzt möchte ich Ihnen den Code zeigen,
00:04:26und erinnern Sie sich an das, was wir vorhin sagten.
00:04:29Teams, die heute am schnellsten liefern, plagen sich nicht mit Queues,
00:04:32Status-Management und Infrastruktur herum.
00:04:34Das ist die alte Arbeitsweise.
00:04:35In Workflows ist alles, was wir heute gesehen haben,
00:04:38eine einzelne Funktion,
00:04:40die mit dieser Direktive beginnt: useWorkflow.
00:04:43Diese eine Direktive ermöglicht es der Funktion, über Tage zu laufen,
00:04:48zwischen Schritten zu pausieren und genau dort fortzufahren.
00:04:52Wenn der Workflow also einen Schritt aufruft,
00:04:53wie Prompts generieren oder ein Bild erstellen,
00:04:56pausiert der Workflow die Funktion
00:04:58und reiht die Arbeit im Hintergrund ein.
00:05:00Er wird es bei einem Fehler sogar erneut versuchen
00:05:02und den Workflow fortsetzen, wenn er fertig ist.
00:05:05Während der gesamten Zeit habe ich volle Observability
00:05:07im Vercel-Dashboard für jeden einzelnen Schritt.
00:05:11Ich kann sogar in einen dieser Schritte klicken,
00:05:13und standardmäßig ist auf Vercel alles verschlüsselt,
00:05:16aber ich entschlüssele die Daten mal, damit Sie den Input sehen.
00:05:19Ja, das ist sowohl im Dashboard als auch im CLI verfügbar.
00:05:22Workflows verfügen außerdem über integriertes Streaming.
00:05:24So habe ich Echtzeit-Updates an den Client gesendet,
00:05:29um den Fortschritt live zu verfolgen.
00:05:31Ich musste dafür keine separate Datenbank
00:05:33hinzuziehen, um das zu bewerkstelligen.
00:05:34Der Client kann sogar die Verbindung trennen und wieder aufbauen.
00:05:37Dies ist ein persistenter Stream.
00:05:39Alles klar, und hier ist der Hook.
00:05:42Für jedes RSVP erstelle ich eine flüchtige Webhook-URL
00:05:46on-the-fly, die ich dann in einer E-Mail versende,
00:05:50und dann kann ich hier unten einfach darauf warten.
00:05:52Der Workflow pausiert genau an dieser Stelle,
00:05:56bis jede Person auf ihren Link geklickt hat.
00:05:59Es ist keine Datenbank involviert,
00:06:01und die Ergebnisse leben einfach in lokalen JavaScript-Variablen.
00:06:05Der Workflow verwaltet seinen gesamten Status selbst.
00:06:08Das ist die Maschinerie für verteilte Systeme,
00:06:11von der wir sagten, dass sie einfach wegfällt.
00:06:12Darüber müssen Sie nicht mehr nachdenken.
00:06:14Und schließlich lassen wir den Workflow am Ende pausieren,
00:06:17um bis zu meinem Geburtstag zu schlafen.
00:06:18Es ist genau hier.
00:06:19Dieser Sleep kann ein paar Sekunden,
00:06:21Tage oder sogar Wochen dauern, wie wir es gerade getan haben.
00:06:24Während er schläft, ist der Workflow einfach pausiert,
00:06:27ohne dass Rechenleistung verbraucht wird.
00:06:29Wenn er aufwacht, macht er genau dort weiter, wo er aufgehört hat,
00:06:33und behält dabei den Status bei.
00:06:34Und das ist das Ganze.
00:06:37Es ist eine Funktion, die man von oben nach unten lesen
00:06:40und von Anfang bis Ende nachvollziehen kann.
00:06:43Jeder Schritt ist durch eine Queue abgesichert,
00:06:45wird automatisch wiederholt
00:06:47und läuft in seiner eigenen Serverless-Funktion.
00:06:49Es gibt keine Timeout-Limits,
00:06:51sodass Workflows so lange laufen können, wie nötig.
00:06:54Das meinen wir,
00:06:56wenn wir sagen, dass Vercel alles im Hintergrund erledigt.
00:06:59Sie schreiben einfach die Logik, wir kümmern uns um den Rest.
00:07:02In dieser Demo habe ich einen einfachen Anwendungsfall gezeigt,
00:07:07aber unsere Kunden nutzen Workflows,
00:07:09um Agents im Produktivbetrieb in gewaltigem Umfang zu betreiben.
00:07:12Mux nutzt Workflows, um sicherzustellen, dass
00:07:17Video-Generierungs-Pipelines jedes Mal zuverlässig laufen.
00:07:19Und Flora orchestriert parallele Kreativ-Agents
00:07:23über 50 Bildgenerierungsmodelle hinweg, alles mit Workflow.
00:07:27Durable ist ein kleines Team,
00:07:30das 3 Millionen Kunden-Websites hostet,
00:07:33und sie nutzen Workflows, um ihren Nutzern
00:07:35jeden Tag neue Agents bereitzustellen.
00:07:38Nun, ich habe diese Demo
00:07:40mit der Aussage begonnen, dass die interessanteste Software,
00:07:42die unsere Kunden bauen, nicht mehr in eine Anfrage passt.
00:07:46Und wir sehen jeden Tag mehr
00:07:50und mehr solcher Apps, die bereitgestellt werden.
00:07:51Agents liefern Agents aus,
00:07:54und die Teams, die sie bauen, denken nicht über Queues nach,
00:07:58sie konzentrieren sich auf die Probleme ihrer Kunden.
00:08:01Und dieser Wandel findet nicht nur bei Vercel statt.
00:08:05Unsere Kunden-Deployments verdoppeln sich,
00:08:07und weniger Ingenieure als je zuvor bauen Infrastruktur selbst.
00:08:11Welche App oder welchen Agent Sie also auch bauen wollen,
00:08:16Workflows machen ihn zuverlässig,
00:08:18langlebig, beständig und beobachtbar.
00:08:22Von Ihrem Laptop bis hin zu einer Million Nutzern –
00:08:25alles mit demselben App-Code.
00:08:27Workflows ist ab heute allgemein verfügbar,
00:08:31also legen Sie los und bauen Sie etwas, das funktioniert.
00:08:37[OHNE TON]