WASI: a New Kind of System Interface

  Рет қаралды 18,730

InfoQ

InfoQ

Күн бұрын

QCon London International Software Development Conference returns on April 8-10, 2024. Level-up on 15 major software and leadership topics including; The Tech of FinTech, What's Next in GenAI and Large Language Models (LLMs), Performance Engineering, Architecture for the Age of AI, Innovations in Data Engineering and more.
Learn the emerging trends. Explore the use cases. Implement the best practices.
Register now: bit.ly/3rRgsJV
----------------------------------------------------------------------------------------------------------
Video with transcript included: bit.ly/3MRb4fw
Lin Clark walks through what WASI means and shares examples of opportunities that could be unlocked.
This presentation was recorded at QCon Plus May 2021: plus.qconferences.com/
#WASI #WebAssembly #WebAssemblySystemInterface

Пікірлер: 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 Жыл бұрын
thnx a ton brother !
@ozanuslan
@ozanuslan Жыл бұрын
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.
@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!
@talpasternak538
@talpasternak538 Жыл бұрын
Thanks Lin, very clear presentation!
@greentea5593
@greentea5593 Жыл бұрын
Lin, you never fail to get me excited about WebAssembly
@theroyalblackfridge
@theroyalblackfridge Жыл бұрын
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
@edgeeffect
@edgeeffect Жыл бұрын
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.
@Skatox
@Skatox Жыл бұрын
Awesome talk!
@user-kj4yi8zf2v
@user-kj4yi8zf2v Жыл бұрын
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.
@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.
@Robert-ht5kd
@Robert-ht5kd 11 ай бұрын
10:39 Very funny picture
@Robert-ht5kd
@Robert-ht5kd 11 ай бұрын
Although nice pictures but the content is rather vague and I still don't know how this WASI works. Code examples would be helpful.
@aussieexpatwatches
@aussieexpatwatches Жыл бұрын
Js evosystem is already awesome. Wasm pack. But yes, but it would be nice to have js as a guest wasm language.
@homelessrobot
@homelessrobot 6 ай бұрын
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.
@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.
@hobbit125
@hobbit125 9 ай бұрын
Very cool video, but the "compute/metacompute" terminology is pretty silly, inaccurate and pseudo-academic.
@davidkopp344
@davidkopp344 2 жыл бұрын
Congratulations, you've reinvented Java
@eventually-consistent
@eventually-consistent Жыл бұрын
Didn’t knew Java could be written using Rust, Go, C, C++, Assembly script. Boomer
@martinfrances107
@martinfrances107 Жыл бұрын
Well I was thinking she did not mention unix pipes once ( StdIn, StdOut, StdErr) so back the the 1970s
@micahthomas6331
@micahthomas6331 Жыл бұрын
java runtime has garbage collection & other abstractions. WebAssembly is a lower level runtime that is much closer to native assembly instructions.
@odarpi1
@odarpi1 Жыл бұрын
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 Жыл бұрын
@@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.
@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 Жыл бұрын
@@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.
Let's Talk About WebAssembly and WASI
2:09:33
Tsoding Daily
Рет қаралды 26 М.
The Why of Go
48:47
InfoQ
Рет қаралды 173 М.
Что будет с кроссовком?
00:35
Аришнев
Рет қаралды 1,9 МЛН
INO IS A KIND ALIEN😂
00:45
INO
Рет қаралды 13 МЛН
A WebAssembly Deep Dive 🔎 - How Wasm works under the hood
57:18
The World of WASI by Dan Gohman @ Wasm I/O 2023
44:24
WASM I/O
Рет қаралды 6 М.
Scaling Push Messaging for Millions of Devices @Netflix
49:10
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)
43:04
Strange Loop Conference
Рет қаралды 430 М.
Kafka: A Modern Distributed System
52:25
InfoQ
Рет қаралды 39 М.
How Netflix Scales Its API with GraphQL Federation
38:50
Rust: A Language for the Next 40 Years - Carol Nichols
55:08
ChariotSolutions
Рет қаралды 356 М.
The WASI OS - Isolation with Communication, Wasm style - Dan Gohman, Fastly
28:29
Компьютерная мышь за 50 рублей
0:28
dizzi
Рет қаралды 1,7 МЛН
🤯Самая КРУТАЯ Функция #shorts
0:58
YOLODROID
Рет қаралды 2 МЛН
Распаковка айфона в воде😱 #shorts
0:25
Mevaza
Рет қаралды 1,1 МЛН