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.
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.
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
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.
18 comments
[ 3.6 ms ] story [ 74.7 ms ] threadIt’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.
I mean, it has it's uses ...
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.
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
Dear God.
https://docs.google.com/presentation/d/1l4VDbhTeiv1bnUtof3Op...
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! :)
If you are going serverless, one of these toolkits makes it a lot easier.