WebAssembly: Von Browser-Gaming bis Serverless Functions
Shownotes
Simon beschäftigt sich vor allem privat mit WebAssembly. Er hat auch seine Master Thesis darüber geschrieben.
WebAssembly erlaubt es, Software plattformunabhängig auszuführen. Initial war es dafür gedacht, aufwändigere Programme im Browser auszuführen. Die großen Hersteller haben sich gemeinsam auf einen Standard geeinigt. Und der ist heute auch in fast jedem Browser vorhanden. Damit kann man vor allem rechenintensive Sachen im Browser laufen lassen - wie z. B. Spiele.
Aber WebAssembly kann noch mehr. Man kann WebAssembly Runtimes auch auf dem Server laufen lassen und dann dort Programme ausführen, die nach WebAssembly kompiliert wurden. Ein Anwendungsfall sind Serverless Functions (wie man sie z. B. von AWS Lambda kennt). Der Vorteil daran: Das ist sehr gut skalierbar und die Startup-Zeit einer solchen Function ist extrem gering.
In der Zukunft könnte man sowas auch zusammen mit herkömmlichen Containern in K8s Clustern betreiben.
Links:
Wasm Component Model: https://www.fermyon.com/blog/it-is-time-to-reboot-software-development Original Wasm Paper: https://dl.acm.org/doi/pdf/10.1145/3140587.3062363 WebAssembly by Example: https://wasmbyexample.dev/home.en-us.html Wasm Roadmap: https://webassembly.org/roadmap/ Alte Betriebssysteme im Browser ausprobieren: https://www.pcjs.org Internet Archive Arcade Games: https://archive.org/details/internetarcade
Transkript anzeigen
00:00:00: Intro
Voiceover: Hallo und herzlich willkommen bei der Tutor future den Podcast zu Technologie und Unternehmenskultur,
Voiceover: mein Name ist Wolfgang Schoch und ich bin einschaltcode bei inovex ich habe aber auch schon einige andere Sachen gemacht und so die IT Branche aus verschiedenen Blickwinkeln kennengelernt,
Voiceover: z.b. als Softwareentwickler als Experte Versuch Technologie oder im Vertrieb,
Voiceover: ich freue mich euch in jeder Folge des Podcast eine Kollegin oder einen Kollegen vorzustellen und mich mit ihnen über das jeweilige Fachgebiet zu unterhalten.
Voiceover: So bekommt ihr einen Einblick in unseren technologischen und Unternehmenskultur allen Alltag.
Voiceover: In der heutigen Folge spreche ich mit meinem Kollegen Simon kinsler Simon beschäftigt sich mit Web Assembly über das Thema hat er auch seine Masterarbeit geschrieben,
Voiceover: ich kannte Web Assembly bisher vor allem als Technologie mit der man Spiele im Browser laufen lassen kann aber das ist nur ein Anwendungsfall davon,
Voiceover: damit WebAssembly sind noch viele andere Dinge möglich so kann man damit beispielsweise auch serverless functions bereitstellen und das auch noch sehr gut skalieren und darüber sprechen wir in dieser Folge ich wünsche euch viel Spaß mit dem Gespräch.
6566: Hallo Simon schön dass du heute hier zu Gast bis um Podcast ich freue mich auf unser Gespräch aber bevor wir in die schöne Welt der Technik einsteigen würde ich mich freuen wenn Sie sich eben mal vorstellst.
8030: Dajana ich bin Simon ich bin jetzt schon mehrere Jahre bei ihrem Ex habe alle Stufen durchlaufen die man durchlaufen kann glaube ich war erst im Praktikum hier dann Werkstudent dann Master Rand und jetzt bin ich seit zwei Jahren in der Festanstellung.
8030: Beschäftigt mich hauptsächlich mit Themen im Bereich Cloud-Computing macht viel zum Thema Colitis und Controller Entwicklung.
8030: Am genau und ansonsten beschäftige mich in meiner Freizeit gerne mit wert ist dann blieb.
8030: Unser Thema heute ist gleich vorweg ich habe jetzt den beruflichen Kontext und gar nicht so viel da mitgemacht.
8030: Aber ich finde auf jeden Fall spannend was da gerade so passiert und ich bin mir ziemlich sicher dass wir hier ein paar coole Themen aufmachen kann.
6566: Da bin ich auch sicher ich bin auch sehr gespannt auf das Thema Web Assembly denn als wir uns vor ein paar Wochen mal drüber unterhalten haben habe ich ja gleich gesagt ja auch WebAssembly kenne ich und zwar von solchen Browsergames,
6566: die man dann teilweise ich sag mal kompilieren kann in Web Assembly und die dann dadurch auch lauffähig sind,
6566: du meintest dann damals ja auch aber... Da geht noch viel mehr,
6566: und deswegen ist es heute glaube ich so ein Gespräch wo ich viel lernen kann und die mag ich immer ganz besonders.
6566: Simon nehme ich doch mal mit und alle die uns zuhören auf eine kleine Reise woher kommen denn Web Assembly und seit wann spricht man denn überhaupt von dem Begriff Rettersheim.
8030: Gute Frage also du hast es glaube ich schon ganz gut gesagt mit den Spielen die man nach WebAssembly kontrollieren kann und dann im browser.
8030: Das ist schon ziemlich genau wo das ganze Thema ursprünglich herkommt ich aus dem Browser.
8030: Und der Grund der grundsätzliche Ansatz war ungefähr so 2015 dass man gesagt hat hey wir wollen uns mal zusammen tun also es waren damals die großen Browser Hersteller also Google Apple Microsoft und Mozilla.
8030: Dass das schon mal alleine was das für ein Preis mit dem Thema war wenn die vier sich zusammentun finde ich.
8030: Und die Leber grundsätzlich einfach JavaScript es zwar ganz cool und wir können viel damit machen und es hat auch.
8030: Definitiv eine gewisse Popularität das kann man ja nicht abstreiten.
8030: Aber es ist halt schon manche Sachen einfach nicht so super geeignet also ich muss was compute sensitive ist oder compute intense.
8030: Profil Tipp U-Bahnhof ist grundsätzlich also was die Grafik Berechnungen im Bereich machine learning z.
8030: Und die Liebe einfach wie können wir es ermöglichen dass wir ohne die Plattform Browser zu verlassen mehr Dinge tun können wo andere Sprachen außer da was gibt vielleicht besser geeignet sind.
8030: Und die Idee war dann geschaffen nun Sandbox Umgebung sie sollte möglichst sicher sein.
8030: Und dahin sollten Programme ausgeführt werden können die eben nicht JavaScript sind aber soll ich trotzdem die Möglichkeit geben Austausch gibt heraus in wieder solche Programme auszuführen.
8030: Genau und im Prinzip ist die ganze Welt ist denn die Geschichte nur der Spezifikation die sagt hey wir haben hier diesen low-level whitecoat so soll er aussehen so wird er aus.
8030: Und solange dann so high level Poker Programmiersprachen wie es z.b. was ist das klassische Beispiel die sind im Web Assembly sofort glaube ich am weitesten mit ab.
8030: Aber auch andere Sprachen wiko oder oder Zeel sind problemlos möglich.
8030: Andy können wir jetzt machen Battle Sandy komponieren im Gegensatz z.b. zu auf eine AMD oder Architektur wie man das.
8030: Kann dass man verschiedene Tages kombinieren kann kann ich jetzt eben auch zusätzlich noch nach Web Assembly kompilieren und einfach nur.
8030: Und die Couch kann ich dann in meinem Browser ausführen und aus JavaScript heraus ansprechen dass ich kann z.b. sagen sag meine Webseite ich habe hier irgendwie ein Tool was,
8030: Grafiken rendert und diese Grafik Rendering das übertrage ich einfach in den Battles NTV das läuft dann Sandbox in diesem extra environment,
8030: security features oder ziemlich spannend und die können auch noch ausführlich später reden.
8030: Genau aber im Prinzip war das die Idee ich möchte einfach andere Programmiersprachen außer JavaScript im Browser einsetzen um bestimmten Lieds abzudecken z.b. auch,
8030: ich habe schon bestimmt das programm da haben wir es mal schnell was war das neueste Beispiel R Photoshop.
8030: Oder jemand der direkt eine ganze x86 Architektur einfach nach Web Assembly kompiliert hat dass ich jetzt quasi alle Betriebssysteme die auf x86 laufen.
8030: Performance entsprechend als gegeben vorausgesetzt einfach auch in meinem Browser ausführen kann also Zimmertür ein altes Windows oder so was läuft dann in mein Browser einfach weil du es als Kombinierung Stargate.
8030: Was ich ganz cool findet bisschen ja auch noch an die du angesprochen hast dann gibt's einen Spiele von damals ich jetzt mein Browser spielen kann.
6566: Ja also gerade was was dazu sagen gesprochen hast mit dem Betriebssystem da gibt's noch Webseite die heißt glaube ich kisi junior dot com oder so ähnlich ich schau dir gern mal nachgegangen schaue ich mal nach die url die kann ich in die Shownotes reinpacken,
6566: da kann man sich gerade so alte Betriebssysteme anschauen also kannst du bitte sagen hey ich würde mal gerne wissen wie so ein ominöses Windows 3.11 ausgesehen hat von dem wir die ganzen alten Leute immer reden oder Rechnung Windows 10 oder so,
6566: kannst den Browser anschauen und ich glaube dieses Online-Gaming wo man sich auch so alte Spiele anschauen kann das habe ich vor allem wahrgenommen durch archiv.org.
6566: Die haben nämlich auch so ein großes Retro Spiele Archiv wo sie so ganz alte dos Spiele und so weiter archiviert haben,
6566: und du kannst die halt alle bei denen auf der Website im Browser auch mal begutachten und das würde dann wahrscheinlich Außenwerber simplie Technologie sein die dir eingesetzt.
8030: Die Seite im genau nicht aber ich bin mir ziemlich sicher dass der sowas unter der Haube laufen wird genau das macht das einfach einfach weil du die bestehenden,
8030: und Projekten hast du den der Programmiersprache und solange du irgendeinen Weg findest über sich Umwege wie LLVM oder sowas also so inzwischen Kompilierung Stargate,
8030: dann irgendwas zu finden was dann wiederum nach letztem die kombiniert werden kann kriegst du mit ein bisschen Arbeit ziemlich viele Browser auf jeden Fall zum laufen.
8030: Und dann macht halt schon quasi Spaß und ist halt cool so alte Sachen zu portieren ich glaube es waren wieder bei Hacker News dann hätte ich jetzt das und das Interessante zum Laufen gebracht ganz laut ja mal gegenseitig überboten.
6566: Jetzt hast du aber gesagt bei Web Assembly soso du hast eine Applikation du hast irgendwie Code der wurde komponiert nach WebAssembly ist damit laufe ich im browser,
6566: du kannst aber jetzt auch mit Javascript interagieren.
6566: Das heißt ich kann jetzt irgendwie so eine weiß nichts von der ist single page application haben wo ich ein Großteil mit Javascript geschrieben habe.
6566: Und ich habe beispielsweise Performance kritische Sachen fürs ne coole 3D Visualisierung,
6566: die habe ich es nicht in JavaScript geschrieben sondern die habe ich jetzt in Rastow in C plus plus implementiert,
6566: hab das ganz nach Web Assembly kompiliert und habe dann eine große Applikation. Gewisser Teil in JavaScript entwickelt wurde und gewisser Teil des WebAssembly und das interagieren miteinander.
8030: Genau ist es genau dass du das geschrieben hast du musst Dir quasi überlegen wo sind meine handoffs wo ist mein Interface meine App III zwischen meinem Jarvers.
8030: Und den Teilen die ich gerade in letztem die ausführen möchte es gab also das ist jetzt auch wieder relativ Geschichtsstunden mäßig oder es gibt auch immer noch Ems.
8030: Damit kann ich das war erstmal da glaube ich mal Eisen jayess.
6566: Kann ich nachher.
8030: Was etwas so eine Art Vorstufe von Web Assembly irgendwie versucht hat zu sein dass du eben da Performance kritische Sachen nicht mit direkter was gibt ausführst sondern mit darunterliegenden besser optimierten er Funktion die was er nicht ist UNO das gleiche tun sollen.
8030: Und emscripten war dann so einen Helfer um quasi Programme in smts zu kompilieren.
8030: Und emscripten hat dann relativ früh gesagt hey wer ist denn das genau das was wir gerade unterstützen wollen wir switchen jetzt um.
8030: Und da kannst du neben deinem stehen Programme nehmen du definierst die Interfaces also welche Funktion in meinem später zu maps.me kumulierten Programm er soll dann von außen ansprechbar sein.
8030: Und degenerierter dir dann diese bindings die du dann aus JavaScript heraus aufrufen kann,
8030: und dann so sagen also wenn das wirklich ganz wo kriegt man wollen Ruf Funktion mit dem Namen XY auf mit folgenden Parametern dann wechselt die execution rüber in den Web assembly.
8030: Brechen aus gibt es Ergebnis dann entsprechend zurück und durch dieses Sandboxing hast du halt dann entsprechend die die Kapselung dass ich einzelne Prozesse nicht in die Quere kommen.
6566: War sehr spannend läuft dann in der Sandbox gleichzeitig diese WebAssembly Komponente + JavaScript oder ist das separiert und du hast dann halt irgendwie eine Schnittstelle dass du damit irgendwie interagieren kann.
8030: Also ist es repariert haben das ist ja auch einer der der Zielbilder die persistent überstürzen will dass dieses seine boxinhalt rigoros durchgezogen wird also auch wenn du,
8030: über verschiedene Browser Tabs sind weg oder mehrere WebAssembly Instanziierung innerhalb einer Website hast in einem Tab,
8030: dann sollen die immer möglichst abgeschlossen laufen und auch solange du das nicht Ex.
8030: Definierst auch keine interaktions Möglichkeit mit der Außenwelt haben eben über diese außer über diese Interfaces.
8030: Speicher über wer bestimmt die außerhalb von Bowser springen auch noch mal richtig spannend weil dann genau dieses was normalerweise auf einem System machen will als ich mich hier falsch lesen socket Connect aufmachen oder sowas.
8030: Dann auch wieder immer extra erlaubt werden muss und dieser Sandbox sind Gedanke dieses ich erlaube wirklich nur das was was ich als Entwickler vor sehe.
8030: Und keine anderen executions also so ein ich schreibe mal hier im falschen z.b. das ist auf jeden Fall kein Gedanke von mir bis emberley.
6566: Echt interessanter das unterscheidet sich ja dann auch grundlegend von der Idee die man mal vor vielen vielen Jahren mit solchen Java-Applets hatte was er sich studiert habe da mal noch Java gelernt und Java-Applets,
6566: wann damals so ganz modern das war so hey das ist die Zukunft coole programmiert Technologie im browser was ich kannst du noch Java-Applets oder kannst hast mal was da.
8030: Davon dass die im Browser nicht mehr funktionieren wenn ich auf Englisch jederzeit gehe.
6566: Herr genau also beim Paradeplatz also du hast eine Java Applikation geschrieben die war ja per Definition auch erstmal plattformunabhängig sofern du halt die Runtime auf deinem Rechner hattest,
6566: und am ja beim Papa Tablet kannst du halt quasi in deiner Webseite definiert hey hier möchte ich so ein Applet einbetten hier ist die url zu entsprechenden Datei also zu meinem Kompilat,
6566: von der Browser hat das dann vom Server geladen hat es dann gestartet auch in der Jay WM und hat halt deine ja die Applikation selbst in der Webseite angezeigt aber das war dann halt nur einen dicken komplettes Java Programm,
6566: was halte dein Browser dann dringen gesteckt hat und da war's jetzt nicht so vorgesehen dass du jetzt so ganz viel JavaScript hast und da Interaktion hast,
6566: mit irgendwelchen Komponenten und das war halt ein komplettes Programm was der sei nicht runtergeladen hast und dann gestartet hast sondern was dann halt schon in deinem deiner Webseite den wo trinken.
8030: Ich kann das noch von so physiksimulation oder sowas glaube ich da besser funktioniert schätze ich mal,
8030: und dann hast du da halt wichtig komplett leere Webseite ganz und dann auf den Knopf gedrückt und dann wurde quasi dieses Jahr eröffnet geladen das stimmt genau und es coole Bewerb ist emily ist halt dass sich die Browser wenn das zusammengeschlossen haben um diesen sondern etablieren das heißt,
8030: als dann alles Kopierfunktion um kurz nach damit ich nichts falsches sagen dann so gegen 2017 gestern die ersten Browser für dieses die eben damit Werbeservice sofort raus kam,
8030: Unfall einfach nativ im Browser Support wird hast du halt nicht mehr dieses ja du musst dann irgendwie ein Java-Applet starten oder runterladen und zu den irgendwo ausgeführt und dann der Browser bringt es einfach mit.
8030: Du kannst es dann benutzen.
6566: Das habe ich heute in allen Browsern drin oder in den breit verfügbaren Browsern.
8030: Also du kannst es überall benutzen da kommen jetzt in den Bereich von Spezifikationen und dem Spaß damit er z.b. wurde dann 2019 der beste Mitarbeiter der Standard beim G3.
8030: Und bis alle da war es auch schon in den meisten Browsern verfügbar zu Mystik und witzig.
8030: Aber ich will dich wenn du das so was machst dann hast und es fertig vielversprechend aussieht und du siehst Hi damit kann man viele coole Dinge bauen dann kommen natürlich die Wünsche wahr ich will jetzt auch gerne diesen das machen oder ich würde gerne auch noch auf diese Schnitte zugreifen und sowas,
8030: und da entsteht gerade oder entstand auch schon viel so Extensions für diese Spezifikation oder immer die Frage ist,
8030: okay wann landet dafür ist der Browser Support bei mir im Browser oder wann kann ich diese Schnittstelle benutzen,
8030: das sowas praktisch wie die da bis dann wieder fertig, glaube ich auch einen schauen ob es dann vielleicht verlinken wo du wo du nachgucken kannst welche Spezifikation,
8030: Teile gibt genaue mal in Chrome verfügbar sind oder so.
6566: Gibt's da viel wildfuchs weil ich muss jetzt da spontan an den guten alten Internet Explorer denken oder Internet Explorer je nachdem wie man frägt,
6566: wo ist der damals auch von Microsoft viele in Anführungszeichen Erweiterung gab zum HTML Standard damit der Website auch richtig toll aussieht und coole Funktion hat,
6566: sofern sie halt im Internet Explorer ist Sex mit einer Auflösung von 800 x 400 Pixeln angezeigt wird,
6566: ist das da der bsm.de nicht das ist das so die Tendenz für Wildwuchs gibt.
8030: Wildwuchs für dich jetzt nicht bezeichnen ich glaube das sind schon immer sagen Ingo und U-Bahn es gibt auch gewisse Posen,
8030: also immer incubating und dann immer danach oben bist general availability,
8030: da muss aber auch dazu sagen so viele sind noch gar nicht im toptier angekommen also das ganze Thema ist halt einfach sehr viel in Bewegung gerade da passiert viel an denen schon das wird aktiv gearbeitet.
8030: Und.
8030: Bis auf jetzt sage ich mal die vor Spezifikation im Browser ist halt vieles noch so ein bisschen wie du halt sagst in den in den Grundzügen zwar arbeitet aber kann sich halt immer noch unterscheiden.
8030: Und bin ich nur Verbraucher das gilt auch für die ganzen Rand eines dich zum Beispiel bei mir auf dem Rechner ausführen kann wenn ich mich damit ein bisschen wie auf dem Server beschäftige z.b. das dann immer gucken musst unterstützt die Runtime die ich gerade verwenden will.
8030: Den von den Spezifikationen Extension Teil oder sowas also ums Beispiel Network sockets zu öffnen.
6566: Okay ja apropos beschäftigen wie hat es bei dir eigentlich angefangen dass du dich mit der Technologie beschäftigst weil du hast ja gerade schon gesagt beruflich machst du da eigentlich nichts mehr sondern ist es was privates und privates Interesse.
8030: Na gut war das vielleicht bisschen kurz gegriffen also ich mache beruflich einfach wenig im Browser das definitiv wo wir bis mbH eigentlich herkommt.
8030: Aber ich habe eine These damals bei inovex geschrieben,
8030: und da war die Fragestellung wie sieht es eigentlich aus wenn ich jetzt gelb assembly was 2021 dazu thesis geschrieben habe,
8030: schon ziemlich etabliert war dass man eben irgendwie vorhin gesagt weil kann wirst immer die ganzen Sachen gesagt ich kann es das und dass im Browser ausführen.
8030: Das war damals schon richtig etabliert und die Frage war dann eher in die Richtung okay jetzt haben wir diesen Standard diese Spezifikation,
8030: die sagt irgendwie werden wir ganz kleine Module die sind Sandbox ich kann genau sagen was sie dürfen und was nicht und ich habe einen Pool geordnetes Interface und mit denen zu interagieren.
8030: Bin reich so nach Containern so ein bisschen zu mir.
6566: Bisschen ja.
8030: Und dass du dann sagst hey ja noch diesen konnten dieses Container Orchestrator den jetzigen wie auch alle benutzen,
8030: wie wäre es denn wenn wir sagen wir wollen mal ausprobieren ob man diese Web Assembly Runtime eben auch als Container Ersatz verwenden kann es war damals ein bisschen der plakative Ansatz dieser Thesen zu sagen.
8030: Kann das also können Webseiten Module meine Container ersetzen schreibe ich jetzt einmal eine Application in meiner Programmiersprache der Wahl,
8030: und auch dir nicht mehr in Container ein und bau mir ein Container Image machen wir bis dann die modulan raus und ihr dann WebAssembly Runtime um die aus.
6566: Wie funktioniert das dann kann man da auch so eine Runtime irgendwie als Demon auf dem Rechner laufen lassen und da dann irgendwelche komponierten Programme oder Module drauf ausführen oder ist es immer an Browser gebunden.
8030: Genau das ist dann wohl für mich spannend wird auf der auf der Serverseite du kannst es definitiv bei dir auf dem Rechner ausführen es gibt sehr sehr viele Implementierung die dann einfach sagen okay ich habe hier dieses Handy Spezifikation,
8030: warum muss ich die jetzt im browser implementiert oder warum soll es in der Blase unterstützen können.
8030: Kann der hier auch einfach das in meinen meine binary einfach implementieren und übernehmen und dann habe ich wieder bis an die Wand 1 die ich mir als Binary auf meinen Rechner laden kann und ausführen lassen auch was dem laufen lassen,
8030: kannst aber auch einfach ein bisschen damit rumspielen da gibt's z.b. die Referenzimplementierung für Web Assembly das ist warten time,
8030: wird von der Waltraud Alliance rausgegeben und entwickelt.
8030: Das ist das die Studio nisation hinter dem Meer bis an die Spezifikation die damals gegründet wurde um den Standard eben voranzutreiben und diese ganzen Pausen zu managen von den wir schon geredet haben.
8030: Und es gibt noch ganz viele andere es gibt mal private Match es gibt Departement und ganz ganz viele sage ich mal Open-Source,
8030: wo die Runtime Office was ist aber immer noch eine Firma dahinter steckt,
8030: die versucht irgendwie in diese Nische rein zuschlagen zu sagen hey wer bist denn du bist ein cooler Ansatz über hier irgendein Produkt raus bauen aufgerissen Richtungen function does the service z.b. dass das Thema auch sehr populär.
8030: Oder ähnliche Plug-in Systeme ich sage der Nutzer kann seine eigenen Kot mitbringen in mein Produkt und solange es nach Web Assembly kombinierbar ist kann es bei mir ausgeführt werden.
8030: Und ja so gibt's einen relativ bunten Blumenstrauß an der bis dann die Band 1 die ich auch bei mir lokal oder auf einem Server ausführen lassen kann.
6566: Wenn ich super interessant also mein erster Gedanke war,
6566: das hat mich ein bisschen nocas weil ich habe ja erst auch JavaScript gehabt das war mein Browser ist da gelaufen und auf einmal kam jemand um die Ecken hat gesagt hey,
6566: JavaScript läuft jetzt auch auf dem Server mit no Chase und ich weiß noch was schon paar Jahre her,
6566: mein erster Gedanke war herber warum braucht man das wir haben doch gute Technologie für den Server und heute ist es ja nicht mehr wegzudenken OTRS,
6566: ist ja wirklich eine sehr verbreitete Technologie,
6566: das war mein erster Gedanke dann hast du es gesagt hast na ja der Kunde der kann irgendwie vielleicht zu sein Kot mitbringen hauptsache der komponiert nachher WebAssembly da musste ich ein bisschen zu Anne anichi PMD.
6566: Denn da ist ja auch so der Gedanke klar am Anfang war Java,
6566: aber dann gab es viele andere Sprachen und ich glaube heute programmieren nicht mehr so viele Leute hauptsächlich in Java wenn sie mit der GPM Arbeit,
6566: Sonnengott Land englisches die Nummer eins Java gibt sicherlich auch noch aber es gibt ja viele andere Sprachen es gibt closure und und und und und,
6566: und ich habe im Laufe meiner Berufslaufbahn durchaus auch Projekte kennengelernt wo man gesagt,
6566: Leute nutzt bitte die Sprache auf die ihr Lust habt ihr Spaß mit habt wohl gut drin seid hauptsache die läuft auf der Jay WM und ich ganze Projekte da wurden dann teile in Java entwickelt aber Zweifel auch Teile in der Klause,
6566: und am Ende weiß ich nicht ob das gut oder schlecht war aber es hat funktioniert.
6566: Ich glaube für für mich als Java-Entwickler Wer ist wahrscheinlich erstmal bisschen schwierig gewesen nicht da enclosure reinzufuchsen weil so man die Liste Zeiten die liegen schon gute 10 Jahre oder 15 Jahre zurück.
6566: Aber wäre sicherlich auch gegangen aber im Rahmen des Projekts war eine coole Sache weil alle Leute mit der Technologie arbeiten konnte.
6566: Auch diese Lust hat meine Klamotten über Zionist sehr wichtig und die zwei Gedanken die hatte ich jetzt gerade dass du das erzählt hast von WebAssembly denn wir haben jetzt auch eine Plattform dann,
6566: die ja erstmal entkoppelt ist von der eigenen Programmiersprache.
6566: Und wir haben es von der ja Browser Technologie die auf einmal auf dem Server läuft.
8030: Also die parlieren sind definitiv unverkennbar.
8030: Ist wahrscheinlich auch einfach so dass gewisse Dinge in unterschiedlichen Formen immer mal wieder kommen was wird assembly jetzt vor allem unterscheidet würde ich sagen ist das von Anfang an halt nicht irgendeine bestimmte Programmiersprache im Zentrum der Entwicklung dieser Architektur stand,
8030: Anfang an gesagt wurde möchten möglichst neutral macht Verfügung stellen was,
8030: out-of-the-box solange dann die Programmiersprachen die das entsprechende compilation Tagen unterstützen.
8030: Eben super viele Domi Sprache als Quelle ermöglicht also ich glaube die aktuelle Liste umfasst so ca zwei Dutzend Programmiersprachen die ich jetzt schon mit mehr oder weniger viel Erfolg nach Web Assembly kombinieren kann.
8030: Und dass du eben dann nicht diese stahlgruppen gemeldet Haltung hast mit einem JB andy hat gesagt okay so und so genau funktioniert das mit der Garbage Collection et cetera.
8030: Sondern du hast einfach nur dieses ganz generisches at an architecture instructions.
8030: Auch möglichst simpel gehalten das einfach das ist also Spezifikationen ist wirklich im Vergleich zu DIN SPEC deutlich kleiner.
8030: Aber man sieht es auch wieder dass mich dann anderer. Das dann sowas wie Garbage Collection was ursprünglich nicht Teil von der Lippe sind die Spezifikation war als Extension dann doch wieder in die reinkommen weil wir sagen das wäre eigentlich schon ganz cooles zu haben,
8030: und so dreht sich das Rad glaube ich immer so ein bisschen weiter.
6566: Hast du eine Ahnung wie so eine Runtime oder wenn nennt man das dann Runtime bei deiner WebAssembly.
6566: Hast du eine Ahnung wie das Performance mäßig aussieht weil wenn ich jetzt in Rast entwickel und nativ Kompilieren für meine Plattform dann habe ich natürlich eine sehr sehr gute Performance.
8030: Blazing fast ja wie man immer so gerne sagt.
6566: Ja ich glaube in C plus plus ist es wahrscheinlich ähnliche aber es ist halt C plus plus und natürlich Injektionen Runtime nehme wird irgendeine von den von dir genannten,
6566: WebAssembly Runtime für die sprech es nicht vom Browser sondern ich spreche es wirklich vom Server hast du eine Ahnung wo man SH Performance Miss sich befinden also paar mal die Hälfte der Performance oder ein Zehntel oder ein Hundertstel oder it depends.
8030: Natürlich independence ich hatte damals in der Thesis auch ein Benchmark gemacht von ungefähr zehn verschiedenen Runtime sie es damals alle gab.
8030: Bin noch ziemlich sicher dass du die nächsten Jahre dass ich so die Steckenpferd herauskristallisieren werden und das ein paar kleinere vom Markt verschwinden,
8030: aber wir hatten da immer so Ergebnisse zwischen 70% netinform uns aber auch bis runter nach 20 % native bevor man sie nach dem was du für Birgit ausgefüllt hast,
8030: und wie die Runtime damit gearbeitet hat also,
8030: es gibt auch von den Runtimes dann oft Benchmarks die im sagen bekommen so ein so nah ran aber es ist in keinem Fall auch wenn es immer gerne so als near-native Performance verkauft wird wir sind da schon ein Stückchen von Weg bis es einfach so.
6566: Ja ich meine wenn du das wirklich also kommt drauf an was ist denn hier native sprechen wir davon 95% von 99% oder von 60%.
6566: Sabina bist du dran ich glaube das was meiner Sicht jetzt wirklich was extrem nah ist wirkt auch nicht so realistisch.
8030: Definitiv ja das ist einfach zu viel dazwischen.
6566: Also weil ich meine es muss ja ein Vorteil haben wenn ich jetzt meinen Code informativ compl ihr für eine Plattform versus ich benutze noch irgendwie Zwischenschicht ich habe noch meinen Byte Code der dann interpretiert würde cetera also da muss es ja schon auch einen Grund geben.
6566: Warum da noch ein paar rechenzüge mehr oder weniger verwendet werden allerdings muss ich auch sagen für viele Use-Cases ist die krasse Performance ja auch gar nicht so wichtig.
6566: M1 was für Java entschuldigung ich muss ein bisschen drauf rumhacken weil ich viele viele Jahre Java entwickelt habe,
6566: aus unserer ja war ja auch nie so populär gewesen weil es war ja nie ne super performante Geschichte wenn ich was mit dir aber mach und deswegen habe ich ja auch nicht diese ganz krassen high performance Sachen in Java implementiert,
6566: sondern ich habe meine Business-Anwendungen Java gemacht wo andere Sachen wichtiger waren,
6566: oder Beispiele Garbage Collection wichtiger war als die krasse Performance und deswegen fragen dich Simon,
6566: Mohsen in aktuell abgesehen von solchen spiele Themen die für mich privat natürlich super interessant sind wo sind aktuell spannende Use-Cases wo man nur Erdbeer sempli Technologieeinsatz.
8030: Da gibt es verschiedene Ansätze paarmal glaube ich auch schon so vorhin anklingen lassen ist erst was mir einfallen würde wäre auf jeden Fall so Plug-in Systeme.
8030: Also gerade die Wand an Vasen matched ich vorhin schon genannt habe viele z.b. st Case für verschiedene Programmiersprachen das heißt,
8030: also dann ziemlich viel zusammengesteckte aber ich kann dann,
8030: hauspatschen wanna go Applikation die ich ganz normal entwickelt ich jetzt auch nicht unbedingt als haben die Modul dann später distribuieren muss die Leute daraus meinem Server mit dann Männer tiefer verformen.
8030: Die kann ich aus starten mit einem estikay was dann Web assembly Module in diesem Code reinladen kann über interfaces.
8030: Frühlingspfanne brauchst du die Übergabe zwischen JavaScript und FSM die schon angesprochen hatten,
8030: und so kann ich mir quasi für relativ wenig Aufwand auf meiner Seite wenn ich ein Projekt habe,
8030: Dart Plugin System bauen oder Leute aus beliebigen Quellen Programmiersprachen,
8030: ihre Plugins nach meinen Vorgaben entwickeln können und so mein Produkt erweitern können und gerade wenn wir viel über Plattform reden,
8030: wo wir irgendwie eine Grundlage zugestanden wollen Basis funktioniert hätten die die User aber immer erweitern können sollen es sowas glaube ich ziemlich spannend.
8030: Weiß nicht ob du envol kannst Proxy-Server.
8030: Ssio ist das geht es Jan die Gründe des Richtung am vor allem ist letztendlich einfach so was was er nicht wie angelegt.
8030: Dass ich mein classic lauten kann im Cluster und da gibt's dann solche Filter change wo in HTP depressed durchläuft und.
8030: Da gibt es bei Android mal für die Möglichkeit dass ich solche Filter wohl,
8030: die können um arbitraire komplex werden dann kann ich machen was ich will eigentlich die kann ich in der billigen Programmiersprache schreiben ich könnte es mal schlafen durch Schreiben das Supertalent woher auch.
8030: Aber ich könnte ihm auch hingehen und sagen wie schreibt es jetzt in grau oder in Rast Computers zu Web Assembly solange ich die Interface in interface contract mit dem Android Filter erfüllen,
8030: kannst du nach einfach sagen hey wenn wo ich habe den Web Handy Modul dass ich kopiert habe das ist ein Filter,
8030: den würde ich gerne anwenden Platin doch bitte mal über deine Config gebe ich es an,
8030: und dann kann ich Ihnen meinen eigenen Filter Code anwenden und wenn daneben Nutzer sagen würdest aber gerne in den Rest schreiben z.b. oder einer anderen Programmiersprache dann kann ich das ändern reversible kompilieren und so ist eine Niederlage.
8030: Out of the box ohne dass die auf ihrer Seite sind wie wahnsinnig viel implementieren müssen Plugin System zu supporten das finde ich ziemlich spannend.
6566: Erfahren können Sie dadurch ein Plugin System supporten das vielleicht dann 20 verschiedene Programmiersprachen unterstützt.
6566: Ja das ist auf jeden Fall das hier eine sehr spannende Sache und wenn da jetzt die high-performance auch gar nicht so wichtig ist,
6566: das ist eine coole Alternative um auch viel mehr Leuten zu ermöglichen dass er da irgendwie partizipieren was beisteuern was selber entwickeln ohne jetzt in deutlich nologie lernen zu müssen dann unter uns,
6566: privat meine neuen Technologie zu lernen macht der immer Spaß mal es gibt eine neue coole Programmiersprache es gibt was neues da schauen wir mal an,
6566: das macht Spaß aber ein besseres Kontext ist es ja noch mal was anderes da geht ja nicht nur darum dass du dir das mal anschaust,
6566: bei dem großen der neben arbeitest musst du es wahrscheinlich irgendwie erlaubt werden genehmigt werden dann hat man irgendwelche policies und in den Polizist steht drin wir dürfen nur die zwei Programmiersprachen nutzen und,
6566: dann dauert es mir möglich ja auch sehr sehr lange bis du das überhaupt darfst und wenn ich jetzt einfach weiß okay,
6566: 20 Programmiersprachen unsupported und meine ist dabei dann geht's wahrscheinlich relativ einfach.
8030: Definitiv ja so könnte man sich dann schon und schon Kontakt überlegen ja.
6566: Und das ist vielleicht auch spannend um dadurch jetzt auch so im Bereich von irgendwelchen Konnektoren zu arbeiten als ich habe mein eigenes Produkt.
6566: Mit meiner eigenen Technologie und das ist dann vielleicht in C plus plus entwickelt.
6566: Und jemand anderes hat es ein Produkt das jetzt in der komplett anderen Programmiersprache entwickelt ist,
6566: aber wir möchten da irgendwie ja keine Ahnung Connector bauen oder so und wir bieten beide vielleicht dann so WebAssembly an als Schnittstelle für solche Plugins,
6566: dann kann ich natürlich mit meiner C plus plus Expertise hier was entsprechendes entwickeln und zur Verfügung stellen aber ein anderer Marktteilnehmer deshalb vielleicht was texpertise hat kann es halt auch machen.
8030: Genau das ist halt das schön dass es ohne dass ich auf meiner Seite eben diese zwanzig Implementierung unterstützen muss ich quasi alles mehr oder weniger frei Haus wenn ich sage ich biete eine der bis an die Schnittstelle an.
6566: Was manchmal auch schwierig ist also wenn du es für dich sagst du willst es die Taste bereitstellen oder so in vielen Programmiersprachen geht's ja auch nicht nur darum dass du die einmal entwickelst du weißt company du musst ja auch pflegen und das ist ja was was unglaublich viel Arbeitszeit bindet.
8030: Also auch viele utopische Blogbeiträge zu dem Thema sehen dann auch eine Zukunft wo dann alles Inhalt der bis dann die binary irgendwie veröffentlicht wird und ich nicht mehr in verschiedene die leichte Touren wir waren die oder oder am,
8030: kompilieren muss man einfach alles unauffällig hingehen wenn ich weiß jetzt ein bisschen farfetch'd bisschen Wissen weit hergeholt,
8030: aber so als TBC das vorzustellen ist schon ganz interessant dass ich nicht mehr sagen muss ich muss so und so viele,
8030: Versionen von von meinem Produkt in unterschiedlichen Architektouren bereits schon sondern alles läuft irgendwie übersetze sämtliche und andere. Weil du ja gerade gefragt hattest wo man das einsetzen könnte.
8030: Finde ich vor allem so functional sozialwiss hatten wir glaube ich vorhin auch schon mal als Schlagwort.
8030: Wenn du überlegst das Container jenachdem wie viele es drin läuft klar kann ich dir achieved einbauen wenn ich ne,
8030: Go binary unter die Container irgendwie nehme in dem sonst nicht viel drin ist kriege ich dir ja auch schon in die einstelligen Megabyte Bereiche sage ich mal wenn es gut läuft.
8030: Aber wenn du wirklich so kurze Funktion die nicht viel machen hatte Pipi Quest beantworten oder eine Mail versenden oder irgendwas in die Queue legen.
8030: Wenn du darüber nachdenkst zu sagen okay wir haben Sie denn da bist dann die Runtime die verbessern designed Boxen sind sehr sehr leichtgewichtig starten in ein bis zwei Millisekunden oder sogar noch weniger je nachdem welches Benchmark tut der anguckst.
8030: Und dann habe ich einen großen Server da packe ich eine der bis an die Wand einen drauf und dann haue ich dir einfach voll mit soundsoviel Instanziierung von Web Assembly Modulen die vielleicht auch wieder ein Kunde mitgebracht hat werden seit gerade eben schon über dieses,
8030: bring your binary dann kann ich ziemlich gute Skaleneffekte erzielen.
8030: Und wenn du dann eben sagst ja wie ein Franzose Serviceangebot z.b. Cloud wer hat diese webworkers,
8030: die will ich einfach auch nur WebAssembly ausführen aber sie als Plattformanbieter können eben dann relativ gut optimieren dieser Server auf denen das ganze läuft sehr sehr voll packen,
8030: und damit eben dann bessere Saucen Optimierung erzählen was jetzt Malblock gewundenes als Ziel hat wegen des da dann wieder so einen spannenden Kontext eben gibt.
6566: Das finde ich super interessant du sagst man braucht ein bis zwei Millisekunden vielleicht auch weniger um so eine Web Assembly function zu instanziieren,
6566: damit die wirklich funktioniert damit die ausgeführt werden kann.
8030: Genau also wie gesagt ich will mir jetzt keine genaue Studie auf die ich mich jetzt gerade im Moment rufen kann können ja gerne was nachliefern die sind halt meistens auch von dem spezifischen Runtime rausgegeben Design entsprechend optimiert haben,
8030: aber es ist schon sehr sehr schnell.
6566: Ja das ist vor allem ja viel schneller wie werde ich jetzt da ich sag mal wenn ich über Container spreche und zum klassischen docker-container anschau bis der gestartet ist es dauert definitiv mehr oder länger als 1 Familie.
6566: Da ist natürlich auch viel mehr dabei was gestartet werden muss da ist viel mehr unter der Haube wie es bei so einer einzelnen Funktion,
6566: aber vom Verhältnis ist so schon sehr sehr großer Unterschied.
6566: Und ganz so function ist es Service ich glaube so richtig bekannt und groß wurde das wahrscheinlich mit e-dubble iOS Lambda.
6566: Und für viele Sachen vor allem innere zustandslos unterwegs bist,
6566: und die Sachen schön klein Kapseln kannst es ist ja ein cooler Ansatz deine ganze Business Logik oder vielleicht ein Teil davon soll ich Funktion auszulagern und wenn die so schnell starten dann ist es natürlich für eine Skalierung der coole coole Sache.
8030: Genau also gerade Abfahrt vom Anbieter kannst du da glaube ich echt viel rausholen.
6566: Und rein technisch würde das bedeuten du hast irgendwie deinen Server und da läuft die Runtime drauf und die eine Runtime die manage dann diese ganzen Cent.
8030: Die sind alle immer quasi kundenprofi Quest mehr oder weniger instanziiert werden tun ihre Arbeit.
8030: Legen sich dann wieder schlafen oder weniger oder werden werden quasi beendet und die waren time manage daneben bis zu.
8030: Eine genaue Zahl zumindest als schwierig natürlich auch drauf an auf was für einem Server läuft diese Landheim aber können eben sicher schon mehrere zehntausend von diesem Bett assembly Instanzen gleichzeitig eine Ausführung befinden die alle ich möchte wie Quest 2 Spiel beantworten.
8030: Und alle haben ihre eigene Sandbox.
6566: Ja ich meine mir Einzelfall muss man sich drauf schauen wie viel Wasserlassen brauchen die wo hast du vielleicht eine anderes Bottleneck SEO vielleicht irgendwie ein Problem oder es ist ein Problem wenn auf der einen Maschine zwar 10000 neue Funktionen parallel ausgeführt werden können
6566: aber die Maschine keine 10000 requests sind wir handeln kann die jetzt irgendwie von deinen Kunden reinkommen aber es trotzdem super super spannend.
8030: Ein spannendes Thema was sie mir war auch noch mitgenommen hatte in in Vorbereitung auf unsere Aufnahme heute war.
8030: Dass ich jetzt nicht das Gefühl vermitteln will dass wir jetzt alle von Containern in die weggehen sollen und seine Eltern müssen das auf jeden Fall Werbesendungen voodulu schreiben oder Apple sind im Pulli kombinieren am Ende des Tages,
8030: weil du Nase vorn auch gesagt Performance ist nicht immer alles.
8030: Fotografie aber aber auch generell kommt er vielleicht gar nicht so sehr unbedingt drauf an wie viel Millisekunden ist es am Ende schade und Container.
8030: Sind schon in sehr gutes Mittel um Sachen in seine Boxen zu halten es gibt auch da würde ich sagen den meisten Projekten.
8030: Finden von Optimierungspotenzialen auf diese Container Flasche klein und leichtgewichtiger werden das unnötige Rechte aus diesem Containern zur Runtime entfernt werden wir können auch gleich gerne mehr über capabilities reden,
8030: darum spannendes Thema die bei Level ziemlich oft also das ist mega cool du musst immer ganz spezifisch angeben wenn irgendwas erlaubt sein soll wo dann aber auch andererseits ist so ist das Container das auch.
8030: Und da jetzt nicht erst in pink sein sollte aerocase machen wir alles mit Doppel stamouli es kann auch durchaus sein dass es noch genug Optimierungspotenzialen Bereich von Containern gibt.
6566: Ja wie soll ich sagen ich bin da halt immer skeptisch wenn eine Technologie um die Ecke kommt und dann alle Leute sage ich ja das ist die Zukunft verlassen jetzt alles andere liegen und werfen uns weg und wir machen nur noch das neue,
6566: gab schon oft solche Technologien wirklich durchgesetzt haben sich da jetzt nicht alle.
6566: Aber eine Frage jetzt zu dieser er tot ist im Verhältnis von diesen Runtimes die man haben kann und diesen functions beispielsweise aus dem Beispiel von dir und Containern,
6566: kann ich in meiner Landschaft das nicht kombinieren dann kann ich nicht wenn ich jetzt der große bis das Applikation habe und gewisser Teil meiner ganzen businesslogic kann beispielsweise gekapselt werden und solche Funktionen,
6566: und ein gewisser Teil kann es halt nicht weil der andere Sachen gemacht werden und aus technischen Gründen ist nicht möglich ist aber kann ich einfach sagen ok ich betreibe,
6566: auf meinem kubernetes beispielsweise Container in diesen Containern da läuft eine Runtime und auf der Runtime werden dann je nach Bedarf meine ganzen Web Assembly functions instanziiert und ausgeführt.
8030: Du kannst sogar noch anders machen du kannst telefonieren das daneben sind schon dass du schon angesprochen hast,
8030: du kannst dann ganz normalen Container workload haben halt über diese Schnittstelle dann ganz normal angesprochen werden kann und Ausländer Container Runtime läuft,
8030: es gibt aber auch schon Projekte weiter bewegen und sozialen Bereich des experimentellen würde ich sagen aber da gibt's durchaus Ansätze dass ich sagen kann.
8030: Deploy in meinem Quiz Klasse auch Knoten oder Wörtern auf die Web assembly Module einfach ausführen.
8030: Und zwar nicht so wie du es gerade geschrieben hast dass man quasi Nikotin hat indem läuft an die Wand heim und darin läuft eine Servicetermin Modul sondern meine worker haben direkt die da bist my time,
8030: und werden von Colitis direkt Imbiss Typ hat angesprochen.
8030: Und merken dann aha ich soll einen LED SMD workload ausführen und sketolene der nicht auf Container die,
8030: also der Sandstein die auf den meisten Polizisten deployments die Container ausfüllt sondern ich benutzen wer bis an die Wand haben dafür und so schalte ich gerade den Mittelsmann aus,
8030: und könnte es mir nicht an auch noch das wollte das im gleichen Cluster in unterschiedlichen über Capuns z.b. machen oder so.
6566: Sowas klingt auf jeden Fall spannend weil ich glaube wenn da draußen irgendjemand so ein kubernetes Cluster am Start hat,
6566: die man für den komplett abschalten und seine machen etwas Neues ich find's immer interessant wenn es neue Technologien gibt,
6566: wenn man die Möglichkeit hat so ganz soft mal was auszuprobieren und beispielsweise zu sagen,
6566: wir machen jetzt was neues das möchten wir auch auf dem Cluster betreiben und das wäre jetzt ein guter Kandidat beispielsweise für so einen WebAssembly Anzahl.
6566: Lass uns das mal ausprobieren dann ist ein Prozent unseres ganzen Systems was ihr vielleicht auf WebAssembly 99% passiert auf einer klassischen anwendungstechnologie Diba haben,
6566: und so eine Airsoft Migration oder so eine Kombination von verschiedenen Ansatz wenn so was möglich ist das wenn jemand super interessant.
8030: Passen auch spannend dass du z.b. relativ einfach du hast wahrscheinlich eben eine Container Registry wo du deine Images verwaltest die auf deinem Cluster laufen,
8030: dass du da einfach die bestehenden Konzepte von dem Image hast du irgendwie eine Wette die hochlädst einfach beibehalten kannst,
8030: weil es eben genau solche Implementierung dann gibt es eigentlich kann Container wird es verstehen aber ich weiß auch dass du da eigentlich einen LED SMD binary eingepackt hast.
8030: Und für das dann entsprechend wenn ich runtergeladen habe bei mir auf dem Burger dauert dann als wert ist dann die Modul aus,
8030: aber du kannst deine bitte die Infrastruktur mit einem Deichmann Docker Push und 1 und im Pool irgendwo anders,
8030: einfach weiter benutzen und am Ende doch trotzdem bleibt das Handy Modul also da gibt's dann schon coole coole Möglichkeiten bis zu nutzen.
6566: Packe das nicht cool wenn du in deiner registrieren beides ablegen kannst also deine Container und deine ganzen Module,
6566: Simon wenn du jetzt mal in deine imaginäre Kristallkugel rein schaust und dir mal so die nahe Zukunft anschaust,
6566: wo siehst du denn aktuell das größte Potenzial wo man wirklich in production solche Web Assembly Sachen einsetzt also ist es beispielsweise genau darüber dass wir gerade gesprochen haben,
6566: dass wir in bestehenden kubernetes Cluster haben und für vereinzelte Sachen nutzen Messwerte assembly Module.
8030: Ich würd schon sagen dass der Grundgedanke von wert ist Emblem Auto Payback 20.15,
8030: das irgendwelche Rechnungen sieben Sachen im Browser ausfüllen will schon derjenige ist der ist auch auf dem Server Sinn ergibt.
8030: Also wo wird es denn wie immer schlechter abschneiden wird sind so iO intensiven Sachen du musst viel auf Platte schreiben oder über Netzwerk connection viel viel abwickeln aber alles was in sich gekapselt in Rechenoperationen,
8030: darstellt die du auf Zuruf in die ausführen willst über die schnellen Instanziierung szeiten hat mir schon geredet,
8030: in all diesen Fällen glaube ich dass das wer bestimmt den cooler Ansatz sein Können zu sagen wir machen dann ganz ganz Modul Kapselriss,
8030: du findest immer dann aus wenn es gerade gebraucht wird ansonsten verbraucht Marshall auch keine Standby Ressourcen wie Container die irgendwie maschinenplatte vor sich hin Idol,
8030: Pizza leider auch immer wieder das war lieb alle Geld zum Fenster rausgeschmissen mit mining welcher workout die ganze Zeit läuft auch am Wochenende wenn du nicht gebrauchte.
6566: Sehr gutes Stichwort Geld zum Fenster rauswerfen und Idol und man braucht vielleicht die Restaurants der gerade nicht.
6566: Das ist ja oftmals das Argument weswegen man in die Cloud geht und es nicht die eigene Infrastruktur betreiben.
6566: Wenn man uns mal die großen hyperscaler anschauen also Amazon oder Google oder Microsoft,
6566: gibt's da aktuell schon Support für solche Web assembly Module dass ich die jetzt analog zu irgendwelchen Containern die vielleicht in der Cloud betreibe dann auch schon solche Module betreiben kann.
8030: Aber mir wäre es nicht bekannt das einzige was ich mal an an größeren Firmen die sowas im Angebot haben war das was ich vorhin schon angesprochen hatte das CloudFlare eben diese diese Wörter anbietet.
8030: Bin mir aber ziemlich sicher dass wir davon in Zukunft auch bei den großen Heiler skellern Produkte in die Richtung sehen werden also gerade Funk schlüsselservice gibt ja schon vielleicht werden wir gar nicht unbedingt mitbekommen dass sie sagen wir haben jetzt ein Wort für Battle family so ein mehr oder weniger.
8030: Unser Interface ist immer noch gleich aber wir machen vielleicht unter der Haube mit mit Web Assembly Stadt irgendwelche teureren Prozesse zu starten.
8030: Kann ich mir schon gut vorstellen.
6566: Ja aber war gerade bei solchen functions ist es jetzt hoch keine Ahnung ich weiß nicht was aktuell bei Amazon dass du portet wird für diese Lambda functions,
6566: hat sicherlich Python und vielleicht noch ein zwei andere Programmiersprachen aber wenn man jetzt sagen würde hey ihr könnt auch eure WebAssembly Modul einfach hochladen und uns bereitstellen und wir nutzen das anführen das aus,
6566: werde ich auch cool weil dann bin ich komplett offen was die Technologie angeht dann kann ich in jeder x-beliebigen Sprache entwickeln und dann componeers ja einfach nach WebAssembly und sag ok hier einmal WebAssembly Modul,
6566: bitte ausführen.
8030: Genau und was auch noch so ein bisschen in die in die Zukunft Richtung geht,
8030: mal besser die ganze Zeit jetzt offen hat und wie viele Sprachen eben möglich sind und dass ich ja dann immer die Sprache aussuchen kann die ich drin das gut finde oder die ich besonders gut kann oder die my newscast besonders gut unterstützt.
8030: Vielleicht auch noch ein guter. Für die Zukunft zu wer bisher mir das componentmodel das hatte ich jetzt erst vor kurzem wieder gesehen da gab es einen Blogbeitrag dazu den können wir glaube ich auch gerne verlinken dann.
8030: Hurrikan schon bisschen um GT von polyglotten programmieren dass ich also sagen kann ich benutze.
8030: Verschiedene vorgefertigte Module z.b. Zweifel aus dem Block Wandel Parser der gibt's bei jeder Programmiersprache und die HUK war so ein bisschen.
8030: Warum muss ich den ganzen Aufwand treiben jeder iPhone Programmiersprache immer den gleichen Ralf Haase zu implementieren.
8030: Oder noch viel größere Sachen frisst ja unglaublich rausholen Warum kann ich nicht einmal,
8030: sehr guten Albaner der alle Edge cases abdeckt beizufügen stellen den hat Web Assembly bereitstellen und ich kann ihn dann in meiner Runtime er in meinem Programm einfach benutzen.
8030: Und so stellt sich der Autor mehr da weniger vor dass sie bloß componentmodel was von der werbestempel Runtime auch in den Pausen unterstützt.
8030: Eben zur Laufzeit verschiedene Werte sind Module kombinieren kann.
8030: Was heißt ich nehme dann z.b. mein mein HTTP-Server der requests entgegennimmt.
8030: Dann bis dann z.b. mit Patchwork natürlich interagieren und dann gebe ich genau diesen Modul indem dieser Server läuft,
8030: auch die network capability aber der darf dann übers network Sachen machen wenn ich aber wegen der Berechnung anstelle,
8030: von Drittanbietern Modul z.b. dass ich selber geschrieben habe dann läuft es in dem anderen WebAssembly eine andere der bisschen die Instanz in der anderen Sandbox.
8030: Diese Sandbox hat diese capability nicht was heißt ich kann an Trusted workload zur Laufzeit comcomfort zusammenstellen.
8030: Und dafür sorgen dass der Code der nicht Mathe laufen Fall zugreifen müsste dann auch das nicht kann.
8030: Also kann ich unterschiedliche Preise meines Programms die vorher an Programmiersprachen einfach eine große Beine wie waren,
8030: der ist alle Rechte geben musste also übers Netzwerk zu kommunizieren in welchen files zu öffnen und zu schreiben,
8030: kann ich jetzt zur Laufzeit quasi aufsplitten in verschiedene Bereiche und die Programme dürfen immer nur das was ihr das dass ich auch können müssen um ihre Aufgabe zu erfüllen,
8030: das finde ich ein sehr spannender Ansatz der zwar noch ein bisschen in den Kinderschuhen steckt aber schon mal zeigt wie ich diese diese Komponist man verwenden könnte.
8030: Um deine Brüder halt ihr volles Potenzial ausschöpfen zu lassen finde ich es sehr sehr coole Idee.
6566: Auf jeden Fall richtig abgefahren also ist echt spannend.
6566: Simon wenn man jetzt Bock hat sich ein bisschen mehr mit Web Assembly zu beschäftigen kann man natürlich in welche Online Games spielen klar,
6566: aber wenn man sich da technisch ein bisschen mehr mit beschäftigen möchte was sind denn da die guten Anlaufstellen um einfach mal in das Thema ein bisschen tiefer reinzukommen.
8030: Ich würde mir einfach Programmiersprache x die mich persönlich jetzt interessiert sei es großteils warst weiß irgendwas anderes und zusammen mit Web Assembly einfach mal googeln,
8030: gucken für die meisten Runtimes also gibt es auch keine einzelne.
8030: Tutorials wie ich jetzt in meiner Sprache ein Hello World Programm einfach mal in der bestimmte Modul kommen verliere und ist dann mit einer Runtime einer mal ausführen.
8030: Meistens musste man sich dann auch relativ früh für eine Wand haben entscheidend sein probier's einfach mal was im Edge aus oder was in time oder Rossmann und wie sie alle heißen,
8030: M&E bin dann divide Tutorials an.
8030: Und weil er doch gesagt haben ein Verb assembliert also zwar schon weiten Weg gegangen aber es ist halt immer noch auch so ein bisschen experimentell aufgibt und halt Einschränkungen das eine Sache in einer Runtime funktioniert aber einen anderen nicht da muss man einfach ein bisschen gucken.
8030: Ausgezeichnet Möglichkeit für jede Programmiersprache mal was laufen zu lassen und sobald man dann.
8030: Zeige ich mal nicht nur Hello World macht sondern auch falsch gelesen oder bearbeiten will oder irgendwas was network machen dann merkt man mal kommen auch gleich mit diesem capability Ansatz und der Sandbox sind Kontakte merkt halt dass es mich einfach automatisch out-of-the-box fungiert und dann habe ich da immer erst,
8030: dediziert was erlauben muss und ich glaube da will man cooler Einstieg in die Web Assembly Welt.
6566: Klingt auf jeden Fall super spannend Simon vielen Dank für deine Zeit ich habe heute richtig viel mitgenommen und habt sehr viel uhr WebAssembly gelernt und ich hoffe dass ich bald mal die Möglichkeit habe mit dem Wissen bisschen anzugeben,
6566: und ich bin zurück gespannt was die Zukunft bringt weil die ganzen Möglichkeiten sind interessant und gerade die Sache mit diesen functions die finde ich super spannend,
6566: weil ich fand damals schon functions ist es her bist ziemlich cool also ich das erste Mal bei bei Amazon diese Lambda functions gesehen habe,
6566: und für mich ist das ein super nachvollziehbarer Schritt das mit der Technologie zu machen.
8030: Definitiv stoppe werden auch in den Bereich über die nächsten Monate und Jahre Sessel für Innovation sehen diese ganzen Hauses werden sich immer weiterentwickeln gibt's manchmal auch eine tensorflow Schnittstelle die jetzt in manchen Land Tanz angeboten wird,
8030: es gibt wirklich unglaublich viele Ideen was man in diesem ganzen Webseiten die Ökosysteme alles machen kann sowohl im Browser als auch außerhalb.
8030: Und ich bin mir ziemlich sicher dass wir noch einige coole Use-Cases und Praxisbeispiel in den nächsten Jahren sehen werden.
6566: Ja Simon an sobald es mal einen richtigen Praxis Use-Case bei dir gibt weil du in ihrem Projekt mit WebAssembly arbeitest und ich denke du bist wahrscheinlich der Kandidat Nummer eins mit deiner Vorerfahrung,
6566: am da müssen uns noch mal drüber unterhalten und überlassen es lernt sprechen Simon danke für deine Zeit.
Voiceover: Das war das Gespräch mit Simon ich hoffe dass es euch Spaß gemacht hat wenn Ihr Feedback habt dann erreichte mich per E-Mail unter Feedback hinundweg.de wir hören uns in zwei Wochen wieder bis dahin wünsche ich euch viel Spaß und eine gute Zeit.
00:50:27: Intro
Neuer Kommentar