WebAssembly and the Future of WASM

Show video

All right well this is devops Dispatch live at cpon North America Chicago 2023 I think I got all   of that in there at once my name is Laura Santa Maria and I am a lead developer Advocate at Dell   and I have a very special guest with me would you like to introduce yourself yeah I'm Matt butcher   I'm the CEO of firon Technologies where we're building kind of the next wave of cloud computing   I've been around in that cloud native ecosystem  for so long it's be oh I every I mean the the vibe   here at Kong this year is just so good this year is it really so much fun excellent well good I   mean I've been hearing a lot of this is more Cloud native con than cubec con this year like there's   so much true yeah I agree I I had thought about it  that way but that's that's it right there's just   so many things now and yeah it's pretty cool to  watch isn't it yeah yeah yeah I I mean I remember   the first cuon when it was like when we could  all see each other across the same room and he   pretty much knew most of the people and to just  look at this and go wow wow I mean there's just   definitely so many people you don't know I mean I  can no longer throw a plushy at people uh which I   guess is probably a good thing maybe I shouldn't  be doing that that much yeah you had to switch to   hockey pucks this year oh no I was thinking paper  airplanes might actually okay that that does sound   gentler yeah a little gentler little gentler but I  heard that there was a wonderful wasm day earlier   so you're very heavily into web assembly over  firon in general but also you specifically so   just because I know there's a lot of people who  listen to this podcast that might not know what   web assembly is can you give the like 92 what  is this thing oh yeah yeah 90 seconds sure no   problem no no I'm just kid I'm giv you minutes 20  minutes it's fine I mean the the thing about it is   that at the at its core web assembly is a binary  format right which is a kind of a boring way to   talk about it but you know when we talk about  Cloud Technologies in general right we we talk   about virtual machines we talk about containers  uh web assembly kind of falls in the same category   except it's really scoped to the application so if  a virtual machine encapsulates an entire operating   system and a container you know encapsulates  your application and its file system and you   know there's kind of this piie sliced shape of  the operating system web assembly is really just   that binary that you're going to execute and  just the supporting files that it needs and   you package them up into this binary format and  it's wonderful because it's platform neutral it   can run on you know Intel it can run on arm can  run on Windows can run on Linux you know you can   run it in like R TOS systems and Mac OS and just  about anything in there you can kind of get it   running now I heard that it's also a little bit of  all of the various things with you can run it on   the server you can run it on the client side you  can run it I guess on your phone maybe oh yeah   yeah you can just run it all over the place which  is kind of fun yeah I we've experimented all the   way down to these little tiny devices I mean if  you you know if you if youve streaming you know   Disney Plus or or Amazon Prime or something like  that those are all built in web assembly because   they're so platform neutral oh yeah yeah because  essentially you know think about uh say you know   Amazon Prime right yeah uh how many SKS how  many different devices do you suppose Amazon   Prime is on right a lot yeah there probably in  the thousands or something like that and and you   don't want developers having to rewrite that for  every single platform so what they what they kind   of discovered was well you know we can write a  thing shim for each particular piece of hardware   and then we can have that have a web assembly  runtime and then build one player that can run   in all these different device profiles BBC does  it too and they wrote a great blog post series   about how they did it how they built the BBC app  with oh my goodness I'm GNA have to look this up   because I did not get a chance to read that yet  interesting so at fir on I know you all are doing   a lot of Open Source around uh web assembly in  general and you've kind of been on the Forefront   that leading wave of web assembly what what  projects are there out there that you all are   working on or even interacting with oh yeah so I  mean I'll start with firer on and work my way back   EXA our our big uh and we're all you know deeply  Ste in the open source tradition you know deeply   steeped in the cloud ecosystem yeah and so spin is  our open source platform you know it's basically   a developer tool that you can go from blinking  cursor to your first deployed application about   2 minutes or less and it's all open- source and  uh you know designed around a good developer   experience right but it is not it actually uses  another major open source project called wasm   time okay and wasm time is a web assembly runtime  this is the thing that's going to run that binary   format for you the same way that you know like  Java has a jvm or net has a CLR web assembly   follows that same kind of pattern and wasm time  is built by an organization called The Bite code   Alliance the B Cod Alliance bite code Alliance  is uh sort of like if you're familiar with oci   and the whole you know the oci containers and  container images and things like that they kind of   maintain a number of low-level technologies that  are necessary for the container ecosystem bite   code Alliance is that for web assembly oh okay  that makes more sense and they do a lot to kind of   push forward specifications and the specifications  for web assembly they go through the w3z so the   same group that's doing CSS and HTML those are  the ones who are standardizing this but of course   you want Engineers who are building reference  implementations and people who are actively   developing those standards and moving them forward  in conjunction with it that's bite code Alliance   gotcha okay that makes a little more sense yeah  yeah and then so they build WM time which is   this runtime they have like like oci they have a  whole bunch bunch of other projects that are all   sort of supporting the web assembly ecosystem  in general uh and and that's really kind of a   probably the the most important one from our point  of view F code line is probably the most important   organization but the interesting thing about web  assembly too is that a lot of the code is being   developed on the browser side by the browser  vendors so of course the Chrome team and the   Safari team and all of those teams are involved as  well but sort of on the other side of the network   connection from us huh oh that's pretty cool  so you really have quite a bit of an ecosystem I remember the last time that I had you on a  podast somewhere I foret it was a while ago   uh this was not as mature as it is now so like has  it just exploded or is it just me no 2023 has been   the year has been the year for at the beginning of  it it was like okay there's a lot of things that   have to move uh for this ecosystem to really hit  that Tipping Point and now here we're in November   and and looking back and going wow a lot of  things have moved oh so I mean if you the the most   audacious thing that the web assembly developers  set out to do is to say we can build one binary   format that all these different languages can  compile to and the reason why that's audacious   isn't because there's something highly technical  about that I mean there certainly is a lot of   but it's because you have to move you have to  encourage every single one of these language ecos   systems to move right and and this is everybody  from like C the C language community Through the   python and Ruby and PE and PHP and Java andet  and all of that it's a lot of people yeah it's   a little on the audacious side but the fact  is it's happening like all these languages are   adding support and that I think is when I've been  tracking this like religiously tracking because   it was like if if they don't move right then then  we cannot build with web assembly what we want to   build so I took the red monk language rankings you  know took the top 20 of those and said okay you   know we got to hit 10 of these before we can do  anything and I think it's at 27 of them have begun   or already have a web assembly implementation at  this point w so out of out of 30 did you say oh   I guess I said the top 20 we actually trapped  the top 30 yeah top 30 top 30 so you only have   three holdouts uh yeah do you want name no I'm  just kidding oh yeah oh yeah I will uh cascading   stylesheets is tracked as a language is not really  I mean I feel like I should disqualify that one   but I didn't write the language ranking so I just  have to be honest yeah okay objective c Objective   C and and everybody keeps telling me Oh we think  we know that it does do it but nobody has evered   to try it you know Swift has done it right and  and basically everybody who used to do Objective   C seems to now be doing Swift yeah so it's kind of  like yeah I'm sure I'm sure somebody yeah I'm sure   it works over there but you know let's let's focus  on the language that really matters it's Swift and   Swift web assembly implementation is cool is it  really yeah yeah I I I like you know I kind of   like just looking at language ecosystems it's like  human language right we all try and articulate uh   a system with these different languages and Swift  is like one of those languages where I'm like yeah   yeah I see the world this way I I look at you know  Fortran I don't see the world that way um you know   rust rust takes a lot of work to see the world  the way that rust sees the world but you know but   eventually you kind of find that philosophy of it  yeah you do yeah yeah makes sense so what's what's   the third language that's missing from oh there  there is not as far as I know A bash equivalent   A bash wow okay I mean I guess it's kind of low  level but not really but it' be really cool to   have it still yeah once again red monk says it's  a language so you know I try to track it I mean   I guess there's also kind of the question about  security with web assembly is that going pretty   well too like people are really figuring that out  cuz I know that was another question about how do   we get to maturity from a security standpoint  as well as everything else so yeah security is   such a is such a Hydra of a beast right it's got  all these different heads that kind rear up in   different ways and you're like that's scary I'm  going to beat this one down oh there's another   one over here ex you know at the core web assembly  was built to be secure when it's executing because   it's a browser technology right and and anybody  who says they don't run un trusted code is like   wait have you looked at the JavaScript that's  running in your browser and web assembly has to   have really a stronger security sandbox model  than even JavaScript did and that's one of the   things that attracted us to it but whenever you  start uh you know interfacing whenever you build   a system interface where web assembly can talk to  a network socket or a file system or things like   that you're opening up a tax surface there yeah  uh and so a lot of the specifications that have   been developing over this year like the Wy the web  assembly system interface is designed to do that   right tradeoff between securely granting the the  the untrusted code access to what it thinks are   the files on the file system while allowing the  outside environment to go yeah this isn't really a   file system uh you know or or yeah sure we'll give  them access to the file system here but basically   separating those security layers so that you can  write code the way you always have written code   but outside of the sandbox the operations team has  the ability to say okay well this is how this is   actually gonna work I like that I like that yeah  I think it's a really elegant way of doing things   yeah it keeps it nice and clean but still gives  you the flexibility if your organization is doing   something trusted versus the untrusted stuff that  you randomly find on the internet that everyone   seems to run into right interesting I didn't know  all this was happening in the web assembly world   I haven't kept up with it fast enough I mean I  can barely keep up with it it is literally my job   I know I know so in general with the community  are you finding a lot of contributors are kind   of jumping on board or is it more um because  we've been talking to a lot of different groups   specifically from like the kuber Net's world or  even some of the other cncf projects and they're   saying they're having trouble finding contributors  they're having trouble getting people to get time   to contribute are you seeing the same thing with  like this growing ecosystem versus like kubernetes   which has been around for a while yeah yeah I have  a I have a philosophy on this one because we are   we are definitely seeing quite a bit I mean I  I was actually kind of shocked to notice that   we had according to the GitHub stats dashboard we  were looking at we passed the 600 contributor Mark   and I don't think those are all source code cont  but it's you know people who have opened issues   people who have waited on things and that's that's  really good right that's a strong Community for a   this is for spin a project that's been around  about a year year and a half yeah I remember   when you launched it right and and but you know  I was so I was in the helm EOS system I at home   and and it was you struggle a little bit to build  up the uh contributor base and then you hit that   threshold where it's the new cool thing and you do  you just get a lot of contributors coming into it   so I saw the same pattern then but then of course  over time Helm's contributor base has gone down or   down proportionally to the to the size of the code  base the same thing has happened with kubernetes   the proportion of the size of the code base and  the number of contributors has shifted again you   know and I I really think that part of that is  that that you know early on you get the people   who are really excited about the technology we  work on it all the time right we make it about   two years three years five years in and then it's  like okay now I need a break I I I can't code on   Helm anymore right and then then you have to find  sort of like the the next the next team right   that's going to take it over and because we were  so deeply steeped in the ecosystem when it started   we grew up with it right we saw all the we know  all the the blemishes and things here and there   because we were around when when we discovered  him and some of us were responsible for creating   some of them CLE yeah maybe some of us made some  bad decisions that you all live with um but when   you bring in a a kind of new team um there's a  it has a steep learning curve right um you know   often times these Technologies sort of lost the  luster of newness and are just the normal and I   think it's a lot harder to build up a really good  and maintain a really good long-term contribution   strategy right and I really admire the fact that  cncf really kind of took this head on with the tag   contributors and things like that I think it's tag  yeah you're right tag contributor strategy and I I   just think that's phenomenal because I think a lot  of Open Source communities sort of languish after   so many years and then a project that's really  good and really useful can sort of slowly die by   attrition you know and I so much admire you know  still being involved in Helm but not writing code   the efforts to kind of bring in new developers who  are passionate about it and and have that moment   to sort of start exchange information I was over  at the helm Booth uh chatting with some of the new   ones and that that's good right that's healthy  and so in web assembly you know we're still in   the new Shiny Days absolutely and and so we're  growing very fast and I think we'll probably be   at around double or so the contributors by this  time next year that's still amazing and then you   know then it gets into that or you got to be  committed for the Long Haul yeah can you push   through it can you get everybody involved that  makes a lot of sense that makes a lot of sense   because I know with the um with the tag which is  the technical Advisory Group uh through the cntf   for contributor strategy it's been interesting  watching how because we have all these open source   projects and they have different governance models  things like that centralizing some of that I need   help with how do I get more contributors I need  help with marketing I need help with X or Y or   Z it's been really cool to watch that because  suddenly all of these even tiny projects get   access to the same amount of resources that  everybody else does so we feed each other on and I'm actually happy that web assembly is of it  it's going to be really cool to watch I'm a little   I'm a little afraid to see what y'all are doing  by Paris uh which is in March because it's kind   of a oh no what else do I have to keep up with  now I imagine it's quite a bit for you though   keeping up with all the different things just  but it's it's such a wonderful I mean and and for   me you know the whole Cloud native ecosystem you  know the story behind the cloud native ecosystem   has very much been sort of I think there are  two different ways to look at the story one is   through the lens of finally building distributed  computing the way it should be built right and and   it's about you know we went from monolithic you  know onetoone relationship between your hardware   and your operating system to this point where  then you can run many operating systems on one   piece of Hardware then microservice pattern and  then containers and and web assembly is in that   in that vein right it's just a continuation of  this technology story that we're really excited   about but I also think there's sort of like on  a different axis right this story about what the   relationship between developers and operations  teams has been and how you know we've lived this   right the contentious whose fault is it that  production is broken right now kind of thing I   didn't make that bug I swear yeah yeah exactly no  I I swear I told you I needed that version of the   library you know or shipped you over something  last week that's actually still in my inbox or   yeah um and and you know we went from sshing into  boxes at 2 in the morning trying to fix a bug to   now having this sort of um uh I I I would hesitate  to call it elegant but definitely a robust system   yeah Reliant yeah Rel reliable reliable there's  the word I'm looking for it is near the end of C   just losing it you're G to hear all the but yeah  but I think that's another that's another part   of this story right the other axis is we're  gradually figuring out how we as humans will   be able to collaborate better in our respective  roles when the role of the developer is to build   the code and the role of the you know operations  team platform engineer Sr is to run the code you   know and and run it very efficiently yeah and so I  I like the fact that web assembly is playing into   both of those stories yeah and consequently you  know as a community we we continue to grow right   it's not necessarily a hard reset where it's like  okay y all did this thing now stop and we're going   to shift over and do something new it's just a  continuation of the existing stories yeah it's I   admit it's kind of surreal I I don't know if it's  just me but like watching the difference from like   even going back to like open stack and then coming  through kubernetes and all the microservice stuff   and now we're here at web assembly and somewhere  in there was there was servus somewhere in there   yeah somewhere in there somewhere just seeing that  evolution is surreal to watch I mean you read in   history books about these times in history where  it was like oh you know when in these 40 years   democracy was created and you know the and then  the you know lock did this so did this and then   you're like yeah nothing else we'll never live  through that again and then it's like oh particle   physics has this big Revolution and I I think it's  hard for us to realize because we're in it that   we're in the middle of one of those you know we  this is a historical Epoch of time when we went   from no computers to now being able to solve these  highly Advanced problems and you know it's a great   time to be alive yeah and I mean you can pull out  your phone and ask it questions and it answers   it kind of maybe if we're lucky you know LM too  and sometimes yeah that's a whole another whole   another question that we could get down into but  uh we are getting close to time so I want to give   you a chance to like plug anything you want like  you can tell people about open source projects   that you have you can tell people about how to  get involved whatever you want to talk about this   is your time oh all right I mean I I'll tell you  our true startup moment's a big deal you take it   very seriously so we had our release road map all  lined up to spin 2.0 in time foron you know big   release for us uh and it was supposed to release  Wednesday and then of course you said supposed   to yeah that's right because you know what happens  it's like on the very last pass through the manual   testing somebody's like this doesn't look right  and then it's like oh yeah yeah and then it then   it begins to like excavation routine where you're  like oh how how close to the colel am I going   to get before I find what's causing this problem  so we ended up not getting our release out until   Friday night at 5:30 p.m. so it's like this is  true true startup life right where it's like okay   what could go wrong releasing at the last hour of  the last day before we all get on a plane and fly   to Chicago and it go it went phenomenally well we  ended up actually trending on Hacker News over the   weekend which was really exciting you know every  little thing is exciting for a startup and we're   like oh look we're on the front page two days in  a row um and then so you know here at Kon we've   been showing people the newest stuff out of the  assembly ecosystem the component model the ability   to build polyglot applications all this kind of  fun stuff that's coming out so spin 2.0 you know   if I could wish you to try anything you know I'd  wish you to try spin 2.0 give it a try and uh and  

let us know what you what you think about and  get involved in the community absolutely yeah   we have a great Discord channel to help people  okay Discord is where you all are yes fir on.com   Discord we'll get you into Discord and then you  know developer. on.com will get you straight to   the developer docs you can go through the Quick  Start guide have things up and running and build   your first application in 2 minutes or less hey  get involved in the wasum wave right that's right   that's right we'll leave it on that all right  well thank you so much for coming this is devops   Dispatch live at cucon North America Chicago 2023  I have the right Year my name is Laura yep I'm   Matt Butcher and now we say bye thanks for coming  oh thanks for having me this was fun all right

2024-02-25

Show video