Tomasz Janczuk, a developer who wrote about Node.js on Windows and Azure, webtasks, serverless platforms, and Kafka versus ZeroMQ.
HN commenters link his Edge.js and iisnode work for running Node with .NET and IIS, and one questions the motivation behind his webtasks idea.
I read this blog post, as well as "Rethinking backend with webtasks" [1], and I'm still not 100% I understand the motivation behind this - I'm not a frontend developer so I probably don't have the right perspective to understand. Here's what I can gather:
The service that this fellow works on, Auth0, wanted to offer very flexible ("write your own plugin code") customization to their users, beyond what webhooks can offer, and didn't want to require their users to host that code themselves. So he/they built a flexible, scalable execution runtime (the webtask runtime) that can sandbox and execute the arbitrary code provided by their users. Basically, Auth0 is hosting its own Lambda as a service for its users, specifically for running code in response to events/requests that occur within Auth0.
Is that right?
If I work on a simple application, not a service that needs to offer this kind of extensibility to its users, does this concept have any benefit to me?
[1] https://tomasz.janczuk.org/2015/04/rethinking-backend-with-webtasks.html
Typescript is closely integrated with Node.js at this point.
So there's this related open source project seeking to optimize the performance of Node.js apps running on IIS and hosting them on Azure. https://github.com/tjanczuk/iisnode/wiki We've seen some interesting performance gains by supplanting Node.js's HTTP implementation with the in-kernel HTTP stack, http.sys. http://tomasz.janczuk.org/2012/08/the-httpsys-stack-for-nodejs-apps-on.html
Disclosure: I work for Microsoft. I personally found this interesting.
I'd recommend using Edge.js for that:
http://tomasz.janczuk.org/2013/06/access-sql-azure-from-nodejs-app.html
http://tjanczuk.github.io/edge/
http://tech.pro/tutorial/1852/how-to-leverage-sql-server-with-nodejs-using-edgejs