Back in May, I wrote a post speculating about using Silverlight on the server to allow tenants in a multitenant SaaS application to write and run custom code on shared servers. Silverlight provides a subset of the full .NET framework and provides a security sandbox — both very useful in that kind of scenario.
At the time I thought the idea was a little hare-brained. It had occurred to me while I was brushing my teeth one morning and it seemed interesting enough. I felt a little bit less hare-brained when Scott Hanselman posted in September about his discovery of Silverlight living outside the browser in several ways, most notably the Mesh Operating Environment.
I’m pretty sure that MOE is the same thing as the Live Operating Environment that is part of the Live Framework. In effect, the LOE is a mini-CLR — just like Silverlight is. LOE lives either on a device (computer, phone, etc.) or on the Live Mesh servers. In both cases it provides a stripped down CLR with extra security. (I know this is an oversimplification, but I think it is generally correct.)
I feel even less crazy now that Rocky Lhotka has posted Some thoughts on Windows Azure and a follow up. (The marchitecture diagram on the Windows Azure site shows Live Services — which contains the LOE — as just one component that runs on top of Azure. I’m conflating the LOE and Azure, but I don’t think that affects the point.) Rocky says of Azure:
Remember that we’re talking about a restricted runtime, with a restricted architecture and API. Basically a controlled subset of .NET. We’re already seeing this work – in the form of Silverlight.
So what we need, I think, is this server equivalent to Silverlight. Azure is not that – not today – but I think it may start us down that path, and that’d be cool!
Scott and Rocky go much further than I did, and are certainly better writers. But with those two seeing the same coolness I do in the idea, I have much less reason to question my sanity.