Deep Dive 118 –
Vercel mit Malte Ubl
10.02.2023
- // Podcast
- // Deep Dive 118
Shownotes
Malte Ubl ist CTO von Vercel, einer Plattform für Frontend-Entwickler:innen, die bis 2020 bekannt unter ZEIT.co war. Mit Malte sprechen wir darüber, wie es zum Rebranding kam, bevor wir tief in die Materie eintauchen:
Er berichtet uns nicht nur von den Vorteilen für Frontend-Entwickler:innen, die Vercel nutzen, sondern gibt uns einen Einblick in die Infrastruktur, die hinter einem technisch so komplexen Produkt steckt. Malte verrät uns, wie Serverless und Edge Functions funktionieren und wir ergründen, wo der Unterschied zu Google Firebase liegt. Zudem erfahren wir in dieser Folge, was es bedeutet, dass die Developer:innen-Erfahrung für Endkund:innen in der DNA von Vercel verankert ist.
/transkript/programmierbar/deep-dive-118-vercel-mit-malte-ubl
Hallo und herzlich willkommen in der Programmier.bar. Wir haben heute wieder einen Dieb, Dave. Und zwar sprechen wir über Russell. Von Programmier.bar Seite habe ich links vor mir.
Der Sebi ist hier.
Im Bildschirm zugeschaltet. Der Fabi. Hi, ich bin Dennis und sehe auf der gegenüberliegenden Seite und in einer sehr anderen Zeitzone von uns haben wir mal Trouble City von Malte. Vielen Dank, dass du die Zeit gefunden hast, heute mit uns zu sprechen.
Super Cafe, Gärtnerei Kulm.
Ganz simpel gefragt in deinen Worten Was ist das?
Verkehr ist eine Plattform für Webentwicklung im weitesten Sinne. Auf der einen Seite haben wir ein Business, was eure Website nimmt und sie auf einer Services Plattform deployed und dann den gesamten Zyklus der Auslieferung von Nutzern übernimmt. Der interessantere Teil ist der gesamte Workflow, der dazu führt, dass Sie die Website im AM dann fertig ist und auch den Nutzern gezeigt werden kann. Da der große größte Aspekt des Entwicklungszyklus ist, dass wir quasi das Prinzip verfolgen, dass wenn ihr ein Request macht, dann machen wir euch eine neue Version der Website mit den Änderungen, die aber sonst vollständig so funktioniert wie die Produktionsseite. Und dann begleiten wir quasi den den den Lebenszyklus der von. Okay, ich habe einen Request. Es gibt irgendwie eine neue Version der Website hinzu. Es ist wirklich alles perfekt. Also eins der eins. Unser wichtigsten Features ist, dass man auf diesen Deployment, wie wir sie nennen, den Vorschauen der Änderungen Kommentare hinterlassen kann. So ähnlich wie auf Google Docs oder Sigma, um so einen ganz iterativen Prozess mit allen Wegbegleitern der Entwicklung in Ablauf zu bringen.
Und wenn dann alles fertig ist, kann wird dann automatisch auf auf die Produktionsseite läuft und ist dann wie gesagt in einem Moment, was bedeutet, dass es aus Entwickler Sicht man braucht keinen Speicher tragen, zumindest nicht für Frontend. Das machen wir. Und wenn mehr Traffic kommt, dann ist es auch kein Problem. Es wird dann einfach skaliert, völlig grenzenlos. Ja, ich glaube, das ist vielleicht erst mal ein guter Überblick. Man kann natürlich in jedes Thema noch genauer reingehen. Vielleicht, vielleicht ein Thema noch. Wir sind halt nicht nur die Plattform für die Delivery und die Entwicklung, sondern ein großer Aspekt. Von Vorteil ist natürlich auch, dass wir intensiv in die Entwicklung von JavaScript Frameworks investieren. Wir sind die originalen Hersteller und weitere Sponsoren von Next.js. Wir sind einen Sponsor im Sinne, dass wir sozusagen den Dingen, den Gründer und weitere Entwickler eingestellt haben von uns selbst und sind aber auch darüber hinaus super weit aktiv in der JavaScript Open Source zene.
Das ist super spannend und tatsächlich auch ich glaube, so in unserer Umgebung, wenn man mit Webtechnologien arbeitet, ist in den letzten Monaten und Jahren was da immer mal wieder aufgepoppt und man hat sich dann so ein bisschen gefragt. Das kam jetzt auch von denen. Von daher wird es immer spannend zu erfahren, wie ihr so euer, welche Ziele ihr euch so gesetzt hat und wie er das ganze außenrum setzen wollt. Bevor wir gleich da an der Stelle weitermachen, nur ganz kurz, um deine Position ein bisschen einzuordnen. Also, du bist. Wie lange bist du jetzt bei Brüssel und du bist in den USA deswegen unsere große Zeitverschiebung? Also wir sind hier abends um sechs und fast im Feierabend und du hast gerade erst Arbeitsbeginn, richtig?
Ganz genau. Ich lebe in Alameda, California. Aber weder ist eine Insel vor Oakland. Man muss schon ein bisschen genauer auf die Google Maps gucken, um es zu sehen und ist quasi gegenüber von San Francisco. Deshalb ist es. Ich bin bei Vercel seit letztem März, als es demnächst ein Jahr voll. Davor war ich elf Jahre lang bei Google und habe viele Sachen gemacht. Meine letzte Rolle, was glaube ich auch ein guter Abschluss ist, wenn man bei Google arbeitet. Ich war der einzige Direktor für Google Search auf nicht die gesamte solche Engine, aber die, die die Search Engine für Desktop Laptops primär. Und wenn die Leute schon irgendwas gesucht habe, dann habe ich vermutlich daran gearbeitet.
Deswegen ein guter letzter Stopp bei Google.
Ja.
Eben im Vorgespräch. Das haben unsere Hörer nicht mitbekommen. Haben wir auch gefragt, weil wir haben ja ein CTO Special in der Programmier.bar und da reden wir eben gerne auch über den Lebenslauf. Ich habe schon mal kurz nachgeforscht, ob das vielleicht zur Verfügung stehen würde, dass auch eine solche Folge mit uns aufzunehmen. Also eventuell können wir uns bald auch noch mal darauf freuen, ein bisschen tiefer in diese Themen mit dir einzusteigen. Kevin, ich frag dich mal. Wenn du das jetzt gerade gehört hast. Okay. Es war für den Bau von Webseiten. Was es für dich so der interessanteste. Über welchen Aspekt möchtest du ein bisschen mehr erfahren?
Ich habe mich eigentlich auch gewundert, warum ich da noch nicht aktiv drüber gestolpert bin. Über Wasser und hier und da würde ich eigentlich auch so wie Was ist da cooler als einen Verweis hochsteigen, zum Beispiel weil es so mal was bietet, vielleicht auch irgendwie die Räume publiques und so was haben und eben auch ein ganz normales Hosting. Also einfach so die Frage wie differenziert ihr euch?
Ja, super, gute Frage. Also die. Ohne jetzt zu viel über Firebase zu sprechen. Die Diva Experience ist ganz, ganz tief in der DNA von von Personen eingebaut und es fühlt sich. Also versuchen Sie sich super gut anfühlt, Versuch zu benutzen und das ist sozusagen ein Fehler. Das gibt viele Dimensionen, in die das reingeht, eine ganz konkrete und das ist definitiv auch eine Differenzierung gegenüber zum Beispiel fallweise ist das unser Hauptprinzip ist, dass wenn es auf deiner Maschine funktioniert, dann funktioniert es auch genau so im Production Deployment. Also es gibt sozusagen, es gibt, wenn ich mit Next.js arbeite, ich habe den normalen Server und. Alles, was dort funktioniert, alle APIs, die dort zur Verfügung stehen, alle Features werden eins zu eins in der Plattform abgebildet. In einer skalierbaren Art und Weise. Und dieses mit anderen Plattformen ist in der Regel so, weil die sozusagen sich selbst als Plattform verstehen, muss man sich immer in irgendeiner Art und Weise der Plattform anpassen. Also ich benutze nicht einfach Next.js, sondern ich müsste dann schon gucken, so, wie mache ich denn das eigentlich, dass meine Next.js App irgendwie auf ihrer Basis funktioniert?
Und es ist so Ich habe eine Next.js App, ich habe eine Remix App, ich habe eine Astro App, ich habe eine Swift App, welches Framework auch immer. Es gibt dafür sozusagen Bilder, die wir intern bauen, die dann abnehmen und sie auf unserer Plattform gehen, ohne dass ich sozusagen mich als Entwickler damit beschäftigen muss, wie wir als Plattform strukturiert ist.
Ganz an der Stelle. Also du hast gerade gesagt, man kann mit vielen Frameworks zurechtkommen. Das heißt, man ist nicht darauf gebunden, dass sie jetzt explizit Next.js so stark unterstützt, ist einfach historisch gewachsen. Oder ist das dann auch eine Empfehlung, dass ihr sagen würde okay, wenn ihr ein komplett neues Produkt anfangt, dann dann nehmt dafür Next.js und das ist besonders gut oder besser geeignet? Oder würdest du sagen ist eigentlich egal. Einer der bekannten Frontend Frameworks und Wasser bietet sich an.
Also auf jeden Fall. Es ist sozusagen. Wir haben insbesondere auch in meiner Rolle sozusagen bin ich Fan von praktisch allen JavaScript Frameworks und wir sind da total offen und versuchen alles so gut zu machen, wie es geht. Es ist natürlich schon so, dass es an sich schon sehr, sehr groß ist und einen großen Marktanteil hat. Und das ist sozusagen aus der aus der engen Zusammenarbeit zwischen Framework Team und Plattform Team. Dann schon auf jeden Fall nicht. Also ich würde jetzt nicht sagen, es sagen viel besser ist als andere Frameworks. Aber das ist auf jeden Fall so die beste. Das beste Deployment Target ist für die CIA. Ist eher korrekt, als dass es in anderen Fragmenten Problem wäre.
Ich finde ja, dass da auch schon gesprochen ist. Was soll Next, was soll was soll so sein? Ich glaube wir haben vor. Ich habe da mal gegoogelt vor vier Jahren, circa 2018 eine Folge, die wir gar nicht mehr live haben. Der Programmier.bar haben wir über. Wir haben da Kategorien nennt sich Pick of the Day, sozusagen ein etwas, was man einfach einen Tipp für die Hörer und zwar Hyperjets und das Terminal was glaube ich, der Sebi mittlerweile nicht mehr nutzt, aber ich immer noch aktiv nutze. Und das wurde ja entwickelt oder ist entwickelt worden von ich weiß nicht wie es ausgesprochen wird Ökologie Lärmorauch ist das richtige.
Thema.
Entwickelt ich habe damals einen damals haben uns auch in dem Podcast zu beurteilen Ich habe sein Blog damals gelesen, wo er über die Vision von Zeitpunkt Zero geschrieben hat und ich muss sagen, ich habe damals die Vision. Ich fand es super interessant. Ich fands super interessant, wie er es geschrieben hat, aber ich habe sie nicht ganz verstanden. So, also ich habe nicht ganz verstanden, welche, welche, welche Lücke es sozusagen füllt, aber ich fand es super, super interessant. So, da wird auch damals über unterhalten. Ich habe sehr lange gebraucht, bis ich verstanden habe, dass das, was er damals geschrieben hat, mit Zeit ist. Ja, also Zeit wurde. Basel Basel ist das was damals Zeit war, wurde irgendwann zu Wasser dass das ist richtig so oder.
Das ist korrekt. Allerdings hat sich die Technologie ganz schön verändert und dort ist auch sozusagen um vielleicht ein bisschen auf die vorherige Frage der Differenzierung hin zu kommen also Firebase zu sagen ist vielleicht eher so wie das moderne Version, aber das ist die originäre Version von Zeit war am quasi Server des Containers, also sozusagen eher eine coole Version von von von Docker als eine eine volle Services Plattform also die die und also können wir das auch ein bisschen vielleicht überladen der Begriff wenn wenn wir darüber sprechen meinen wir auf jeden Fall Funktion Service. Also sozusagen. Kein. Es wird. Gibt es. Keine. Keine. Es gibt. Keine Container. Es gibt keine. Es gibt überhaupt keinen Ozean von einem Deplables. Objekt, das sie jetzt als Entwickler hätte, sondern ich schreibe an einer meiner Funktionen und die Plattform nimmt sich diese Funktion und es ist ihr Job, die irgendwie in Produktion zu gehen. Also es ist vollständig weg abstrahiert wie, wie, was sozusagen im System funktioniert.
Das heißt aber, wenn ich so eine Funktion schreibe, dann bietet ihr bei irgendeinem was für ein Framework und sich damit was. Also wie würde ich dann in der Service Funktion irgendeine Form von API definieren? Was, was, was muss ich nutzen damit das ist?
Ja, es ist einfach das Framework. Also um als Next.js das Beispiel zu nehmen, habe ich in meinem Pages Directory kann ich eine Episode machen und dort kann ich eine Datei reintun und die hat Abschied von Epid Next.js definiert. Ist erst mal nichts mehr zu tun und an der Server kann ich dann dieses in diese lokale Host Slash API, wie auch immer ich die Datei genannt habe und dann wird die Funktion aufgerufen und diese Datei wird dann auf der Plattform als als Funktion deployed. Ich muss aber als Entwickler sozusagen das gar nicht so direkt im Builder haben, weil es sich einfach genauso verhält wie auf meinem Server.
Das heißt, ich muss aber irgendeine Form von Framework nutzen, was mir so eine Art API Funktionalität gibt und im Hintergrund wahrscheinlich irgendetwas von euch implementiert ist. Wahrscheinlich muss dieses Framework irgendwas spezifisches implementieren oder es gibt.
Es gibt zwei grundsätzliche Workflows. Wenn ich, wenn ich den Framework, ich das Framework und deren Abstraktion von diesem Framework werden auf diverse Plattformen im Hintergrund gemacht. Es gibt ein Fahrwerk für den Fall, dass ich überhaupt kein Framework habe oder oder eins, was noch so neu ist, dass es keinen speziellen Plattformsupport gibt. Dann kann ich die Vercel CLI benutzen und in mein Directory gehen und Dev eingeben und dann machen wir einen Webserver an, der die Basis Primitiven von der Plattform in deine App reinlegt, damit sie sich so verhält, wie sich unser Produktionsystem verhalten würde. Das ist aber wirklich nur für den Fall, dass das das das Framework, was ich benutze, nicht der Support es oder ich halt überhaupt keinen vergeben möchte.
Okay, cool. Das heißt aber für dann diesen Part mit Next.js und Beispiel so die die würde dann wirklich diese API voller ich habe muss eigentlich nichts mehr machen als irgendwie das in meinen GitHub Repository zu pushen und irgendwie muss ich was konfigurieren mit meinem Repository verbinden und so. Die Magie ist dann das den Rest dann eigentlich ihr macht so von dem Repository aus oder?
Genau der Workflow um bei Vercel einzusteigen ist Ich gehe auf euer Kommen, mache mir einen Account, den nichts kostet am Ohr habe, dann kriege ich eine Liste von Stories, wer ein Repository ist aus. Wir sagen okay, wir haben erkannt, dass du sagst jetzt benutzt und dann ist der Plot Button und das war's dann. Dauert halt noch mal zwischen 65 Sekunden, je nachdem, wie komplex die Applikation ist und dann ist sie online.
Das klingt auf jeden Fall erst mal ein bisschen nach der Vision, wenn man auf die Homepage geht, dass er sagt, dass das die Plattform für Frontend Developer, die sich um nichts mehr Gedanken machen müssen. Klingt auf jeden Fall erst mal, dann nachher.
Genau. Und also das ist es in sehr breitem Einsatz. Also es ist ja nicht nur nicht nur eine Version, sondern das ist einfach der Rogler. Ich mach das persönlich ein paar Mal die Woche. Definitiv. Jedes Mal, wenn ich irgendwie einen Wackelpudding bekomme oder so, mache ich kurz vielleicht ab. Baut irgendwie den Raum auf GitHub machen machen aber ab und an dann ab dann den Moment. Jedes Mal wenn ich den Branch mach gibt es jedes mal wenn ich einen Commit pusche gibt es eine Community usw.. Vielleicht nochmal als Ergänzung die, die die API extra sind eher eine Funktion im engeren Sinne, weil es einfach ein Stück JavaScript ist, was mit einem Request aufgerufen wird und dann irgendwas zurückliefert. Hm, hm. Auf unserer Plattform sind aber zum Beispiel auch auch Server Rendering Operationen im Ende des Tages Funktion. Aber wie gesagt, ich muss auch als Entwickler mich da nicht drum kümmern. Also in In Next.js. Wenn ich nur meine Seite konfigurieren, dass die Server gerendert wird, dann wird das auf der Plattform transparent als als Funktion deployed, die dann aufgerufen wird.
Okay, das heißt nicht nur der App Folder, sondern auch wenn so was wäre das dann auch Server das Funktion. Aber als Nutzer mache ich mir keine wirklichen Gedanken. So ist am Ende eine URL, die irgendwie aufruft. Die eine ist mein Frontend und die andere API, die intern mein Main Frontend benutzt, aber genau darum keine Gedanken machen.
Ganz genau.
Cool. Und du hast es ja im Kopf, also dass du das hast.
Also ich denke Katzen. Ich glaub, ich habe nur gekratzt. Ich war. Ich finde das großartig. Auch jetzt, wo ich die Zeit gehört habe, dass das so schnell geht und würde jetzt, wo wir so die User Experience, wo du die gerade so grob skizziert hast, würde ich gerne mal wissen, was dann dann vielleicht irgendwie so technisch im Hintergrund alles passiert.
Ja klar. Also ich kann mal kurz durch die durch die Architektur gehen. Im weitesten Sinne. Ähm. Das hängt natürlich schon davon ab, ob wir. Ob wir. Lass uns über die. Ich bin ein Endnutzer und ich gehe auf eine Website, die klar auf irgendeine Domain, auf die Reseller, auf, auf, als Adress. Und dann geht es in unsere Albträume in Asien. Dort ist quasi das erste Stück Software, was von Warschau entwickelt ist, wo quasi für die Domain, dass das, das das dritte Paket bereitgestellt werden muss. Kann man sich vorstellen, dass in so einem Service, auf dem definitiv viele Millionen Domains und hunderte Millionen Subdomains benutzt werden und das an sich schon mal nicht so ganz einfach ist? Es geht durch den Service durch und dann auf unseren Gateway als Service, was sozusagen das Herz von Brüssel ist. Das ist ein Service, der die Routinglogik von quasi allen Web Frameworks die implementiert. Aber nicht diese Framework benutzt, um das zu machen, sondern es ist ein konfigurierbar Router, der sagt okay, ich habe eine.
Ich habe hier eine URL irgendwie Slash Produkte am Slash 123 und der jemand hat in seiner ID abroad angelegt, die war Slash Produkte und dann irgendwie einen Platzhalter für die Produktidee und dann nimmt er diese, sagt okay, ich habe jetzt die Router gefunden. Das ist in diesem Fall vielleicht implementiert als inkrementelle statische Seitengenerierung. Ich wusste gar nicht, was das ist. Und das bedeutet das und das ist eine, die wurde verändert, das heißt, das Bild wurde festgelegt. Da geht es einfach in den in den Static Content Store. Die Datei wird abgeholt und soll geliefert. Wenn stattdessen da drin steht, ist es eine SRpage. Dann steht dabei Welche Funktion wird aufgerufen, Dann ruft dieser Funktion auf und liefert die dem Kunden wieder ans Ende wieder raus. Aber für die eigentliche Funktion, die die Technologien, die wir verwenden, sind Auf der einen Seite habe ich es länger und am Workers, aber wie gesagt, die, die, dass das der Fall ist, ist irrelevant für den Entwickler zu dem Zeitpunkt. Wir wählen quasi die, die die Lambda aus, wenn wenn volle Kompatibilität benutzt wird.
Wenn wir uns einen Klasse Workers aus wenn dann das sozusagen die Constraints der Plattform rein reinpasst und aber die die eigentlich sozusagen die die Instrumentation dieser dieser technischen Plattform läuft alles in der Plattform ab wir der der wie auch der User Code am fühlt sich genauso an wie auf der lokalen Entwicklung.
Das heißt aber das wäre meine Folgefrage gewesen Ihr besitzt keine eigene Infrastruktur, das heißt ihr nutzt Apps oder nutzt Cloudflare für das das wirklich dieser, dieser Server. Das funktioniert.
Genau.
Cool. Und du hast ja auch am Anfang irgendwie Peter in Aktion. Und was bringt ihr eigentlich, wenn ich bei euch poste auch Domainhandling mit und auch Zertifikat Handling für die Domains? Also kann ich mit meiner eigenen Domain bei euch auf die Plattform kommen.
Ja klar. Also haben wir wir. Man kann die Domains auch bei uns kaufen. Der absolute Happy Part ist, wo alles voll integriert ist und es gibt alle möglichen Optionen, die Domains bei uns auf die Plattform zu packen. Und es ist auch sozusagen in unserem Shop, wo man um ohne Kosten anfangen kann ist unter anderem auch. Auch unsere Domains sind enthalten und alle alle Plattformfeatures, die also außer der äußersten Features, die da natürlich nicht dabei sind, aber das ist mehr so Compliance und und so Sachen, die ich vermutlich eh nicht haben will für meinen, für mein Projekt, selbst wenn ich sozusagen vielleicht das für meine Firma auch so wir aus dem professionellen Grund ist, da ist das eigentlich ein ganz guter Ort um die Plattform kennenzulernen und sich dann irgendwann zu entscheiden. Ich will jetzt das professionell nutzen und und auf den Tag bringen.
Ich stell mir das mega komplex vor, irgendwie das ganz zu machen. Da gibt es wahrscheinlich 1000 Fragen, die man irgendwie stellen kann. So eine, die irgendwie für mich offensichtlich ist, wo ich ein Fragezeichen hätte. Ihr habt diese. Vielen Kunden, also Entwickler, die, die auf dieser Plattform sind und im Hintergrund ist irgendeine Riesenarchitektur, die das Ganze dann nutzt. Ist das irgendwie in diese Architektur, dann auf Apps oder wo auch immer? Sind es dann auch noch mal einzelne Projekte oder ist das praktisch 111 Grundrauschen an Services und Servern, die er irgendwie stehen hat und dann einzelne Projekte einfach auf den deployed.
Und.
Da macht oder wie ist das? Kann man da irgendwie zusammenfassen wie das Management ist einer einzelnen Anwendung in dem Kontext von dem allem was sie irgendwie am Laufen hat, parallel?
Ja, gute Frage. Also es es ist definitiv so, dass Verkehr also das englische Wort wäre Multi Teilen Plattform also unser Gateway sozusagen bekommt ein Request, kommt auf die Domain und sagt dann okay, ich muss jetzt die Datenbank fragen, was ich eigentlich tun will oder höchstwahrscheinlich war schon mal einen der gleichen. Ist wahrscheinlich. Im schlimmsten Fall wird dann die Datenbank angefragt und es war quasi die Meta Information geladen, um diesen diesen Request an zu fällen. Und das sozusagen auf dem Layer vollständig gestellte Infrastructure, die die eigentliche am Computer Unit, also die Funktion Buildsystem ist ein bisschen einer Infrastruktur, aber im Grunde das gleiche ist dann also im Fall davon von Lahm zum Beispiel ist natürlich die Länder für diese einzelnen Funktionen dann die Länder für diesen die wurde halt irgendwann mal deployed. Da gibt es aber auch so Sonderfälle, also zum Beispiel wenn ich, äh, wir machen wie gesagt, für, für jede, jedes einzelne Commit was man was man pusht, bauen wir eine Version der Seite, dann kommen natürlich ne ganze Menge mehr Funktionen zusammen.
Wir müssen da also so viel war bekannt war und das heißt wir archivieren zum Beispiel Funktion, wenn sie über eine gewisse Anzahl Tage nicht aufgerufen worden ist, gar nicht abgerufen worden. Und dann allerdings, wenn das in dem relativ unwahrscheinlichen Fall, dass dann doch noch mal noch mal Traffic kommt, dann wird sozusagen transparent in dem Moment, wo dieser Traffic kommt, gesagt, okay, diese Funktion ist nicht neu, wir müssen sie kurz wieder aus der aus dem Storage holen und der Plugin und können aber dann in dem Moment noch den den Nutzer Request bearbeiten, ohne einen Fehler anzuzeigen, der natürlich dann ein bisschen länger am Tag um ein Beispiel zu geben, weil ich das zum Beispiel haben wollte. Es kann ja sein, dass so zum Beispiel sagen wir, ich habe einen Bug auf meine auf meiner Seite und. Irgendwie ist auch klar, okay, der ist ja jetzt schon ein bisschen länger da. Aber ich weiß nicht, wann Nam versucht hat, in einem gewissen zeitlichen Rahmen, der sehr lange ist, jedes einzelne Version der Website, die jemals deploit, war es noch da und hat eine URL für dich privat und dann kann ich jetzt gucken, fange ich an, gehe.
Ich denke, ich denke mal drei Monate vorher ist es auf jeden Fall, aber da war noch nicht da. Ich komme auf die URL. Okay, es gibt eine Playmate von vor anderthalb Monaten kam. Ich bin eher suchmäßig auf den Fehler zuarbeiten. Kann man sich das vorstellen, wenn ich meine Website auf selber deploit hätte? Auf, auf easy zu oder auf auf einem Kubernetes, wenn ich einen. Da gibt es dann wahrscheinlich irgendwie die Version und da gibt es das Datum Version aber sozusagen die die Version von von vor drei Monaten wiederherzustellen geht vielleicht aber es wäre vermutlich ein Deployment, wären wir sozusagen die die unveränderte Original Version der Website von vor drei Monaten auch immer noch am Start haben und und und und jederzeit ausliefern könnten.
Kann und und aber müsste die sie wirklich dann noch irgendwo die Leute dann müsste ich zumindest ein bisschen warten bis es irgendwo wieder hin die ist wirklich irgendwie als zumindest die die Lambda läuft noch irgendwie sie ist noch irgendwo die Leute sagen und.
Ganz genau also wie gesagt, die Lambda kann sein, dass ich aus dem Archiv geholt werden muss, aber höchstwahrscheinlich ist sie noch da. Alle statischen Dateien zu genau so wie sie original wurden, sind noch da. Also vielleicht ein bisschen langsamer, aber wirklich nicht so, dass ich es wirklich merken würde. Also ich muss schon wissen, ist ja.
In dem Fall auch relativ irrelevant. Ich will jetzt für die für die.
Nicht ganz genau aber also wir sprechen sozusagen auf wenn vielleicht normalerweise die Antwort in 50 Millisekunden kommt dauert dann vielleicht der allererste 550 Millisekunden aber sozusagen wir sind auf jeden Fall weit unter einer Sekunde unterwegs. Das ist.
Ja cool. Das klingt auf jeden Fall nach einem weiteren coolen Feature. Vielleicht können wir auch ein bisschen außer du willst noch weiter tief in die Infrastruktur rein fragen, ob die nächsten Features gehen. Ja, die unterstützt eine Menge an Frameworks, mit denen man kommen kann. Und ihr baut ja für jedes dieser Frameworks irgendwie das Mapping. So funktioniert das erst mal lokal und so wird es abgebildet in der Infrastruktur, dann bei uns und tendenziell eher skaliert. Ich meine, wenn du sagst, das kann skalieren mit irgendeiner dieser Technologien kommen und ist es egal, wie groß die Seite am Ende wird. Ist das nicht ein mega Aufwand den Support für diese ganzen Frameworks zu erhalten? Und wie kann man das überhaupt, was ich nicht testen will, irgendwie am am laufen halten, auch mit verschiedenen Versionen. Also wie schnell seid ihr? Keine Ahnung. Wenn wenn wir jetzt eine neue Version rausbringt, wie lange braucht es, bis man das dann auch wirklich nutzen kann?
Also die. Die, die ich gesprochen habe. Genau wie es funktioniert. Wir haben dann eine API, die nennen wir Build Output API. Dann kann man googeln und. Aber das muss man als Entwickler nicht kennen, sondern ich bin frei. Entweder ich bin Framework Entwickler und ich möchte guten Support haben oder ich möchte gutes, guten Support für diese Streamer bauen. Dann brauche ich die API. Das kann man sich so vorstellen wie Terraform zum Beispiel. Also eine deklarative Beschreibung der Plattform. Und was passiert ist, dass 111 Builder gebaut wird, der die Struktur des Frameworks versteht und das auf dieser API umbaut. Und. Dann im zweiten Schritt gibt es ein System, was die API versteht und. Die dann in in auf der Plattform deployed, so dass sozusagen die Komplexität der da des Deployment komplett getrennt ist von der Komplexität des Frameworks Verständnis und um vielleicht damit zu haben diese Art von API ist im Grunde ein nicht, sondern im Sinne von eine Menge von Funktionen, die ich aufrufen könnte oder so, wie man das vielleicht von dem Namen her vorstellen würde, sondern es ist quasi eine Dateisystem Spezifikation, also die, die quasi sagt, wenn wenn ihr eine Serverseite Rendering Funktion machen müsst, müsst ihr einen Ordner anlegen.
Da muss irgendwie eine gewisse Jason Fall rein mit den Metadaten und dann müsst ihr das JavaScript, Bannon und das dann in diese Datei reinschreiben und das muss man also schon bauen. Aber die, also die Bilder auf der einen Seite ist extrem stabil, die ändert sich sehr selten, quasi ausschließlich, wenn wir eine komplett neue als Feature sozusagen anbieten. Also vielleicht ein paar Mal im Jahr sozusagen. Und die Di Framework Seite ist auch relativ stabil. Also da ist es dann auch so, dass sozusagen selbst wenn gerade gestern hat Remix allerdings dass sie eine neues Routing Feature haben das sozusagen. In der macht sich sozusagen am Ende des Tages, auch wenn man wenn man von dem sagen könnte, sogar den sich die Frau jeweils ausdenken wegdenkt, ist es dann am Ende des Tages nicht so kompliziert.
Man muss auch gar nicht für jede Veränderung dort überhaupt was bauen. Im besten Fall müsst ihr einfach gar nichts die ganze Zeit machen, wenn sich selbst wenn sich das für immer iteriert.
Ja genau. Es ist nur ein kleiner Teil der Familie. Änderungen führen dazu, dass auf der Seite irgendwas gemacht werden muss.
Und wenn es nicht verstanden habe, ist es auch so, dass einige der Frameworks das von sich aus dann mit anbieten. Also nicht für alle müsst ihr praktisch die diese Verbindung herstellen, sondern das kommt auch manchmal von .NET Framework s und man kann es auch für jedes. Das so glaube ich auch gesagt also man kann es theoretisch auch für jedes andere Framework, was aktuell noch nicht unterstützt ist, kann es man ja dann unterstützend machen, indem man.
Diese.
App nutzt.
Syntax ausschließlich ausschließlich JavaScript TypeScript Frameworks.
Ja, super. Gute Frage. Also. Ich würde sagen, von der Verwendung her überwiegend ja. Wir supporten aber auch Python, Ruby und PHP. Und es gibt dann, wenn man Community Runtime sucht, einem eine ganze Menge, sozusagen auch esoterische Programmiersprachen. Aber die Verteilung ist überwiegend. Ja, es gibt TypeScript zwei populärste wäre Python und danach fällt es sehr sehr stark ab.
Und TypeScript JavaScript Umfeld, Not und Deno.
Node.js und was wir Trondheim nennen, sind also sehr ähnlich. Dieser Dino ist groß und und viel und umfangreich in den Anwendungsfällen. Während unsere Trondheim philosophisch sehr nahe an Dino dran steht. Ich habe die API. Ich kenne die Sinn machen auf dem Server. Aber ich könnte damit zum Beispiel keinen Commander ein Programm oder keinen generischen Server für Sockets oder so bauen, sondern das sagen sie. Aber die meisten dieser Programme, mit denen ich einen Webserver bauen würden, würden dann auch bei mir auf der Agenda funktionieren.
Und wenn wir ein bisschen auf die Feature Seite wieder gehen. Ich habe vorhin ein bisschen mir noch mal alle Freemics angeguckt, die ihr mit supportet und die habt ihr ja gerade am Anfang gemeint, Die habe ich auch Rich Harris eingestellt. Oder ist es bei euch Angestellten und Arbeit an Svelte kit? Im Namen von Brasil kannst du gerne korrigieren. Und wenn ich auf die Seite gehe, es ganz runter sehe. Ja, das läuft hier auf dem Edge. Für mich wäre es jetzt, die Seite wird gerade aus Frankfurt ausgeliefert. Und das ist auch der Teil, den ich ganz häufig bei euch auf der Homepage lese. Server das schon das eine, aber das andere auch. Ich kann das direkt auf der ADS ausführen. Vielleicht kannst du uns da noch mal ein bisschen was dazu erzählen, was das für mich als Nutzer bedeutet. Im Endeffekt, also für mich bedeutet es erst einmal ich verstehe, es ist einfach schneller für meine Nutzer, die die Seite nutzen. So, aber was muss ich als Nutzer der Plattform dafür tun, damit das funktioniert?
Ja, gute Frage ich. Also ein wirklich wichtiges Thema, um darüber zu sprechen, Vielleicht ein bisschen meinen persönlichen Tag dazu zu. Es bedeutet eine ganze Menge. Und im vielleicht im klassischen Sinne. Klar gibt es Content Delivery und statische Dateien und nahe vom vom Nutzer aus ausliefern kann. Das ist auf jeden Fall sozusagen eine Plattform integriert, aber auf jeden Fall kein extra Client. Ich will die. Und da ist es auch ganz klar Je näher man eine statische JavaScript Datei an den Nutzer dran ist, desto besser. Denn was wir versuchen auf unserer Plattform voranzutreiben, ist dieser. Entwicklungen der letzten. 5 bis 10 Jahre zu verändern, wo Leute sich entschieden haben, weil sie. Weil es relativ schwierig ist, dynamisch zu planen, in seinen Rhythmus zu gehen, wo es nur eine statische Seite gibt. API Server aufruft und usw. und das. Meines Erachtens ist das keine eine Art der Webauslieferung, die vielleicht einfach zu managen ist, aber nicht die perfekte User Experience hervorruft. Und entsprechend wollen wir es halt extrem einfach machen, das so Sachen wie Rendering einfach funktionieren.
Das ich mich an mir keine Gedanken darüber machen muss aus massiven Kostengründen nur eine statische Seite auszuliefern. Sondern im Gegenteil, wir wollen, dass Leute auf ihrer auf ihren Seiten experimentieren, also dynamisch den Leuten verschiedene Versionen ausliefern. Generell Personalisierung Soll alles möglich sein und soll es alles möglich sein, ohne so ein Effekt zu erlangen? Diese Seite sagt Oh, wir müssen darüber sprechen, wie viel in einem Shopping drin ist. Und das bedeutet aber auf jeden Fall, dass wir als. In der Lage sein müssen, tatsächlich dynamisch auszuliefern und um die, die die Geschwindigkeit von, von von der statischen Auslieferung zu machen. Bedeutet das, dass diese Funktion, die dann dieser Seite produziert, so nah an den Nutzern sein muss, wie das irgendwie möglich wäre? Und das war auf jeden Fall ein großer Fokus, auch über das letzte Jahr an unserer Entwicklung.
Das heißt aber für für mich als Endnutzer ist, wenn ich jetzt da in die Player läuft, die automatisch on the Edge oder muss ich dafür irgendetwas tun, damit ich dann damit meine Seite möglichst nah an meinem Nutzerdaten ist? Was muss ich dafür jetzt noch tun?
Ja, also das Thema ist leider viel komplizierter, als es sich von vornherein an andient. Grundsätzlich ist es so, dass wenn man auf unserer Plattform deployed, dann wird diese Funktion global deployed und immer aufgerufen, sozusagen vom nächsten Ort aus, aus unserer Sicht an unsere Services basierte Plattform. Da sind normalerweise Funktionen nur an einem Standort und ich muss schon ein bisschen nachdenken, was die richtige Lösung ist für mich. Weil wenn, im Idealfall ist es zum Beispiel so ich habe eine Seite, die ist halbstark, deshalb dynamisch. Also wenn ich zum Beispiel zum Beispiel die Titelseite, auf der möchte ich ein Experiment Experiment ausführen, vielleicht das Bild ein bisschen größer machen und gucken, was passiert das die, dass die Daten, sozusagen die Produktstammdaten sozusagen statisch geladen werden können und wir sagen nur den die die die eigentliche das eigentliche Rendering der Seite ausführen dann ist es perfekt das global zu machen kann ich nicht zu irgendeiner Datenbank sprechen muss um die um rauszufinden was denn was dann geändert werden muss, was ganz realistisch einfach ein Problem ist, dass sobald ich mit einer Datenbank sprechen muss, die meisten Datenbanken sind nur an einem Ort der Welt und dann ist es in der Regel besser, dass meine mein Computer näher an der Datenbank ist als näher am Nutzer.
Ja, es gibt einen Spezialfall, wo ich sozusagen nur ein einziges Mal meine Daten von sprechen muss. Dann ist es egal. Aber sobald ich sozusagen seriell mehr als einmal meine Datenbank aufrufe, wenn ich zwar nur zehn Millisekunden von Nutzerzahlen bin, aber 150 Millisekunden von meiner Datenbank, dann sind wir schon mal darin, dass Sekunden nur für die Kommunikation, während wenn ich 150 Millisekunden entfernt sind von meiner Nutzer, aber zehn Millisekunden formal Datenbank sind wir bei 170 Sekunden für diese zwei Zugriffe. Und deswegen ist es schon so ein bisschen so, dass ich als als Entwickler ein bisschen drüber nachdenken muss, wo ich meine meine Logik ausführe und wo meine Datenbasis, dass ich. Im Idealfall habe ich eine Datenbank, die global deployed ist und dann ist es alles kein Problem. Aber es ist schon unsere Erfahrung, dass die allermeisten Datenbanken haben in irgendeinem Daten, der dahinter sind und und definitiv nicht auf der ganzen Welt verteilt.
Aber das ist in dem Punkt auch gerade mit den Datenbanken finde ich auch noch interessant. Zumindest wenn ich jetzt in meiner Next.js App irgendwie, sagen wir mal, wir haben irgendwie eine Datenbank, die ich mit Prisma anspreche wie. Also um das Haus in der Datenbank muss ich mich selbst kümmern oder bring mir irgendwas, wenn es in der Datenbank gibt, immer ein Application mit, das ich wie das IR Datenbank Service anbiete. Da würde ich dann und muss ich da irgendwas beachten, falls ihr es nicht mitbringt. Also muss ich es am besten erst hosten lassen, damit es irgendwie im Netzwerk von Apps und alles ein bisschen schneller läuft? Oder kann ich meine Datenbank dann auf Google Cloud Also vielleicht ich führe schon zu weit? Also was ist das Prinzip mit ich habe eine Datenbank in meiner App ist eigentlich die Frage.
Ja selber bietet keine kein Datenbankhosting an wir haben allerdings Integration mit den üblichen Verdächtigen. Also wenn ich sozusagen einen eigenen Cloud aus der Datenbank haben möchte, dann kann man durch unser Integrations Marketplace sozusagen sich sich connecten mit der mit der Datenbank des Wunsches. Was wir hier sehen ist, dass die, wenn ich quasi von meinem kleinen Hobbyprojekt bisschen weiter auf aufsteige, dass es schon einen irgendwie in Application Server gibt, da der die mit der Datenbank spezifisch spricht und die meisten unseren Kunden möchten sozusagen gar nicht, dass es sich um die um die, die um die Ausführung der Logik kümmert, sondern das ist eine Regel bei den bei unseren größeren Kunden zumindest getrennt von unserer Plattform.
Okay.
Also was ist eine globale Datenbank? Nur aus persönlichem Interesse? Das sagtest du, glaub ich gerade.
Ja, genau. Also, es gibt. Das ist ein breites Thema, weil es sehr davon abhängt, was ich machen möchte, wenn ich zum Beispiel einen Shopping Welt möchte, eine Shopping Mall. Das ist eine Single Player Applikation. Ja, ich mein Shopping Card. Und weil ich vermutlich nicht gerade in einem Flugzeug bin, ist es perfekt für mich, dass diese Shopping Card in meinem Fall in einem Data Center in San Francisco jetzt wäre. Und es gibt diese ganzen Asset Database konsistenz, die Probleme gibt. Diese existieren einfach gar nicht. In diesem Fall, weil jeder Nutzer einfach nur mit der Datenbank konkret spricht, die am nächsten an einem Nutzer dran ist. Aber sobald ich sozusagen von diesem Spezialfall der absoluten Single Player Applikation weggehe, hin zu einem Fall, wo die Daten von mehreren zugegriffen werden muss, gibt es, gibt es schon noch Optionen, die Die vielleicht berühmteste Lösung ist Google sbanner, die sowohl globalen Zugriff anbietet, aber volle Asset Compliance auf dieser Basis haben, dass das Kap Theorem nach in die Vergangenheit geschossen hat, aber die meisten Datenbanken können das halt nicht.
Also die, die haben vielleicht einen Global Read Replikation System, aber wenn ich sozusagen eine Transaktion machen möchte auf einer Aufnahme oder einen Prozess, dann wird es irgendwo stattfinden und alle anderen müssen warten, bis es fertig ist.
Und jetzt? Die Zeit ist ja so ein bisschen davon, ein Feature, was mich auf jeden Fall noch interessieren würde und mich auf jeden Fall noch interessieren auch wo was so die nächsten Themen sind, die wir angehen möchte von von ID Feature seitig so etwas von gesprochen von inkrementelle Strategie Generation. Kannst du uns da noch ein bisschen was dazu erzählen? Was was genau das ist und was macht.
Ja klar. Das ist für den Fall, dass ich eine eine Website habe, die sozusagen, wo die einzelnen Seiten nicht spezifisch sind, für den einzelnen Zugriff Nutzer Zugriff, aber sich durchaus regelmäßig ändern. Also das kann meiner Meinung nach Homepage sein oder mein Blog. Ja, ich möchte mein Blog publizieren und wenn ich neue Artikel habe, dann möchte ich nicht meine Website neu planen, was notwendig ist, wenn ich in diesem stetig Seiten Amazon system unterwegs bin. Und was bedeutet es, dass ich eine Seite habe, die benutzt? Die fühlt sich beim Deployment zu Generation, aber dann wird noch konfigurierbar. Im System kann diese Seite dann nach dem ursprünglichen Deployment noch abgedeckt werden. Konkret bedeutet das also entweder konfiguriere ich, dass wenn neun Sekunden vergangen sind, der nächste Zugriff triggert, dass im Hintergrund eine neue Version produziert wird. Dann kriegt dieser Nutzer, dieser Zugriff, bekommt noch die die alte Version, aber der nächste Zugriff bekommt dann die neue Version. Kann ich auf Null setzen, dass immer neu produziert wird, aber die Nutzer Zugriffe bekommen.
Immer, immer was ist, aber es wird quasi konstant eine neue Version produziert. Und ich kann auch eine on demand die Änderung vornehmen. Wenn zum Beispiel mein Main CMS die Option hat, wirklich direkt integriert zu sein, insofern, dass jedes Mal, wenn ich irgendwie einen Publisher oder ein Produkt anlege usw., dann werden automatisch APIs aufgerufen, die dazu führen, dass die spezifischen URLs validiert werden, durch diese Änderungen dann neu generiert werden. Vielleicht noch ein extra Thema. Ein weiterer großer Vorteil ist, dass ich auch, dass ich nicht alle diese Seiten vor ändern muss während des Deployment. Aber ich kann zum Beispiel sagen, ich möchte eigentlich nur meine Homepage irgendwie auf jeden Fall am Start haben. Und vielleicht kommentiere ich noch drei Seiten, die am meisten Traffic bekommen. Aber alles andere wird sozusagen beim allerersten, beim ersten Nutzer Zugriff produziert, so dass mein Deployment nicht länger dauert. Jedes Mal, wenn ich eine neue Seite oder wenn ich eine neue Sprache hinzufüge oder so..
Ja, cool, vielen Dank dafür. Es ist immer ausgeführt. Vielleicht kannst du so ein bisschen was da vielleicht am Horizont bei dir kommen. Ich sehe den Bereich in dem Fall Analytics, der ist ja noch dort. Jetzt ist es noch in Beta. Ich glaube, da habt ihr Ende letzten Jahres, was so ein bisschen aufgeht in diesem Teil. Es scheint so, dass sich rund um den Part Analytics sehr viel macht. Vielleicht kannst du uns dazu was erzählen. Und in dem Zuge gibt es dann noch weitere Themen, die am Horizont kommen. Vielleicht ja, von denen man auch bisher noch gar nicht so viel auf ihrer Homepage sieht. Was sind die nächsten.
Großen spezifischen nach nach Analytics gefragt hast? Da sind wir auf jeden Fall eifrig daran, das von der Beta auf die Produktion zu zu schieben und auch noch neue Features dazu zu fügen. Ich glaube, was das System an sich absetzt von von vielen Wettbewerbern und auch interessant ist über die Plattform an sich ist, dass das auf der einen Seite ein vollständiges First Party Index ist, dass es eben keinerlei Requests in diesem System ging. Gehen zu einer anderen, zum anderen Provider geht alles an den Posts des jeweiligen Kunden direkt. Wenn ich zum Beispiel einen Index oder so installiert, dann wird die komplett JavaScript Datei von Google und dann geht zu Google. In diesem Fall ja, es gibt ein Teil von dir selbst und direkt die eigentlichen Hits gehen an dich selbst am. Und was die Plattform da besonders macht, ist, dass der Grund, warum zum Beispiel ein Google Analytics diesen Prozess wählt. Dass man ja es gibt tatsächlich alles zu Google läuft, ist primär, dass es unheimlich schwierig ist, das anders zu planen. Ich hätte auf meinem Blog es früher so gemacht.
Ich habe Googles Datei einfach. Ich habe nach oben gearbeitet, habe ich großer Teil kopiert, auf meine Website getan, habe in den Source Code die Analytics Domain geändert, auf meine Domain und auch meine Domain Proxy getan, der geschickt hat, was wunderbar funktioniert und keinerlei Request Director Google. Also es als Privacy sehe ich perfekt, aber das ist halt bei super schwierig zu finden und und auf keiner sagen die Plattform ist es diesen Service in deine Seite reinschieben und sozusagen die komplette First Party Sicht darstellen, ohne dass ich besonders viel darüber wissen müsste, wie wie, wie das alles funktioniert. Um das nur mal kurz, um so ein bisschen die Differenzierung dieser Plattform zu stellen. Und natürlich arbeiten wir daran, alle möglichen Features zu zu bauen, die im Augenblick da definitiv noch fehlen. Ich würde auch sagen, dass das vielleicht ein bisschen die Zukunft Backend. Was ich persönlich auch sehr interessant finde, ist insgesamt das Thema Feature Flags, sowohl was den generellen Lebenszyklus von Applikationen angeht und auch was das eines Tages angeht, also dass die Möglichkeit statistisch signifikant zu ermitteln, ab ob denn ein Feature funktioniert oder nicht, ist eine Sache, die ich glaube, viele Funktionen ausprobieren, aber ich habe selten gesehen, dass es funktioniert.
Während ich persönlich halt auch der Kulturkampf von Google, wo wir sehr genau verstehen, sozusagen was wie die Metrik Änderungen für eine Änderung der Art von einem Feature wie sich das zu interpretieren. Ich würde gerne sozusagen diese dieser Art der Arbeit mit der Website ein bisschen an die breite Massen bringen. Das ist meine persönliche Mission auf der Seite.
Aber Feature Flags ist aktuell noch kein Feature, was ihr bietet oder gibt.
Also wir arbeiten daran, Feature Flags tiefer in unsere Plattform zu integrieren, allerdings eher auf die Art und Weise, da es sozusagen die Plattform Feature Flags an versteht. Aber wenn ich zum Beispiel einen Feature Facebook. Das Video gibt eine ganze Menge. Es ist nicht unser Ziel, die Zusagen zu ersetzen, sondern deren Features in unserer Plattform besser, besser darzustellen. Ob man vielleicht ganz oft eine andere Richtung zu gehen, ist ja gefragt, was so was am Horizont steht. Eines unserer großen Projekte, die wir im Augenblick im Lauf haben, ist Turbopack. Ich weiß nicht, ob ihr vielleicht schon mal im Podcast als Tobias.
Körper sehr klar den.
Weg der Gründer, Entwickler von Webpack, aber auch Risiko und arbeitet mit einem mit dem größeren Team an Turbopack. Als sozusagen zumindest geistlicher Nachfolger von Frank Webpack.
Ja, wir haben uns viel im Podcast darüber unterhalten, auch der der Kampf mit Video und den Performance Metriken, die dann wo es dann viel hin und her ging und dann sind dann Analyse da haben wir auch viel diskutiert.
Wir haben uns alle lieb. Jetzt sind wir auch mit denen. Wir hosten seine Webseite sozusagen. Alles in allem alles super arm. Also auf jeden Fall sehr interessant. Ich fand die Diskussion im Grunde gar nicht so interessant. Was Turbopack wirklich absetzt von anderen Lösungen, ist die Möglichkeit der inkrementellen Deployment. Also wenn so ein Webpack heute wieder in Entwicklung sein, bin ich es gewöhnt, dass ich irgendwie eine Änderung vornehmen auf meine, auf meinen Texteditor und dann idealerweise sofort die, die mein Browserfenster abbildet. Und das dauert dann mit einer Sekunde und zehn Millisekunden und ob Sekunden dauert alle 20 Millisekunden kann man sich vielleicht auf Twitter drüber streiten, ist aber nicht so relevant. Dann ist es aber schon so, dass wenn ich eine sehr große App habe, dass mein Production Bild viele Sekunden bis zur Minuten dauern kann, selbst wenn ich zum Beispiel was sehr schnelles. Aber jede schnelle Software wird irgendwann von der richtigen Menge Entwicklern besiegt. Und das Ziel von Turbopack ist sozusagen und dass sich auch in der Produktion Pilotphase inkrementellen Prozesse also zum Beispiel wenn ich einen denn nun auf irgendeiner Seite einen kleinen String änder, dass mein letztes Kompilat quasi benutzt wird, um dann die neue Version zu produzieren.
Und werden da auch noch über nur über Millisekunden sprechen und nicht über über Sekunden bis zum. Unser Ziel ist auf jeden Fall, dass wir sagen, dass wir sehr große, nennen wir Zalando D in zehn Sekunden planen können, weil sich wie lange dauert, aber vermutlich.
Ein bisschen länger.
Oder so spannend ist. Das ist schon so unser unser Ziel.
Megacool. Malte vielen, vielen Dank, dass heute Zeit gefunden hast. Ich glaube, wir haben ganz guten Einblick bekommen, was wir so aktuell ausmacht und anbietet. Hat uns super viel Spaß gemacht. Wir hoffen, das werde ich noch mal zu dem Video bewegt bekommen und noch mal ein bisschen vielleicht die Strukturen von und auch ein bisschen reden können und wie ihr das alles macht im Team und was da die Hintergründe sind, würden wir uns auch mega freuen. Vielen, vielen Dank für deine Zeit heute. Danke, dass ihr dabei wart.
Ja, vielen Dank und.
Hoffentlich bis bald. Danke. Danke.
Hat mich gefreut, mein Deutsch ein bisschen trainieren zu können, ist nicht immer ganz einfach, aber ich mach es gerne mit Bravour.
Gemeistert.
Was? Gutes Deutsch.
Sehr schön. Vielen, vielen Dank. Mach's gut dann.