WASI: a New Kind of System Interface

  Рет қаралды 19,054

InfoQ

InfoQ

Күн бұрын

Пікірлер: 51
@YurijVolkov
@YurijVolkov 2 жыл бұрын
Maybe it will be helpful for someone: 00:00 - Intro 00:45 - Why invent WebAssembly 02:30 - Work on WASI 03:25 - File system situation 10:05 - Will developers use it? 11:44 - Portability and compatibility 15:19 - Example opportunity for cloud native 21:10 - Outro 21:33 - Q&A 21:52 - Where WASI is at the moment? 23:57 - Do you consider WASI as a "0.x" product? 25:28 - What excites you most about WebAssembly? 27:20 - What is the current state of IO in WASI? 30:32 - How do we actually get there: integrating WebAssembly 34:01 - Experience and lessons from Java? 36:28 - Thanks
@bjugdbjk
@bjugdbjk 2 жыл бұрын
thnx a ton brother !
@victorolvera6482
@victorolvera6482 Жыл бұрын
I say you have a lot on your plate - hehe - I been thinking of similar things for a while and I still haven't been able to wrap my head around it. sooo I am taking the same approach the GTK guys took. They made GIMP first and from there GTK was born. The approach is to find the kind of apps that would thrive in the programming environment I am trying to design. Work on those apps, take what I learn from them to design my stuff. You have a lot on your plate because replacing sockets means to create a worldwide event driven messaging standard. A software data bus of sorts that is easy and intuitive to work with.
@ozanuslan
@ozanuslan 2 жыл бұрын
Wow! There has been so much development happening in the WASM/WASI space. From the talk that is in 2016 to this one in 2022, you can see the sound architectural decisions that are being made. Truly excited to see a small, efficient, and secure compilation target+interface being developed for today's container-centric development environment. Thanks to Liz for explaining these concepts with the right level of abstraction and cleanliness.
@hobbit125
@hobbit125 Жыл бұрын
Very cool video, but the "compute/metacompute" terminology is pretty silly, inaccurate and pseudo-academic.
@edgeeffect
@edgeeffect 2 жыл бұрын
I love your legacy WASM app icon. It would have been nice if these was some Operating System in the past that had more than just StdIn, StdOut and StdErr and could have given us streams to an arbitrary number of files.
@theroyalblackfridge
@theroyalblackfridge 2 жыл бұрын
A fancy way of re-packaging the adapter pattern and piping, like the effort from a philosophical standpoint though.. The development paradigm shift will be interesting as well
@greentea5593
@greentea5593 2 жыл бұрын
Lin, you never fail to get me excited about WebAssembly
@talpasternak538
@talpasternak538 2 жыл бұрын
Thanks Lin, very clear presentation!
@homelessrobot
@homelessrobot 11 ай бұрын
Kind of a deep freudian slip to say 'debunker' instead of 'debugger'. I am guessing she hasn't done much programming, but has done quite a lot of technical writing.
@capability-snob
@capability-snob Жыл бұрын
Without access to the entire filesystem, entire classes of security vulnerabilities just disappear. It's great to see a usable capability system now gaining traction!
@ኬንቶ
@ኬንቶ Жыл бұрын
I'm planning to generalize a programming language with wasm. Programming languages are actually very coupled with many logics though programming languages are just text formats.
@Skatox
@Skatox 2 жыл бұрын
Awesome talk!
@Robert-ht5kd
@Robert-ht5kd Жыл бұрын
10:39 Very funny picture
@Robert-ht5kd
@Robert-ht5kd Жыл бұрын
Although nice pictures but the content is rather vague and I still don't know how this WASI works. Code examples would be helpful.
@pchasco
@pchasco Жыл бұрын
I don’t understand the use case here. This is for people who want to write apps to run outside the browser, using native languages, but in isolation from other processes and resources. But instead of using containers, which can run essentially any binary that can be built for Linux, they want to modify the software so that it can compile to WASM and run in a WASI environment, but less efficiently than the native binary containerized. Huh? WASM was created so that we could execute code at near-native speed in a browser. If you remove the browser from this equation, then there is no reason to use WASM. Just compile for your target architecture. This is not hard.
@darkwarlock123
@darkwarlock123 Жыл бұрын
There are many architectures to compile for: at least arm64 and amd64 these days, soon risc-v. wasm lets you compile to one target. The capability-based permissions model is powerful I think, and can be applied at the module level so dependencies can be sandboxed cheaply and thoroughly. This is not possible cheaply today with containers.
@darkwarlock123
@darkwarlock123 Жыл бұрын
Using containers also leaves open the large attack surface of the Linux kernel, which was not designed with this use in mind. WASI is built from the ground up for simplicity and security.
@JaceMorley
@JaceMorley Жыл бұрын
There's a lot of attacks that can be done from within a container that let you escape the container and affect the hosting environment. Which means if the application running on the container is at all vulnerable to remote code executive attacks your hosting environment is as risk. Using a sandboxed environment like WASM can help shut down this category of attack entirely. Prevention by design is the best protection. Additionally if you need to run uncontrolled/user-written code a sandboxed runtime is basically essential for security. Browsers are a common example of this but there are other use-cases.
@Rajibahmed
@Rajibahmed 2 жыл бұрын
Watched 3 presentations by Lin , never understood anyone of it properly. Not is the pace or content or subject she presents. Not trying to be disrespectful or anything, getting confused is it me who don’t understand stuff or stuff explained is hard to follow.
@nmarcel
@nmarcel 2 жыл бұрын
That happen with niche presentations, in this case Systems Programming (make a poll asking developers about what "Posix" is, I guess the vast majority don't know). The same happens when a guy explains monads using Haskell or other non-mainstream language.
@rpocztarski
@rpocztarski 2 жыл бұрын
I have watched this one and much more presentations by Lin Clark and I think that she can present very difficult subjects in a very understandable way, but let's keep in mind that those are still very difficult subjects. I think that to fully understand the subject of WASI, you need to have some knowledge about systems programming, have some experience with lower level languages like C, understand how you interact with the OS, know about POSIX, the Web standards and WebAssembly itself, but also understand the capability-based security model, which is quite a big and difficult subject. In my own talks about WASI I have always highly recommended talks by Lin Clark, but you need to have some basic understanding about the subjects I mentioned to understand the concept of WASI. I hope that what I wrote will help you get some background and maybe later the talks about WebAssembly and WASI will be easier to grasp. Good luck!
@Rajibahmed
@Rajibahmed 2 жыл бұрын
@@rpocztarski I do have some understanding of the areas that you pointed out. Maybe its just not enough.
@ratgr
@ratgr 2 жыл бұрын
@@Rajibahmed I agree with you, even wrote my own mini-wasi implementation some time ago along with a basic wasm interpreter for fun, I think she doesn't have a target, she tries to explain as if we were beginners, glossing over so much, and at the same time expects a lot of knowledge. It feels like a managerial presentation, one where you have to explain to your bosses and get them dissy about what you are doing.
@aussieexpatwatches
@aussieexpatwatches 2 жыл бұрын
Js evosystem is already awesome. Wasm pack. But yes, but it would be nice to have js as a guest wasm language.
@davidkopp344
@davidkopp344 2 жыл бұрын
Congratulations, you've reinvented Java
@eventually-consistent
@eventually-consistent 2 жыл бұрын
Didn’t knew Java could be written using Rust, Go, C, C++, Assembly script. Boomer
@martinfrances107
@martinfrances107 2 жыл бұрын
Well I was thinking she did not mention unix pipes once ( StdIn, StdOut, StdErr) so back the the 1970s
@micahthomas6331
@micahthomas6331 2 жыл бұрын
java runtime has garbage collection & other abstractions. WebAssembly is a lower level runtime that is much closer to native assembly instructions.
@odarpi1
@odarpi1 2 жыл бұрын
2025: New, exciting extension for WASM: automatic garbage collection. Finally, we can write code without thinking about all that low level boomer stuff like allocating memory manually. But Java is so 1990s...
@davidkopp344
@davidkopp344 2 жыл бұрын
@@eventually-consistent Hey, thanks for comparing me to a Ballistic Missile Submarine! Like a Boomer, I also am a powerful strategic asset that fills the enemies of our nation with fear.
Opportunities and Pitfalls of Event-driven Utopia
50:37
InfoQ
Рет қаралды 42 М.
Kafka: A Modern Distributed System
52:25
InfoQ
Рет қаралды 39 М.
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 73 МЛН
Man Mocks Wife's Exercise Routine, Faces Embarrassment at Work #shorts
00:32
Fabiosa Best Lifehacks
Рет қаралды 6 МЛН
Крутой фокус + секрет! #shorts
00:10
Роман Magic
Рет қаралды 22 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 10 МЛН
Bringing WebAssembly outside the web with WASI by Lin Clark
31:35
Keynote: WASI - A new kind of system interface & what it means for cloud native - Lin Clark, Fastly
20:52
CNCF [Cloud Native Computing Foundation]
Рет қаралды 3,8 М.
WASI is the new kid on the block.
16:43
Fanie Reynders
Рет қаралды 56 М.
Is It Time to Rewrite the Operating System in Rust?
1:09:18
InfoQ
Рет қаралды 302 М.
The World of WASI by Dan Gohman @ Wasm I/O 2023
44:24
WASM I/O
Рет қаралды 7 М.
WebAssembly and Containers
25:04
Docker
Рет қаралды 26 М.
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 73 МЛН