<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tag 'Architecture'</title><link>http://msmvps.com/search/SearchResults.aspx?q=app:weblogs&amp;tag=Architecture&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tag 'Architecture'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Windows Server 2008 R2 Branch Office: Features to Empower the Cloud</title><link>http://msmvps.com/blogs/jeffloucks/archive/2009/10/08/branch-office-features-to-empower-the-cloud.aspx</link><pubDate>Thu, 08 Oct 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1730784</guid><dc:creator>jeffl</dc:creator><description>&lt;p&gt;If you are involved at all with Microsoft on a professional level, you could not miss the fact that Microsoft is lugging the Juggernaut that it is toward Cloud computing. Branch Office is a logical&amp;nbsp;intermediary step in the strategy since technology that Microsoft develops here will be leveraged to connect to a platform in the cloud like &lt;a target="_blank" href="http://www.microsoft.com/azure/default.mspx" title="Windows Azure"&gt;Windows Azure&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Over the remainder of the month I am going to deep dive on new features of Windows Server 2008 R2 and Win7 as they relate to Branch Offices. I will talk about strategies for mitigating common problems and provide an in depth look at these new features. This is an introductory article on the series.&lt;/p&gt;
&lt;p&gt;Microsoft is leveraging some of the peer-2-peer technologies we have seen evolve for allegedly legal and illegal software and music distribution through tools like &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Kazaa" title="Kazaa"&gt;Kazaa&lt;/a&gt; and also through initiative like IBM&amp;#39;s &lt;a href="http://msmvps.com/wiki/Peer_to_Peer_Remote_Copy" title="Peer to Peer Remote Copy"&gt;Peer to Peer Remote Copy&lt;/a&gt;&amp;nbsp;or the European Unions &lt;a href="http://msmvps.com/wiki/P2P-Next" title="P2P-Next"&gt;P2P-Next&lt;/a&gt;. I first saw this type of software leveraged commercially by a gaming company about 2 years ago and Microsoft is putting it into commercial application in one of its applications of Branch Cache. The use of peer-2-peer technologies is not only a revolutionary step forward but also an acknowledgment that resources that pass through Internet are constrained and the more you can share locally with other users the less you strain that resource.&lt;/p&gt;
&lt;p&gt;These are only a few of the&amp;nbsp;ground breaking tools&amp;nbsp;we have seen emerge with this new release generation and I hope you will subscribe to my blog to keep up to date on how the technologies we see in Branch Office are going to shape the future if consumers and business act the way Microsoft and others in the industry&amp;nbsp;predict.&lt;/p&gt;
&lt;p&gt;&lt;span class="style1"&gt;Jeff &lt;/span&gt;&lt;span class="style2"&gt;Loucks&lt;br /&gt;&lt;/span&gt;&lt;span class="style2"&gt;Available Technology&lt;/span&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.availabletech.net" title="Available Technology"&gt;&lt;img height="70" width="250" src="http://www.availabletech.net/images/AvailableTechnologylogo2009.png" alt="Available Technology" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Windows 8 Task Manager? - GPU Usage monitoring becomes a requirement</title><link>http://msmvps.com/blogs/jeffloucks/archive/2009/10/02/the-windows-8-task-manager-gpu-usage-monitoring-becomes-a-requirement.aspx</link><pubDate>Fri, 02 Oct 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1728913</guid><dc:creator>jeffl</dc:creator><description>&lt;p&gt;Over the past 2 weeks I have been conducting performance testing on Autodesk Inventor using three different Operating Systems. Essentially the results of the testing revealed that unless applications are optimized for specific hardware much of the horse power we buy goes unused and wasted. One has to wonder if the inherent monitoring tools we see in Windows are really giving us the full picture. Perhaps the easiest thing to point at is Windows 7 current lack of GPU monitoring.&lt;/p&gt;
&lt;p&gt;Diagram of a possible Windows 8 Task Manager.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/8424.FutureTaskManager.png"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/8424.FutureTaskManager.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Essentially the next Windows version after Windows 7&amp;nbsp;will be tackling new hurdles that reflect the way we already use computers but will essentially help to bring huge performance increases which do not exist today. Perhaps the single most important reason why we have not been paying attention to the whole picture as it relates to bottle necks in performance is because we have not had the tools to do it.&amp;nbsp;The saying &amp;quot;out of sight out of mind&amp;quot; brings on new meaning as it relates to monitoring and the GPU is one clear area that has been out of sight.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I certainly want to give credit where credit is due. The Windows 7 team made big strides in performance and my testing revealed improvements of up to 20% over Windows XP in intensive graphics rendering and stunning differences related to DriectX11. Simply on performance alone, Windows 7 makes the cost of upgrading for CPU hungry users worth the lower than ever operating system price.&lt;/p&gt;
&lt;p&gt;As we look to the future of monitoring and performance, we are going to see better cooperative processing between GPUs and CPUs. This will mean we will need tools to monitor what is going on to help pinpoint and troubleshoot issues. We are also going to see the removal of what I call &amp;quot;Multi-Core management bottlenecks&amp;quot; through initiative like&amp;nbsp;&lt;a href="http://www.barrelfish.org/" title="Barrefish"&gt;Barrelfish&lt;/a&gt; and we will need a way to monitor that.&lt;/p&gt;
&lt;p&gt;I think more than ever we are seeing that hardware relies on the operating system to capture the inherent performance increases which exist under the covers.&lt;/p&gt;
&lt;p&gt;&lt;span class="style1"&gt;Jeff &lt;/span&gt;&lt;span class="style2"&gt;Loucks&lt;br /&gt;&lt;/span&gt;&lt;span class="style2"&gt;Available Technology&lt;/span&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.availabletech.net" title="Available Technology"&gt;&lt;img height="70" width="250" src="http://www.availabletech.net/images/AvailableTechnologylogo2009.png" alt="Available Technology" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Big engine no gas - Multi-Core OS with native support for the hardware we buy still a future prospect.</title><link>http://msmvps.com/blogs/jeffloucks/archive/2009/10/01/big-engine-no-gas-multi-core-os-with-native-support-for-the-hardware-we-buy-still-a-future-prospect.aspx</link><pubDate>Thu, 01 Oct 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1728852</guid><dc:creator>jeffl</dc:creator><description>&lt;p&gt;Well we can hardly say Multi-Core processors are new technology. Those who really know the ins and outs of the way applications run will tell you there is inefficiency in the way operating systems and the applications that run on them use the hardware. This inefficiency can actually make multi-core processors run slower than their single core predecessors for non-optimized applications. The most efficient applications are specifically designed to support newer technologies like Hyper-threading and Multi-Core but those are not the business productivity applications you would expect. &lt;/p&gt;
&lt;p&gt;Yes, it is game development that is most preoccupied with the specifics of achieving maximum performance. This is in part because game development is highly volatile market which often builds code from scratch rather than reusing code that has evolved over 10 and in some case 20 years like Microsoft Office. To take advantage of the new power legacy code needs to be rewritten effectively from the beginning to support today&amp;#39;s hardware. But therein lies the problem. Today hardware is getting increasingly diverse and what was dual(2) core 18 months ago is&amp;nbsp;Six Core now and the count will grow. So the target is moving and companies may start coding against a future spec which may only exists for 18 months or less. Equally we now have multi-GPU processors which perform graphics computing faster and systems that can take advantage of this performance see massive gains in performance for real life applications like DNA, robotics modeling, Global Weather Pattern prediction and other areas.&lt;/p&gt;
&lt;p&gt;Following the scale of predictability, constantly rewriting major application code to take advantage of hardware is impractical. So does that mean hardware vendors should go back to single core? Well maybe, but probably not. Let&amp;#39;s look at the history of operating systems. Remember DOS (Disk Operating System), well it evolved to support a bridge between the user applications and the hardware. So architecturally, doesn&amp;#39;t it make sense that the operating system needs to take better advantage of new hardware performance? It sure does. Enter &lt;a href="http://www.barrelfish.org/"&gt;http://www.barrelfish.org/&lt;/a&gt;&amp;nbsp;a joint Microsoft Research and Swiss ETH Z&amp;uuml;rich project. The goal is essentially to create a distributed Multi-Kernel operating&amp;nbsp;system on your box which efficiently communicates through a light weight hypervisor. In other words, an operating system which uses the maximum performance of the underlying technology with out having application developers program specifically toward the optimal hardware.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/2146.MultiKernel.PNG"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/2146.MultiKernel.PNG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Multikernel Model - source: &lt;a href="http://www.barrelfish.org/barrelfish_sosp09.pdf"&gt;http://www.barrelfish.org/barrelfish_sosp09.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This model is a massive oversimplification of the challenges faced in creating such and operting system. So how long are we talking about before true multikernel lightweight hypervisors rule the roost on our electron hatcheries? All we know at this point as Windows 7 prepares to launch is that incubation has begun on next generation. Windows Eight my Kernels.&lt;/p&gt;
&lt;p&gt;&lt;span class="style1"&gt;Jeff &lt;/span&gt;&lt;span class="style2"&gt;Loucks&lt;br /&gt;&lt;/span&gt;&lt;span class="style2"&gt;Available Technology&lt;/span&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.availabletech.net" title="Available Technology"&gt;&lt;img height="70" width="250" src="http://www.availabletech.net/images/AvailableTechnologylogo2009.png" alt="Available Technology" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Best Kept Secret - VHD Native Support in Server 2008 R2 and Windows 7</title><link>http://msmvps.com/blogs/jeffloucks/archive/2009/09/21/best-kept-secret-vhd-native-support-in-server-2008-r2-and-windows-7.aspx</link><pubDate>Mon, 21 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1725587</guid><dc:creator>jeffl</dc:creator><description>&lt;p&gt;Have you seen this? WOW.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/7357.1_2D00_VHDinDiskManagement.png"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/7357.1_2D00_VHDinDiskManagement.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/3632.2_2D00_VHDinDiskManagement_2D00_Options.png"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/sbs/3632.2_2D00_VHDinDiskManagement_2D00_Options.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Native support for VHD disks offers huge potential. Think about creating Dual and Tripple boot systems with everything containted in one file per OS. Think about Back up to VHD... think about mounting VHDs for native read write in an OS and then sharing them with a Virtualized OS. This about syspreping an imaged OS for use across your network!&lt;/p&gt;
&lt;p&gt;Think about it and tell me you are not trying to reattach your jaw,,,&lt;/p&gt;
&lt;p&gt;Big Secret... now you know.&lt;/p&gt;
&lt;p&gt;&lt;span class="style1"&gt;Jeff &lt;/span&gt;&lt;span class="style2"&gt;Loucks&lt;br /&gt;&lt;/span&gt;&lt;span class="style2"&gt;Available Technology&lt;/span&gt;&lt;br /&gt;&lt;img height="70" width="250" src="http://www.availabletech.net/images/AvailableTechnologylogo2009.png" alt="Available Technology" /&gt;&lt;/p&gt;</description></item><item><title>ARCast TV- David Hill's introduction to application architecture</title><link>http://msmvps.com/blogs/sundar_narasiman/archive/2009/09/13/arcast-tv-david-hill-s-introduction-to-application-architecture.aspx</link><pubDate>Sun, 13 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1723033</guid><dc:creator>lavssun</dc:creator><description>&lt;p&gt;Here is video that has the introduction to application architecture by David Hill.&lt;/p&gt;
&lt;table width="1000"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="303"&gt;
&lt;p&gt;&lt;iframe scrolling="no" width="320" frameborder="0" src="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-David-Hill-gives-us-an-introduction-to-the-Application-Architecture-Guide/" height="325"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-David-Hill-gives-us-an-introduction-to-the-Application-Architecture-Guide/"&gt;ARCast.TV - David Hill gives us an introduction to the Application Architecture Guide&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>MVVM Pattern and Silverlight</title><link>http://msmvps.com/blogs/burrows/archive/2009/09/12/mvvm-pattern-and-silverlight.aspx</link><pubDate>Sat, 12 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1722859</guid><dc:creator>Burrows</dc:creator><description>&lt;p&gt;I have been trying to understand the Model-View-ViewModel pattern for a while and to be honest, getting a good grip on the idea was eluding me. I read many articles; some were too general to be helpful, some were written specifically for WPF (which does not map well to Silverlight because of Silverlight&amp;rsquo;s lack of commands and triggers), or were shown in applications that were just too complex to really see what was happening.&lt;/p&gt;
&lt;p&gt;Then I read &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/magazine/dd458800.aspx"&gt;Shawn Wildermuth&amp;rsquo;s article in MSDN Magazine&lt;/a&gt;. Shawn showed a fairly simple MVVM example using Silverlight and C#. Thanks to the efforts of &lt;a target="_blank" href="http://blogs.msdn.com/vbteam/archive/tags/Lisa+Feigenbaum/default.aspx"&gt;Lisa Feigenbaum&lt;/a&gt;, Shawn&amp;rsquo;s code was provided not only in C#, but also in VB.NET in the &lt;a target="_blank" href="http://code.msdn.microsoft.com/mag200903MVVMSL2"&gt;MSDN Code Gallery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I decided that I would create my own simple Silverlight client using the MVVM ideas presented by Shawn. I just posted a &lt;a target="_blank" href="http://www.myvbprof.com/2007_Version/MVVM.aspx"&gt;new tutorial&lt;/a&gt; that shows how this application is designed. In this tutorial, I look at a very simple ViewModel that deals with displaying all products from the AdventureWorks database. It shows two versions of the data contract, one using .NET RIA Services and a second using ADO.NET Data Services. In this example, the view is defined as a Silverlight client.&lt;/p&gt;</description></item><item><title>Hyper-V: Top 3 Reasons people choose to use dynamically expanding storage</title><link>http://msmvps.com/blogs/jeffloucks/archive/2009/09/10/hyper-v-top-3-reasons-people-choose-to-use-dynamically-expanding-storage.aspx</link><pubDate>Thu, 10 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1722484</guid><dc:creator>jeffl</dc:creator><description>&lt;ol&gt;
&lt;li&gt;Save Space on Primary and Backup Storage.&lt;/li&gt;
&lt;li&gt;Hyper-V 2008 R2 boasts 87% of native drive system&amp;nbsp;performance.&lt;/li&gt;
&lt;li&gt;They are separating out the data that is fixed from the information that changes by creating a new location for transitional data. The size of this data is unknown.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span class="style1"&gt;Jeff &lt;/span&gt;&lt;span class="style2"&gt;Loucks&lt;br /&gt;&lt;/span&gt;&lt;span class="style2"&gt;Available Technology&lt;/span&gt;&lt;br /&gt;&lt;img height="70" width="250" src="http://www.availabletech.net/images/AvailableTechnologylogo2009.png" alt="Available Technology" /&gt;&lt;/p&gt;</description></item><item><title>The Numbers: Hyper-V R2 and Dynamically Expanding Storage Performance</title><link>http://msmvps.com/blogs/jeffloucks/archive/2009/09/10/the-numbers-hyper-v-r2-and-dynamically-expanding-storage-performance.aspx</link><pubDate>Thu, 10 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1722390</guid><dc:creator>jeffl</dc:creator><description>&lt;p&gt;&lt;strong&gt;The Virtualization team is reporting 87% of native performance when using Dynamically expanding drives.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A number of MVPs were emailing today about best practices for High Availability using Hyper-V and Clustered Shared Volumes. A great topics in and of itself but one that I will bring forward more extensive information in the near future.&lt;/p&gt;
&lt;p&gt;A side topic came up. Oliver Sommer, respected MVP from Germany,&amp;nbsp;introduced me to the increased performance of Dynamic Expanding drives in Hyper-V R2. Now this should not be confused with dynamic versus basic drive formats. This is dynamically Expanding Storage versus Fixed storage in Hyper-V. &lt;/p&gt;
&lt;p&gt;There was a little uncertainty as to the exact numbers of the performance increase.&amp;nbsp;A little research on my behalf revealed the&amp;nbsp;Virtualization team is reporting 87% of native performance when using Dynamically expanding drives. Source: &lt;a href="http://blogs.technet.com/virtualization/archive/2009/07/22/windows-server-2008-r2-hyper-v-server-2008-r2-rtm.aspx"&gt;http://blogs.technet.com/virtualization/archive/2009/07/22/windows-server-2008-r2-hyper-v-server-2008-r2-rtm.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the end,&lt;strong&gt; we still recommend fixed disks for production use with Hyper-V R2&lt;/strong&gt; because it pre-allocates disk usage upfront, but if you want to use dynamically expanding virtual hard disks and are willing to take a small performance hit, Hyper-V R2 is a must. &lt;/p&gt;
&lt;p&gt;&lt;span class="style1"&gt;Jeff &lt;/span&gt;&lt;span class="style2"&gt;Loucks&lt;br /&gt;&lt;/span&gt;&lt;span class="style2"&gt;Available Technology&lt;/span&gt;&lt;br /&gt;&lt;img height="70" width="250" src="http://www.availabletech.net/images/AvailableTechnologylogo2009.png" alt="Available Technology" /&gt;&lt;/p&gt;</description></item><item><title>SaaS Architecture</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/09/09/saas-architecture.aspx</link><pubDate>Wed, 09 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1722153</guid><dc:creator>NunoGodinho</dc:creator><description>&lt;p&gt;&amp;#160;&amp;#160; When building Software as a Service (SaaS) solutions one of the things that is very important to consider is the Multi-Tenancy of the Database, and the different approaches that available in order to achieve the best option.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; The option is always the same in every part of any solution, and this is from a Fixed Solution to a Fully Configurable Solution, and a SaaS solutions normally starts somewhere in the middle, that is when different customers can have different functionalities and even different UX. But a very important thing to acknowledge is the fact that in order to maintain this kind of differences we need a data model that needs to be Multi-Tenant, and so the next choice to make is the Multi-Tenancy approach that will be used, and it can be:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Separate Databases for each Customer      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Isolation&lt;/strong&gt;, The most Isolation we can have, and the one we can be sure that no customer can access other customer’s data &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Customization&lt;/strong&gt;, Each customer can have different data model without affecting other customers &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Performance, &lt;/strong&gt;The fact that the data is isolated allows that the several customers have performances accessing that are dependent only on their amount of data, and not other customers data. &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Manageability&lt;/strong&gt;, Whenever a customer has a problem with the data on the solution, or needs a migration, or backups are easier to achieve since they are isolated. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Same Database, Separate Schemas for each Customer      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Isolation, &lt;/strong&gt;This is in the middle way since we have from one side the data isolated since we have different schemas for each customer, but all resides on the same database, simplifying the number of databases that reside on our server. &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Customization&lt;/strong&gt;, Each&amp;#160; customer can have different data models without affecting others &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Performance, &lt;/strong&gt;The fact that the data resides on the same database as other customers, the amount of data from other customers can affect the performance of accessing the data, but of course this can be simplified by using Partitioning on the database. &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Manageability&lt;/strong&gt;, Whenever a customer has a problem with the data on the solution or even a migration it’s still not so hard since we have different schemas for each customer, but for separate backups this is not that easy. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Same Database, Same Schema for each Customer      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Isolation, &lt;/strong&gt;This is the less isolated solution for data since everything reside exactly on the same tables, and database, and then this will simplify the number of Databases and Database objects on the server. &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Customization&lt;/strong&gt;, This makes that every customer have the same schema, and so customization is only possible using approaches like:           &lt;ul&gt;           &lt;li&gt;Having several Custom columns on the tables, like, Custom1, Custom2, and so on. &lt;/li&gt;            &lt;li&gt;Having a table for customizable columns, like ColumnName, ColumnType, ColumnValue. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;, The fact that the data is nor isolated makes that the amount of data from other customers affect the performance of accessing data, but of course this can also be achieved using Partitioning on the database based on the for instance in the TenantID. &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Manageability&lt;/strong&gt;, This becomes harder since everyone&amp;#39;s data is on the same tables and so the separation of the backups, as well as the manageability of the customers data becomes harder, but the possibility to run checks on customers data became easier since we always know at front the schema used for each customer. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; A very interesting document regarding this subject is this &lt;a href="http://msdn.microsoft.com/en-us/library/aa479086.aspx" target="_blank"&gt;one that is part of the MSDN site, and that is called “Multi-Tenant Data Architectures”&lt;/a&gt;. Another interesting reading about this subject is this article from Scott Mitchell in the 4GuysFromRolla community site about “Querying a Multi-Tenant Data Architecture”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; In order to know more about SaaS architecture and solutions I’ll suggest the following articles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa479069.aspx" target="_blank"&gt;Architecture Strategies for Catching the Long Tail&lt;/a&gt;, that explains the purpose of SaaS and why it’s interesting for customers and service providers. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa905332.aspx" target="_blank"&gt;Software as a Service (SaaS): An Enterprise Perspective&lt;/a&gt;, gives an insight of the need and advantages that SaaS can bring to Enterprises. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; Hopes this can help you get started or even with your choices in terms of Multi-tenancy of Data.&lt;/p&gt;</description></item><item><title>ReMIX 09 Is Coming To Lisbon, Portugal</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/09/09/remix-09-is-coming-to-lisbon-portugal.aspx</link><pubDate>Wed, 09 Sep 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1722131</guid><dc:creator>paulo</dc:creator><description>&lt;p&gt;&lt;a title="ReMIX 09 Portugal" href="http://www.microsoft.com/portugal/remix/index.aspx" target="_blank"&gt;&lt;img style="border-right-width:0px;margin:0px 10px 10px 0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="ReMIX 09" border="0" alt="ReMIX 09" align="left" src="https://www.microsoft.com/portugal/remix/res/img/remix_logo.gif" width="134" height="61" /&gt;&lt;/a&gt;For the first time, &lt;a title="MIX Online" href="http://www.visitmix.com/" target="_blank"&gt;ReMIX&lt;/a&gt; is coming to &lt;a title="Portugal" href="http://wikipedia.org/wiki/Portugal" target="_blank"&gt;Portugal&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The event will have a keynote and 3 tracks (Web Developer, UX and Architect) with 4 sessions each by the best speakers in each field.&lt;/p&gt;  &lt;p&gt;Don’t miss it! &lt;a title="ReMIX 09 Portugal" href="http://www.microsoft.com/portugal/remix/index.aspx" target="_blank"&gt;Register&lt;/a&gt; now!&lt;/p&gt;</description></item></channel></rss>