<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Is This A Good Approach For Multi-Tenancy Or Not?</title>
	<atom:link href="http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=is-this-a-good-approach-for-multi-tenancy-or-not</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 18:54:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	<item>
		<title>By: Christophe Fouquet</title>
		<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/comment-page-1/#comment-41943</link>
		<dc:creator>Christophe Fouquet</dc:creator>
		<pubDate>Mon, 05 Jan 2009 20:13:40 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/?p=1698#comment-41943</guid>
		<description>I am doing almost what you are doing.
We have a master and instance sites DBs.
However I do not require each tenant to have its own VDir (AppDomain). Instead, I use a multisite provider to map the &quot;tenant code&quot; in the URL (www.site.com/tenant1/default.aspx) to the actual physical file.
The end result is that I have one single appDomain. This saves memory.
The tricky part is not to use static variables to hold site state but use caching instead (Enterprise library) with the site id as part of every key.
Another big plus is the way we manage localized strings (in the DBs) for each site where we optimize which strings to load for each DB. Since 99% of the strings are the same for all site we can really optimize what strings to cache. This is a long story I cannot describe here.</description>
		<content:encoded><![CDATA[<p>I am doing almost what you are doing.<br />
We have a master and instance sites DBs.<br />
However I do not require each tenant to have its own VDir (AppDomain). Instead, I use a multisite provider to map the &#8220;tenant code&#8221; in the URL (www.site.com/tenant1/default.aspx) to the actual physical file.<br />
The end result is that I have one single appDomain. This saves memory.<br />
The tricky part is not to use static variables to hold site state but use caching instead (Enterprise library) with the site id as part of every key.<br />
Another big plus is the way we manage localized strings (in the DBs) for each site where we optimize which strings to load for each DB. Since 99% of the strings are the same for all site we can really optimize what strings to cache. This is a long story I cannot describe here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dew Drop - December 18, 2008 &#124; Alvin Ashcraft's Morning Dew</title>
		<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/comment-page-1/#comment-39977</link>
		<dc:creator>Dew Drop - December 18, 2008 &#124; Alvin Ashcraft's Morning Dew</dc:creator>
		<pubDate>Thu, 18 Dec 2008 15:46:48 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/?p=1698#comment-39977</guid>
		<description>[...] Is This a Good Approach for Multi-Tenancy or Not? (Davy Brion) [...]</description>
		<content:encoded><![CDATA[<p>[...] Is This a Good Approach for Multi-Tenancy or Not? (Davy Brion) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Cowan</title>
		<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/comment-page-1/#comment-39945</link>
		<dc:creator>Paul Cowan</dc:creator>
		<pubDate>Thu, 18 Dec 2008 08:29:41 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/?p=1698#comment-39945</guid>
		<description>&gt;&gt; still not sure if i’d be better off with with separate application instances 

This approach really works for me.  As long as all code bases are the same and you don&#039;t start tinkering with individual instances then it really is the least friction.

I&#039;ve been going with my code base for over a year and I just think my problems would multiply everytime the app. scales.

Anyway just my opinion.</description>
		<content:encoded><![CDATA[<p>&gt;&gt; still not sure if i’d be better off with with separate application instances </p>
<p>This approach really works for me.  As long as all code bases are the same and you don&#8217;t start tinkering with individual instances then it really is the least friction.</p>
<p>I&#8217;ve been going with my code base for over a year and I just think my problems would multiply everytime the app. scales.</p>
<p>Anyway just my opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: trasa</title>
		<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/comment-page-1/#comment-39908</link>
		<dc:creator>trasa</dc:creator>
		<pubDate>Wed, 17 Dec 2008 23:11:22 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/?p=1698#comment-39908</guid>
		<description>Just another data point and not advocating for/against anything here, but... I have a client who has just recently migrated from a multitenancy situation very similar to what you describe back to a &quot;single&quot; db / &quot;single&quot; web app model.*  The maintenance headaches of 200  very complicated databases and application web sites grew into a crushing burden.  Even trivial changes became marathons of change management.

This does have the tradeoff of making the application code more complicated.

* for certain values of &quot;single&quot; as they use a web farm, load balancing tricks, etc. to manage the physical demands.</description>
		<content:encoded><![CDATA[<p>Just another data point and not advocating for/against anything here, but&#8230; I have a client who has just recently migrated from a multitenancy situation very similar to what you describe back to a &#8220;single&#8221; db / &#8220;single&#8221; web app model.*  The maintenance headaches of 200  very complicated databases and application web sites grew into a crushing burden.  Even trivial changes became marathons of change management.</p>
<p>This does have the tradeoff of making the application code more complicated.</p>
<p>* for certain values of &#8220;single&#8221; as they use a web farm, load balancing tricks, etc. to manage the physical demands.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/comment-page-1/#comment-39905</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Wed, 17 Dec 2008 22:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/?p=1698#comment-39905</guid>
		<description>hah... i can&#039;t believe i didn&#039;t think of that.  I&#039;d keep the cache region out of the config file though... seeing as how i&#039;m already providing the tenant&#039;s specific connectionstring to the SessionFactory in code, i can just as easily use a tenant-specific cache region there as well

thanks for the tip :)

still not sure if i&#039;d be better off with with separate application instances then, or to try to serve all the tenants with one instance</description>
		<content:encoded><![CDATA[<p>hah&#8230; i can&#8217;t believe i didn&#8217;t think of that.  I&#8217;d keep the cache region out of the config file though&#8230; seeing as how i&#8217;m already providing the tenant&#8217;s specific connectionstring to the SessionFactory in code, i can just as easily use a tenant-specific cache region there as well</p>
<p>thanks for the tip <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>still not sure if i&#8217;d be better off with with separate application instances then, or to try to serve all the tenants with one instance</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Cowan</title>
		<link>http://elegantcode.com/2008/12/17/is-this-a-good-approach-for-multi-tenancy-or-not/comment-page-1/#comment-39902</link>
		<dc:creator>Paul Cowan</dc:creator>
		<pubDate>Wed, 17 Dec 2008 21:54:23 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/?p=1698#comment-39902</guid>
		<description>I have a multi-tenant app with a db for each database and I have a web stie for each customer.

I use memcached as my cache provider

I just use specify a different cache.region for each web site.

Here is an example from one of my Windsor.boo files.

cache.region_prefix=&#039;continutiy2&#039;

Words for me.</description>
		<content:encoded><![CDATA[<p>I have a multi-tenant app with a db for each database and I have a web stie for each customer.</p>
<p>I use memcached as my cache provider</p>
<p>I just use specify a different cache.region for each web site.</p>
<p>Here is an example from one of my Windsor.boo files.</p>
<p>cache.region_prefix=&#8217;continutiy2&#8242;</p>
<p>Words for me.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

