<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>John Bennett&#039;s blog &#187; saas</title>
	<atom:link href="http://jtbennett.com/blog/tag/saas/feed" rel="self" type="application/rss+xml" />
	<link>http://jtbennett.com/blog</link>
	<description>Software and web development</description>
	<lastBuildDate>Tue, 08 Feb 2011 00:50:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>Follow up on Silverlight and SaaS</title>
		<link>http://jtbennett.com/blog/2008/12/follow-up-on-silverlight-and-saas</link>
		<comments>http://jtbennett.com/blog/2008/12/follow-up-on-silverlight-and-saas#comments</comments>
		<pubDate>Sun, 14 Dec 2008 17:42:00 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://173.203.71.169/blog/2008/12/follow-up-on-silverlight-and-saas/</guid>
		<description><![CDATA[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.&#160; Silverlight provides a subset of the full .NET framework &#8230; <a href="http://jtbennett.com/blog/2008/12/follow-up-on-silverlight-and-saas">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back in May, I wrote a post speculating about <a href="http://jtbennett.com/blog/could-silverlight-be-used-as-a-server-side-sandbox-for-saas/">using Silverlight on the server</a> to allow tenants in a multitenant SaaS application to write and run custom code on shared servers.&nbsp; Silverlight provides a subset of the full .NET framework and provides a security sandbox &#8212; both very useful in that kind of scenario.</p>
<p>At the time I thought the idea was a little hare-brained.&nbsp; It had occurred to me while I was brushing my teeth one morning and it seemed interesting enough.&nbsp; I felt a little bit less hare-brained when <a href="http://www.hanselman.com/blog/">Scott Hanselman</a> posted in September about his discovery of <a href="http://www.hanselman.com/blog/WindowsLiveMeshSilverlightAndTheCoreCLR.aspx">Silverlight living outside the browser</a> in several ways, most notably the Mesh Operating Environment.</p>
<p>I&#8217;m pretty sure that MOE is the same thing as the Live Operating Environment that is part of the <a href="http://dev.live.com/liveframework/">Live Framework</a>.&nbsp; In effect, the LOE is a mini-CLR &#8212; just like Silverlight is.&nbsp; LOE lives either on a device (computer, phone, etc.) or on the Live Mesh servers.&nbsp; In both cases it provides a stripped down CLR with extra security.&nbsp; (I know this is an oversimplification, but I think it is generally correct.)</p>
<p>I feel even less crazy now that <a href="http://www.lhotka.net/weblog/default.aspx">Rocky Lhotka</a> has posted <a href="http://www.lhotka.net/weblog/SomeThoughtsOnWindowsAzure.aspx">Some thoughts on Windows Azure</a> and a <a href="http://www.lhotka.net/weblog/WindowsAzureAndTheValueOfRestrictedPlatformsarchitectures.aspx">follow up</a>.&nbsp; (The <a href="http://en.wikipedia.org/wiki/Marchitecture">marchitecture</a> diagram on the <a href="http://www.microsoft.com/azure/whatisazure.mspx">Windows Azure site</a> shows Live Services &#8212; which contains the LOE &#8212; as just one component that runs on top of Azure.&nbsp; I&#8217;m conflating the LOE and Azure, but I don&#8217;t think that affects the point.)&nbsp; Rocky says of Azure:</p>
<blockquote><p>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.</p>
</blockquote>
<p>And later:</p>
<blockquote><p>So what we need, I think, is this server equivalent to Silverlight. Azure is not that &#8211; not today &#8211; but I think it may start us down that path, and that&#8217;d be cool!</p>
</blockquote>
<p>Scott and Rocky go much further than I did, and are certainly better writers.&nbsp; But with those two seeing the same coolness I do in the idea, I have much less reason to question my sanity.</p>
]]></content:encoded>
			<wfw:commentRss>http://jtbennett.com/blog/2008/12/follow-up-on-silverlight-and-saas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Could Silverlight be used as a server-side sandbox for SaaS?</title>
		<link>http://jtbennett.com/blog/2008/05/could-silverlight-be-used-as-a-server-side-sandbox-for-saas</link>
		<comments>http://jtbennett.com/blog/2008/05/could-silverlight-be-used-as-a-server-side-sandbox-for-saas#comments</comments>
		<pubDate>Thu, 29 May 2008 21:32:00 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://173.203.71.169/blog/2010/05/could-silverlight-be-used-as-a-server-side-sandbox-for-saas/</guid>
		<description><![CDATA[For the past couple of years, software-as-a-service has been in the tech headlines.  Salesforce.com and Microsoft Dynamics CRM Live provide customer relationship management (CRM) functionality. Google Apps, Zoho, NetSuite and many others offer productivity and database applications.  Amazon S3/EC2/SimpleDB, Google &#8230; <a href="http://jtbennett.com/blog/2008/05/could-silverlight-be-used-as-a-server-side-sandbox-for-saas">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the past couple of years, software-as-a-service has been in the tech headlines.  <a href="http://www.salesforce.com/">Salesforce.com</a> and Microsoft <a href="http://crm.dynamics.com/Default.aspx">Dynamics CRM Live</a> provide customer relationship management (CRM) functionality. <a href="http://www.google.com/apps/business/index.html">Google Apps</a>, <a href="http://zoho.com/">Zoho</a>, <a href="http://www.netsuite.com/portal/home.shtml">NetSuite</a> and many others offer productivity and database applications.  <a href="http://www.amazon.com/gp/browse.html?node=3435361">Amazon S3/EC2/SimpleDB</a>, <a href="http://code.google.com/appengine/">Google App Engine</a>, and Microsoft <a href="http://www.microsoft.com/sql/dataservices/default.mspx">Sql Server Data Services</a> support hosting databases and custom applications in the cloud.</p>
<p>The last of those &#8212; full custom applications hosted on someone else&#8217;s servers &#8212; is very cool and very powerful.  However, I&#8217;ve been especially interested in how existing functionality can be extended by customers, along the lines of Salesforce.com and Dynamics CRM Live.</p>
<p>Both of these services provide CRM functionality.  But to be useful, any CRM platform needs to be customized to fit the specific needs of each customer.  Your &#8220;Customer&#8221; entity may need to contain different fields than mine.  You have special business rules to define when a customer is &#8220;preferred&#8221;, and I don&#8217;t have a concept of preferred customers at all.  Your sales process has an entirely different workflow than mine.  Etc.  This type of customization ranges from adding a new field to a standard entity, to adding custom entities and relationships, to writing entirely new application modules that act on the data in the system.</p>
<p>The challenges of letting dozens, hundreds or thousands of customers host their code on your servers are numerous:  How do you prevent one application from consuming too much CPU or RAM or disk space and affecting other customers&#8217; applications?  How to you create a security sandbox for each application, preventing it from, say, writing the another customer&#8217;s portion of the file system or even the system folders?</p>
<p>Virtualization can certainly address these issues, and that&#8217;s the approach Amazon takes with EC2.  New OS instances, entirely separate from one another, are provisioned on demand.  Application servers like Microsoft IIS can separate each web application into its own process &#8212; many thousands of websites are hosted this way on shared servers, safely and effectively.  These approaches work very well for &#8220;host your custom application&#8221; scenarios.</p>
<p>But for a company providing a SaaS solution, like a CRM or ERP or CMS, hosting many customers on the same server infrastructure &#8212; multitenancy &#8212; is one of the keys to the economy of scale that can make SaaS cheaper than self-hosting.  In that kind of environment, how do you allow a customer to replace or extend parts of the core application in a safe, resource-managed way?</p>
<p>As a .NET developer, I am especially interested in how to accomplish this goal for .NET code.  You&#8217;d probably want to limit the parts of the .NET framework that could be used, to ensure that unsafe operations could not be performed.  You&#8217;d want to place strict constraints on disk and network I/O so that they could not be abused (accidentally or maliciously).  You&#8217;d want each customer&#8217;s code to run inside of its own little security sandbox within your server application.</p>
<p>That all sounds similar to the requirements for hosting custom code inside a web browser.  Microsoft is spending a lot of time and energy on Silverlight to give it as much of the power of the full .NET framework as possible, but sandboxed so that it is safe to run within a web browser.  Could Silverlight be adapted to safely run custom code in a multitenant server environment?</p>
]]></content:encoded>
			<wfw:commentRss>http://jtbennett.com/blog/2008/05/could-silverlight-be-used-as-a-server-side-sandbox-for-saas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

