18 comments

[ 3.6 ms ] story [ 74.7 ms ] thread
Wasm. Wasm everywhere.

It’s going to be in your cdn edge node.

It’s going to be your serverless target.

It’s going to be your database transaction.

It’s going to be your device driver.

It’s going to be your interrupt.

Maybe it’ll be your native language. WAT is clunky but can easily made productive with some syntactic sugar.

Finally it may become your hardware target. Abstract machine no more.

Lmao sounds like java 20 yrs ago. Not saying it wont get popular but just saying.
Until wasm provides a way to release memory pages, nah.
Satire?

I mean, it has it's uses ...

FWIW, Lambda has added support for Docker images, which can run anything. They’re not limited to 500 MB either. You just have to use one of Amazon’s base images that come with the Lambda runtime installed, or add it to your existing Dockerfile. This might be the way to go for running something like Wasmer.
(comment deleted)
wasmer (as a rust library) + .wasm payload was a 5.5MB .zip file uploaded to Lambda (should have mentioned that in the article). This was without size/speed optimization as the goal.
or just use golang, yes it might need 10MB or even 30MB for each static binary, but it's mature and production ready long time ago.

or, how about fastcgi, that's essentially what lambda does. by using shared libraries each fastcgi endpoint executable could be much smaller than 5.5MB, it's boring and mature, just a bit out of fashion.

Very interesting!

Note lambdas now can have urls if you want to set that up without setting up API Gateway

Looks like the other rough edges are from being understandably overwhelmed by AWS. Would love to chat with the author of this article about how we can make WASM an option in SST (https://sst.dev) so this is becomes a much easier option

Why use Wasm on lambda, when you could just compile your app natively?
> We built a social network for pets. [...] Every story update is appended in a homemade "blockchain" running in WebAssembly in the Lambda worker.

Dear God.

I assume they picked something silly so that they would focus on the actual technical goal (assessing the viability of wasm on AWS) and not getting perfectionistic or bikesheddy about the application itself.
It was completely a joke as mentioned in the article :) It's not actually a blockchain, just a very crude linear merkle tree. The point is that pets are appended into the blockchain, and if enough blocks get appended that don't mention your pet's birth hash, your pet is "dead" like tamagotchi. You can read it in the article in detail.

It was an absurd application of "blockchain" in order to have a demo app to try to run on AWS Lambda within some hours and it worked! :)

Severless.com framework has lots of plugins that allow local emulation of AWS services like S3, dynamodb, rds, etc. that your application will be using. It also helps with running debugging remote lambdas and deploying them. There's also SAM.

If you are going serverless, one of these toolkits makes it a lot easier.