<?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>Nuno Filipe Godinho : SQL Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx</link><description>Tags: SQL Azure</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>How to choose the right Relational Database Service you should use in Windows Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/2012/09/20/how-to-choose-the-relational-database-service-in-windows-azure.aspx</link><pubDate>Thu, 20 Sep 2012 21:51:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1816967</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1816967</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1816967</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2012/09/20/how-to-choose-the-relational-database-service-in-windows-azure.aspx#comments</comments><description>&lt;p&gt;Now with Windows Azure SQL Database as well as SQL Server inside a Windows Azure Virtual Machine an important question comes up, and that is, Which Relational Database Service should I use for my solution in Windows Azure?&lt;/p&gt;  &lt;p&gt;In order to help answering this question I did a flowchart that should help. (this is a simplification of the process but should answer most of the questions)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/nunogodinho.metablogapi/6366.image_5F00_6E883842.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/nunogodinho.metablogapi/0246.image_5F00_thumb_5F00_0471AA93.png" width="477" height="342" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;What are the features that aren’t supported in SQL Database you might be asking. Here’s a list:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SQL Server Utility&lt;/li&gt;    &lt;li&gt;SQL Server PowerShell Provider. PowerShell scripts can be run on an on-premise computer, however, and connect to Windows Azure SQL Database using supported objects (such as System Management Objects or Data-tier Applications Framework).&lt;/li&gt;    &lt;li&gt;Master Data Services&lt;/li&gt;    &lt;li&gt;Change Data Capture&lt;/li&gt;    &lt;li&gt;Data Auditing&lt;/li&gt;    &lt;li&gt;Data Compression&lt;/li&gt;    &lt;li&gt;Extension of spatial types and methods through Common Language Runtime (CLR)&lt;/li&gt;    &lt;li&gt;External Key Management / Extensible Key Management&lt;/li&gt;    &lt;li&gt;FILESTREAM Data&lt;/li&gt;    &lt;li&gt;Integrated Full-Text Search&lt;/li&gt;    &lt;li&gt;Large User-Defined Aggregates (UDAs)&lt;/li&gt;    &lt;li&gt;Large User-Defined Types (UDTs)&lt;/li&gt;    &lt;li&gt;Performance Data Collection (Data Collector)&lt;/li&gt;    &lt;li&gt;Policy-Based Management&lt;/li&gt;    &lt;li&gt;Resource Governor&lt;/li&gt;    &lt;li&gt;SQL Server Replication&lt;/li&gt;    &lt;li&gt;Transparent Data Encryption&lt;/li&gt;    &lt;li&gt;Common Language Runtime (CLR) and CLR User-Defined Types&lt;/li&gt;    &lt;li&gt;Database Mirroring&lt;/li&gt;    &lt;li&gt;Service Broker&lt;/li&gt;    &lt;li&gt;Table Partitioning&lt;/li&gt;    &lt;li&gt;Typed XML and XML indexing is not supported. The XML data type is supported by Windows Azure SQL Database.&lt;/li&gt;    &lt;li&gt;Backup and Restore&lt;/li&gt;    &lt;li&gt;Replication&lt;/li&gt;    &lt;li&gt;Extended Stored Procedures&lt;/li&gt;    &lt;li&gt;SQL Server Agent/Jobs&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;More about this Windows Azure SQL Database:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx" href="http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx" target="_blank"&gt;General Guidelines and Limitations (Windows Azure SQL Database)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx" href="http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx" target="_blank"&gt;SQL Server Feature Limitations (Windows Azure SQL Database)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ff394108.aspx" target="_blank"&gt;Security Guidelines and Limitations (Windows Azure SQL Database)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh597469.aspx" target="_blank"&gt;Federation Guidelines and Limitations&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://blogs.msdn.com/b/windowsazure/archive/2012/09/19/announcing-updates-to-windows-azure-sql-database.aspx" href="http://blogs.msdn.com/b/windowsazure/archive/2012/09/19/announcing-updates-to-windows-azure-sql-database.aspx" target="_blank"&gt;Announcing Updates to Windows Azure SQL Database&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;More about SQL Server inside a Windows Azure Virtual Machine:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://blogs.msdn.com/b/windowsazure/archive/2012/07/16/data-series-how-to-setup-sql-server-on-windows-azure-virtual-machines.aspx" href="http://blogs.msdn.com/b/windowsazure/archive/2012/07/16/data-series-how-to-setup-sql-server-on-windows-azure-virtual-machines.aspx" target="_blank"&gt;Data Series: How To Setup SQL Server on Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/11567.getting-started-running-sql-server-in-windows-azure-virtual-machine-en-us.aspx" target="_blank"&gt;Getting Started Running SQL Server in Windows Azure Virtual Machine&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Hope this helps you to make the right choice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1816967" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>Tips &amp; Tricks to Build Multi-Tenant Databases with SQL Databases</title><link>http://msmvps.com/blogs/nunogodinho/archive/2012/08/11/tips-amp-tricks-to-build-multi-tenant-databases-with-sql-databases.aspx</link><pubDate>Sat, 11 Aug 2012 12:55:17 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1815010</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1815010</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1815010</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2012/08/11/tips-amp-tricks-to-build-multi-tenant-databases-with-sql-databases.aspx#comments</comments><description>&lt;p&gt;Last Wednesday I delivered another session at the Visual Studio Live @ Redmond conference this time about “Tips &amp;amp; Tricks to Build Multi-Tenant Databases with SQL Databases”. The feedback from the session attendees was very good and this is a quick summary of the most important aspects.&lt;/p&gt;  &lt;p&gt;First thing in order to be successful is understanding exactly what is Windows Azure SQL Databases (formally SQL Azure) and how it works. If we look at it from a high level, SQL Databases are actually:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SQL Server database technology delivered as a service on Windows Azure&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;This is actually a Shared Environment where we have SQL Server capabilities and features available in a pay as you go, and scalable mode. This of course doesn’t mean we have all the existing features and capabilities from SQL Server, since some of them would probably create some issues since this is a Shared Environment and also because the goal is High Availability and Scalability.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Ideal for both simple and complex applications&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;It’s a way for us to have a Relational Database as a Service quickly and powerful which can be used in all types of solutions, but in order to get the best out of it we really need to understand and adjust how it works and avoid things like being throttled, for example. &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Enterprise-ready with automatic support for HA&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;True since it provide a higher level of management since we don’t deal with physical machines anymore but with the actual storing of data this way focusing more on what’s more important for our solution and our business.&lt;/li&gt;      &lt;li&gt;Also this provides us an automatic support that enables us to have High Availability without ‘a lot of work’.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Designed to scale out elastically with demand&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SQL Databases were created to scale and of course that’s part of it’s DNA, since without the ability to scale elastically it wouldn’t be fit for the Cloud. This will be allowed with SQL Federations.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;After a high-level understanding of what is a SQL Database in Windows Azure, it’s important to understand also what are the scaling strategies that we can use, since this way we can better use them whenever needed. And so the strategies are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Horizontal Partitioning or Sharding&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Spreads data across similar nodes&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;All nodes have the same schema&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Allows us to achieve massive scale out both in terms of Data Size and Load&lt;/li&gt;      &lt;li&gt;We need to understand that while doing that we aren’t going to be able to get the complete list of data within a single query, and so it’s something we need to understand and consider.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Vertical Partitioning&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Spreads data across Dis-Similar nodes&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Each node has it’s own schema where the data is stored. Eg. SQL Database, Table Storage, Blob Storage, …&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Allows us to place the data where it makes more sense by slitting the data we have for a solution and understanding how it’s used and how it should be stored so we can take the best out of it.&lt;/li&gt;      &lt;li&gt;In this case we need to understand that by doing that we a splitting at the row level, so if we want a complete row (if we were to be thinking about a regular database) we won’t be able to get that in 1 only query, since one part can be in a DB, another in Table Storage and another in Blob Storage.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Hybrid Partitioning&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;This is when we spread our data both in Vertically and Horizontally.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Now let’s have a quick look at SQL Federations:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Integrated database sharding that can scale to hundreds of nodes&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Provides the ability to do Horizontal Partitioning or Sharding to data inside SQL Databases in a quick and ‘easy’ way.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Multi-tenancy via flexible repartitioning&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Provide the ability to achieve multi-tenancy inside the same Database by providing the ability to split data horizontally.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Online split operations to minimize downtime&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Automatic data discovery regardless of changes in how data is partitioned&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Finally, before we get to the actual Tips &amp;amp; Tricks we need to understand the multi-tenancy strategies that are typically used, and they are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Separate Servers&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;This provides the best isolation possible and it’s regularly done On-Premises, but it’s also the one that doesn’t enable cutting costs, since each tenant has it’s own server, sql, license and so on.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Separate Databases&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Very used in order to provide isolation for customer, because we can associate different logins, permissions and so on to each DB. Considered by many the only way to provide isolation for tenants.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Separate Schema&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Also a very good way to achieve multi-tenancy but at the same time share some resources since everything it’s inside the same DB but the schemas used are different, one for each Tenant. That allows us to even customize a specific tenant without affecting others.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Row Isolation&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Everything is shared in this option, Server, Database and even Schema. The only way they are differentiated is based on a TenantId or some other column that exists on the table level.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;So now that we had a high-level view of all this let’s take a look at some of the Tips &amp;amp; Tricks for it, and they are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Choose the right Multi-Tenancy Strategy&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;One of the most important steps for delivering a Multi-Tenant solution is understand exactly what should be the approach we should use, and normally the simplest one isn’t actually the best. For example, if we think about Isolation the best might seem Separate Server or Separate Database, but that means that from an economics standpoint we aren’t going to be very competitive, and so for this we need to understand that is we go further for a more shared approach, like Row Isolation, the impact in terms of development might be that at the beginning the investment is bigger, but in the long run that will pay off. &lt;/li&gt;      &lt;li&gt;Also important is that if we want Multi-Tenancy and Isolation the only solution is not separating everything, since that is something we can enforce programmatically, through security permissions and so on. It’s just might take a bit more effort but the end result should be that we achieve some other customers that we usual didn’t because of the prices.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Don’t forget Security Patterns&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Some time when we start creating Multi-Tenant Databases we start thinking about sharing everything and forget about the Security part of that. This is actually a common mistake that can cost a lot, and in order to make things work we should never forget to:&lt;/li&gt;      &lt;ol&gt;       &lt;li&gt;Filter&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Use an intermediate layer that will receive all the requests to the DB and infer the Tenant filter, so that nobody has access to something that shouldn’t. Of course this also means that no one should have direct access to the DB.&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Permissions&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Very important when we consider Multi-Tenant Databases is the Permissions and how we can affect them. When we use Separate Servers, Databases or either Schemas, we can actually associate different logins, roles and so on to the different Tenants, but when we are in a Row Isolation model that isn’t possible, and that’s why the intermediate layer, that is actually your Data Layer will be very important since not only provides access to the data inferring the filter by Tenant, but also allows us to introduce permissions to access certain parts of the data. For example by leveraging Windows Azure Active Directory Access Control Service.&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Encryption&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;This is of a huge importance. IF YOUR DATA IS SENSITIVE JUST ENCRYPT IT. SQL Databases don’t have the ‘With Encryption’ for Columns but this doesn’t mean I can’t really insert encrypted data in the database, I just need to do it on another layer, again in an intermediate layer.&lt;/li&gt;          &lt;li&gt;Also very important when we encrypt our data is to understand the method we’re going to use. Normally one of the best methods, if we don’t want anyone that isn’t part of a Tenant to access the data and have different encryptions per Tenant so that even if someone gets the full DB it won’t access the full data, is to use X.509 Client Certificates. This is a very good approach since the Client is actually the one that has the Certificate that is used, but it also means that we cannot count of doing background calculation with that data in the Cloud since we don’t have the certificate. So it’s a balance.&lt;/li&gt;          &lt;li&gt;A quick reminder is that IF YOU SHARE A SECRET IT STOPS BEING A SECRET, it’s just like telling a secret to a child. So for this reason, if you use X.509 Client Certificates to encrypt the data, and then register all those certificates in a Windows Azure Role, that isn’t the best approach because if someone get access to that role it will have access to the KEYS OF THE KINGDOM.&lt;/li&gt;       &lt;/ul&gt;     &lt;/ol&gt;   &lt;/ul&gt;    &lt;li&gt;Choose your partitions wisely&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;When you choose the partitions it should be based on the ‘hotness’ of the data and not on the ‘# of records’. This is a very important premise since we normally see partitions being made in a way that they all have the same amount of records and data, and this doesn’t mean the solution will perform, because if we have one partition that has all the most commonly used data and another one with less common we won’t have any benefit with the partition. So the important part is to partition your data based on how the data is used and how commonly it is used, since in order to get good partitioning sometimes we can have a partition with very few records and another one with thousands.&lt;/li&gt;      &lt;li&gt;So it’s also important to before partitioning the data understand how that data will be consumed and used, since that will allow us to better understand what is the most used data or not.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Choose your Partition Keys correctly&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;We can have several ways of defining partition keys and the most common are:&lt;/li&gt;      &lt;ol&gt;       &lt;li&gt;Natural Keys&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Choosing a Natural key is usually one of the most used ways in order to select a partition key, and some samples are:&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Tenant&lt;/li&gt;            &lt;li&gt;Country&lt;/li&gt;            &lt;li&gt;Region&lt;/li&gt;            &lt;li&gt;Date&lt;/li&gt;            &lt;li&gt;…&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;But sometimes this isn’t the best approach since if we go for the Tenant that doesn’t partition based on the ‘hotness’ just based on the Tenant and if a tenant is small has less information and so it will be faster than a tenant that is larger because it has more data and all in the same partition. This is exactly what we want to avoid. The same thing happens with Country, since really isn’t the best way since if we use this we might have more customers from a specific customer than from another, and the same with region. When we partition by data, it will mean that everybody would be affected by everyone else data, since everything would be in the same partition.&lt;/li&gt;          &lt;li&gt;What this mean is that while Natural Keys are one of the most used partition keys they aren’t actually the best choice because it’s very difficult to find something that allows us to partition it optimally.&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Mathematical&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;This is another option for partition key since what we can do is used things like Hash or Modulo operator and other options to generate a mathematical calculation in order to find the ‘hotness’ point.&lt;/li&gt;          &lt;li&gt;Being this a very interesting approach is actually really difficult also since you need to understand your data very well as well as built mathematical formulas which isn’t everyone best hobby and capability.&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Lookup Based&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Another option is this one, Lookup based, this is actually the best since it really looks at how the data is used and consumed in order to find out the best partition key. In some cases this will mean a concatenation of something like ‘TenantId+Date’ or something like that, because in this case we’ll be saying that every tenant is partitioned independently and even at the same time is partitioning its own data making it faster.&lt;/li&gt;       &lt;/ul&gt;     &lt;/ol&gt;   &lt;/ul&gt;    &lt;li&gt;Leverage SQL Federations to handle Multi-Tenancy&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SQL Federations is a very good way to leverage Horizontal Partitioning (Sharding) of data for you solutions since allows us a ‘quick and easy’ way to partition our data and provide at the same time Isolation, since each Federation Member is actually a separate DB that is generated, but when we look at it we only see the main DB.&lt;/li&gt;      &lt;li&gt;Currently the limitations with this is actually the fact the SQL Federations only allow the partition key to be of types BigInt, Int, UniqueIdentifier and VarBinary. It would be great if it would support also Varchar but we can’t have all, unfortunately, but if we go for a partition key like ‘TenantId+Date’ this can be actually a number and so fall inside the BigInt possibility.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Don’t forget that you’ll continue to need to perform backups&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Sometimes when we are in a multi-tenant environment we forget we still need to provide backups and not only for us, but most of the times the customer wants also to have a copy of the data and that is more challenging.&lt;/li&gt;      &lt;li&gt;In order to do that backups we can use the Export capability from SQL Databases as well as some third-party tools like RedGate’s SQL Azure Backup.&lt;/li&gt;      &lt;li&gt;To leverage a backup of the data for the customer we can leverage SQL Data Sync since it allows us to create filters in the data sets and so we can filter by tenant and get one Data Sync per Tenant this way making everyone happy.&lt;/li&gt;   &lt;/ul&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So those are some of the Tips &amp;amp; Tricks you can use in order to be successful building Multi-Tenant Databases in Windows Azure SQL Databases. I hope that helps and would love to have your thoughts about it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1815010" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>Visual Studio Live @ Las Vegas Presentations – Architecture Best Practices in Windows Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/2012/03/29/visual-studio-live-las-vegas-presentations-architecture-best-practices-in-windows-azure.aspx</link><pubDate>Thu, 29 Mar 2012 16:50:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1808128</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1808128</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1808128</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2012/03/29/visual-studio-live-las-vegas-presentations-architecture-best-practices-in-windows-azure.aspx#comments</comments><description>&lt;p&gt;Unfortunately I wasn’t able to go and speak in Visual Studio Live @ Las Vegas as it was scheduled, due to an illness that made it impossible for me to travel, and stay in bed for a few days.&lt;/p&gt;  &lt;p&gt;But even if I wasn’t there I would like to share with you some of the points on this topic “Architecture Best Practices in Windows Azure”.&lt;/p&gt;  &lt;div style="width:425px;" id="__ss_12211159"&gt;&lt;strong style="margin:12px 0px 4px;display:block;"&gt;&lt;a title="Architecture Best Practices on Windows Azure" href="http://www.slideshare.net/Nuno.Godinho/architecture-best-practices-on-windows-azure"&gt;Architecture Best Practices on Windows Azure&lt;/a&gt;&lt;/strong&gt;    &lt;div style="padding-bottom:12px;padding-left:0px;padding-right:0px;padding-top:5px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/Nuno.Godinho"&gt;Nuno Godinho&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;strong&gt;Here are 10 key Architecture Best Practices in Windows Azure:&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Architect for Scale &lt;/li&gt;    &lt;li&gt;Plan for Disaster Recovery&lt;/li&gt;    &lt;li&gt;Secure your Communications&lt;/li&gt;    &lt;li&gt;Pick the right Compute size &lt;/li&gt;    &lt;li&gt;Partition your Data &lt;/li&gt;    &lt;li&gt;Instrument your Solution&lt;/li&gt;    &lt;li&gt;Federate your Identity&lt;/li&gt;    &lt;li&gt;Use Asynchronous and Reduce Coupling&lt;/li&gt;    &lt;li&gt;Reduce Latency&lt;/li&gt;    &lt;li&gt;Make Internal Communication Secure&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In some next entries I’ll go in-depth into each one of those.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1808128" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Storage/default.aspx">Windows Azure Storage</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+Live+_4000_+Las+Vegas+2012/default.aspx">Visual Studio Live @ Las Vegas 2012</category></item><item><title>Visual Studio Live Orlando</title><link>http://msmvps.com/blogs/nunogodinho/archive/2011/11/08/visual-studio-live-orlando.aspx</link><pubDate>Tue, 08 Nov 2011 10:38:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1802203</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1802203</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1802203</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2011/11/08/visual-studio-live-orlando.aspx#comments</comments><description>&lt;p&gt;This is a very interesting 5-day event on Microsoft Technologies that will be held in Orlando, and has tons of great sessions and speakers around topics like, Windows Azure, SQL Server, WCF, WF, Server AppFabric, MEF, Silverlight, WPF, Visual Studio, Team Foundation Server, ALM, VS11, HTML5, CSS3, ASP.NET MVC, Orchard, Windows Phone 7, JQuery and more.&lt;/p&gt;  &lt;p&gt;Seems to be a really great event, that I’d recommend to anyone that wants a really powerful way to fast learn the topics, from beginners to advanced.&lt;/p&gt;  &lt;p&gt;Check out more &lt;a href="http://vslive.com/events/orlando-2011/home.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1802203" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WPF/default.aspx">WPF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+Services/default.aspx">.NET Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA+Services/default.aspx">RIA Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MEF/default.aspx">MEF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WF4/default.aspx">WF4</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA/default.aspx">RIA</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/OData/default.aspx">OData</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+DataMarket/default.aspx">Windows Azure DataMarket</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/ASP.NET+MVC+3/default.aspx">ASP.NET MVC 3</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/ACS/default.aspx">ACS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Storage/default.aspx">Windows Azure Storage</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category></item><item><title>Windows Azure Best Practices</title><link>http://msmvps.com/blogs/nunogodinho/archive/2011/10/13/windows-azure-best-practices.aspx</link><pubDate>Thu, 13 Oct 2011 18:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1801175</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1801175</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1801175</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2011/10/13/windows-azure-best-practices.aspx#comments</comments><description>&lt;p&gt;I was on Twitter and suddenly some remember that it would be interesting to write some Best Practices about using Windows Azure. Here are some of the ones I remembered:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Get out of the way when you can. Send client directly to blob storage for static content &lt;/li&gt;
&lt;li&gt;Use Shared Access Signatures to provide direct access to ACLed content. Can be time-bound and revoked on demand. Also important will be using a Shared Access Policy in order to remove information like end date from url &lt;/li&gt;
&lt;li&gt;Serve public blobs from the edge with the Windows Azure CDN. You have fewer hops, and be closer to the customer. &lt;/li&gt;
&lt;li&gt;If you&amp;#39;re using &lt;a href="http://twitter.com/#search?q=%23CDN"&gt;#CDN&lt;/a&gt; don&amp;#39;t forget to Manage the Content Expiration. The Default is 72 hours &lt;/li&gt;
&lt;li&gt;If you&amp;#39;re using CDN use versioned urls to allow immediate refresh. Really important to avoid caching problems &lt;/li&gt;
&lt;li&gt;Cache hot data in memory to avoid slower data-tier access. Ex. Session State, immutable reference data. Using the Caching ties will help you reduce latency and in some cases also costs &lt;/li&gt;
&lt;li&gt;Consider using more smaller compute instances instead of few large one. Most times you&amp;#39;ll get better performance &lt;/li&gt;
&lt;li&gt;Partition Data based on the indexing needs. Use &lt;a href="http://twitter.com/#search?q=%23SQLAzure"&gt;#SQLAzure&lt;/a&gt; for highly indexed data, and &lt;a href="http://twitter.com/#search?q=%23Storage"&gt;#Storage&lt;/a&gt; for the rest. Really consider doing Hybrid Partitioning &lt;/li&gt;
&lt;li&gt;Shard your &lt;a href="http://twitter.com/#search?q=%23SQLAzure"&gt;#SQLAzure&lt;/a&gt; data across databases to increase the workload. &lt;/li&gt;
&lt;li&gt;Don&amp;#39;t forget to do the basic performance tuning to applications. Measure, optimize &amp;amp; create a baseline for performance &lt;/li&gt;
&lt;li&gt;Don&amp;#39;t forget to enable compression for additional dynamic content types in Web Apps &lt;/li&gt;
&lt;li&gt;You can&amp;#39;t update Apps with a different number of endpoints, so prepare for that upfront, leave some backdoors opened &lt;/li&gt;
&lt;li&gt;In #Azure #AppFabric Caching Prefer to cache more smaller objects then few larger ones, increases your performance&lt;/li&gt;
&lt;li&gt;Consider VMRole only when you need something installed that takes long time or is a non-automated install &lt;/li&gt;
&lt;li&gt;Use Startup Tasks preferably in background unless you need a specific order in their launch &lt;/li&gt;
&lt;li&gt;Use Asynchronous Work Pattern and Queues instead of using a Synchronous approach on your Roles &lt;/li&gt;
&lt;li&gt;For devices don&amp;#39;t connect directly to #SQLAzure, proxy those in your #Azure Compute (of course #SOA approach) &lt;/li&gt;
&lt;li&gt;If you use Startup Tasks don&amp;#39;t forget to log everything. Ex. command &amp;gt;&amp;gt; %~dp0log.txt 2&amp;gt;&amp;gt; %~dp0err.txt &lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t forget to use &amp;ldquo;/y&amp;rdquo; in everything to avoid confirmation messages. Ex. &amp;ldquo;copy /y source destination&amp;rdquo; &lt;/li&gt;
&lt;li&gt;For Startup Tasks use local storage since it&amp;rsquo;s a guaranteed space, and if there&amp;rsquo;s not enough space it won&amp;rsquo;t run. &lt;/li&gt;
&lt;li&gt;If you need to run a startup task that needs the IIS pool to exist, then you should use OnStart() in elevated Role &amp;ndash; This isn&amp;rsquo;t a problem since running a Role in Elevated mode doesn&amp;rsquo;t affect how the Web Application will run on IIS &lt;/li&gt;
&lt;li&gt;Process that needs to be monitored you should use a ProgramEntryPoint or NetFxEntryPoint instead of Startup Tasks &lt;/li&gt;
&lt;li&gt;Define NetworkTrafficRules in order to better protected internal access to your roles &lt;/li&gt;
&lt;li&gt;If you&amp;rsquo;re using Traffic Manager build a AppHealth page Monitor that checks if everything is OK in your Application &lt;/li&gt;
&lt;li&gt;When using Table Storage use the SaveChangesOptions.Batch to improve performance and save transactions&lt;/li&gt;
&lt;li&gt;Choosing your VMSize is important, choose accordingly to your Speed, Memory, IO and Network needs.&lt;/li&gt;
&lt;li&gt;Use Retry Logic for #SQLAzure connection and for #AppFabric Service Bus, Cache and Storage. Use &lt;a target="_blank" href="http://windowsazurecat.com/2011/02/transient-fault-handling-framework/"&gt;Transient Fault Handling Framework for SQL Azure, Windows Azure Storage, Windows Azure AppFabric Service Bus and Cache.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Don&amp;#39;t use owner for #AppFabric Service Bus. Create your own login and provide them the appropriate permissions. Check this &lt;a href="http://t.co/tzPy9xZM" title="http://t.co/tzPy9xZM"&gt;post&lt;/a&gt; by Neil Mackenzie.&lt;/li&gt;
&lt;li&gt;Don&amp;#39;t use the #SQLAzure login that you created on the Management Portal in the connection String. Create your own. This is because you need to work in the least privileges and you don&amp;rsquo;t want to use the SA for that. &lt;/li&gt;
&lt;li&gt;When using Queues instead of using GetMessage use GetMessages(count), this will help you save&amp;nbsp;transactions and improve performance of your solution&lt;/li&gt;
&lt;li&gt;If you&amp;#39;re using Workers that are Queue based (Pooling Mechanism), use a back off mechanism when no&amp;nbsp;messages are found in the queue. This will help reduce the number of transactions that are done and improve your solution performance&lt;/li&gt;
&lt;li&gt;If you&amp;#39;re&amp;nbsp;using Workers that are Queue based (Pooling Mechanism), you should consider using notifications to resume the back off mechanism. #AppFabric Service Bus will be perfect for this, but don&amp;#39;t forget to do the cost calculation to your scenario.&lt;/li&gt;
&lt;li&gt;Perform your Application Scaling process considering all options, Scale Up, Out and Down, don&amp;#39;t forget Down.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Last Updated 2011-10-21.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1801175" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Storage/default.aspx">Windows Azure Storage</category></item><item><title>BUILD WINDOWS CONFERENCE 2011 – Keynote 2</title><link>http://msmvps.com/blogs/nunogodinho/archive/2011/09/14/build-windows-conference-2011-keynote-2.aspx</link><pubDate>Thu, 15 Sep 2011 00:57:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1799561</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1799561</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1799561</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2011/09/14/build-windows-conference-2011-keynote-2.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Satya Nadella - President of Server and Tools Business @ Microsoft&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Connected Devices and Continuous Services&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Design Point&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Elastic resources&lt;/li&gt;      &lt;li&gt;Composable services&lt;/li&gt;      &lt;li&gt;data as a namespace&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Expose data as a first class namespace for other developers to use&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;identity &amp;amp; access&lt;/li&gt;      &lt;li&gt;continuous delivery&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;This design point was the base for building Windows Azure and the Windows Server 8&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Scenario: &lt;/strong&gt;Building a Metro-Style Application with Jason Zander – Corporate VP, Visual Studio @ Microsoft&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2010 &amp;amp; Windows Azure Tools for Visual Studio – September&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Managed Service Configurations&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Allow you to create several configurations for the same cloud service, like Staging, QA, Production, and so on.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Advanced Diagnostics, including profiling is now available on Windows Azure&lt;/li&gt;      &lt;li&gt;Visual Studio 11 has now the Productivity tools included in the base and not has an extension&lt;/li&gt;      &lt;li&gt;Now available to search for Copy &amp;amp; Paste code, even small sections of the code&lt;/li&gt;      &lt;li&gt;Visual Studio 11&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Designer for DirectX also available with supports for effects, alpha blending, and more.&lt;/li&gt;        &lt;li&gt;Diagnostics of DirectX viewing that gives you the frames that were rendered&lt;/li&gt;        &lt;li&gt;Diagnostics from DirectX views included with call stack&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Announcements: &lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Visual Studio 2011 Developer Preview&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Azure SDK 1.5&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Azure Toolkit for Windows 8&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;App Platform and Application LifeCycle Management (ALM)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Application Platform – Scott Guthrie – Corporate VP, Server &amp;amp; Tools Business @ Microsoft&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;ASP.NET MVC 4&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;new Style for the default site, and with security and more elements already wired up.&lt;/li&gt;        &lt;li&gt;DOM Explorer also available for Web Apps&lt;/li&gt;        &lt;li&gt;HTML Inspector is now available inside Visual Studio&lt;/li&gt;        &lt;li&gt;Live Design to enable the Page Inspector as a different Pane that allows you to view the Page Inspector and the code side by side.&lt;/li&gt;        &lt;li&gt;Bundeling and Minification&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;we reference a folder and it bundles on the server side all the contents of the folder and send it to the customer as a single and minified file&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Async and away language capabilities available on C# and VB.NET&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Enhances greatly the performance both in .NET 4.5 and Windows Server 8&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;There’s a new Mobile ASP.NET MVC template to create a new Mobile app, and also we can start using a already build ASP.NET MVC 4 project and mobile enhance it using:&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;jQuery.Mobile.MVC NuGet Package&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;jQuery.Mobile will shipped as now part of the ASP.NET and Visual Studio from now on.&lt;/li&gt;            &lt;li&gt;This also adds a new file called _Layout.Mobile.cshtml&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;Will override the layout when the site is called by a mobile device&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;Supports iPhone, Windows Phone or Android&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;.NET 4.5 and Windows Server 8 support WebSockets deeply&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;WebSocket API in .NET 4.5 that allows us to connect to WebSocket from everywhere.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Deployment&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Add Windows Azure Deployment Project is now available in every project type and will add immediately the Cloud Service project, configure and them deploy it to Windows Azure.&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;ALM – Jason Zander – Corporate VP, Visual Studio @ Microsoft&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Hosted TFS Preview – Visual Studio Team Foundation Server in Windows Azure&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;SaaS – Software as a Service&lt;/li&gt;        &lt;li&gt;Visual Studio 11 and ALM is using SCRUM Template&lt;/li&gt;        &lt;li&gt;Easily add user stories, make the sprint planning, create tasks, Task Board in order to manage the stand up meetings&lt;/li&gt;        &lt;li&gt;Works directly in Visual Studio 2010 with a specific patch&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Announcements&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;ASP.NET MVC 4&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Server 8&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;High availability &amp;amp; management&lt;/li&gt;      &lt;li&gt;Virtualization &amp;amp; cloud&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Built on top of a high availability platform&lt;/li&gt;        &lt;li&gt;Taken some parts of Windows Azure into this version&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;App Platform&lt;/li&gt;      &lt;li&gt;Identity &amp;amp; secure access&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;claims-base identity &lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;strong&gt;Note: There is a huge symmetry between Windows Azure and Windows Server &lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Capabilities – Bryon Surace – Senior Project Manager @ Microsoft&lt;/strong&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Storage&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;New File Services Manager&lt;/li&gt;          &lt;li&gt;Storage Spaces&lt;/li&gt;          &lt;li&gt;You don’t need a Phd in Storage, just connect the disks&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Networking&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt; Multiple High-Speed NICS, previously available only on HPC&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Virtualization&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Hyper-V supports now using a virtual disk from a file share&lt;/li&gt;          &lt;li&gt;Now in Windows Server 8 we can move a disk from one machine to a remote file share without stopping anything.&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Announcement&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Server 8 Developer Preview is already available for download&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;High cadence of releases&lt;/li&gt;      &lt;li&gt;Current features&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Compute&lt;/li&gt;        &lt;li&gt;Database&lt;/li&gt;        &lt;li&gt;Storage&lt;/li&gt;        &lt;li&gt;Virtual machines&lt;/li&gt;        &lt;li&gt;CDN&lt;/li&gt;        &lt;li&gt;Caching&lt;/li&gt;        &lt;li&gt;Virtual Network&lt;/li&gt;        &lt;li&gt;Service Bus&lt;/li&gt;        &lt;li&gt;Marketplace&lt;/li&gt;        &lt;li&gt;Business Intelligence&lt;/li&gt;        &lt;li&gt;Access Control&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Key services&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Database Platform&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Reporting&lt;/li&gt;          &lt;li&gt;SQL Azure&lt;/li&gt;          &lt;li&gt;SQL Server&lt;/li&gt;          &lt;li&gt;Windows Azure Storage&lt;/li&gt;          &lt;li&gt;SQL Data Sync&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Data Marketplace&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;eBay uses Bing Translator DataSet from Data Marketplace to translate the texts&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Access Control Service&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Scenario: Build a Metro-Style application with Identity &amp;amp; Access Control using Windows Azure ACS – John Shewchuk – Technical Fellow @ Microsoft&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;How to Build the Margie’s Travel app with ACS&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Using ACS and Windows 8 Security APIs&lt;/li&gt;      &lt;li&gt;All of this code is available on the Windows Azure Toolkit for Windows 8&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Announcements&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Azure Service Bus September release&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Azure Geo-Replication now enabled by default in Windows Azure Storage&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Azure Marketplace Expansion&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Additional 25 Countries available&lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;New Bing Data&lt;/strong&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Hybrid Scenario – Jeff Sandquist (Senior Director, Channel Nine @ Microsoft) and Dan Fernandez (Senior Director @ Microsoft)&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Using Service Bus Messaging&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Topics ( Reliable Messaging )&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Connected Devices and Continuous Services&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Opportunity&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Windows Server 8&lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Visual Studio 11&lt;/strong&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Personal Notes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160; &lt;/strong&gt;This was a very interesting Keynote that showed up some very cool things, like Visual Studio 11 that looks very interesting, and very slick, Windows Server 8 that is really a Server OS that leverages the elasticity that we love in the cloud, and that can help a lot make our businesses better, but the things that really impressed me was the scale up and Hyper-V capabilities of it and that it was built to leverage and use the Windows Azure and Cloud lessons that we’ve learned and bring them into our company.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Of course if you know me I’m a more Windows Azure guy and so Windows Azure was really very impressive also, and mainly the geo-replication of Windows Azure Storage is huge, because we now have the capability of having our storage replicated in more than one Windows Data Center, and this is done automatically without any need of change. This is huge in terms of disaster recovery and security of your data, since in the end of the day we don’t want to lose anything. Also the usage of Windows Azure AppFabric Service Bus Messaging is very interesting and will enable us to make more reliable solutions that is very important. So I’d say, great job Microsoft and continue to invest on those and that leveraging between Windows Azure and Windows Server 8 is very interesting and I’ll dig more in order to see exactly how it will work.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Finally the new capability that Windows Azure brings to allow that any project can be changed into a Cloud project with a single selection in the context menu is very good since it allows us to really start taking more Windows Azure into account.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1799561" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Security/default.aspx">Security</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+DataMarket/default.aspx">Windows Azure DataMarket</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/ACS/default.aspx">ACS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Storage/default.aspx">Windows Azure Storage</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Server+8/default.aspx">Windows Server 8</category></item><item><title>Things to take into account when you deliver applications for Connected Devices – Windows Azure to the rescue (EN)</title><link>http://msmvps.com/blogs/nunogodinho/archive/2011/06/16/things-to-take-into-account-when-you-deliver-applications-for-connected-devices-windows-azure-to-the-rescue-en.aspx</link><pubDate>Thu, 16 Jun 2011 21:43:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1794841</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1794841</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1794841</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2011/06/16/things-to-take-into-account-when-you-deliver-applications-for-connected-devices-windows-azure-to-the-rescue-en.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post"&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://www.google.com/buzz/api/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Currently one very important space is the development of Applications for Connected Devices like Windows Phones, Windows Slates and so on.&lt;/p&gt;  &lt;p&gt;One important elements is that we are currently going more and more to Wireless, and so it’s important to understand the current state of the art on Wireless.&lt;/p&gt;  &lt;p&gt;According to AT&amp;amp;T “We will deliver as much data over our network in the first 5 weeks of 2015 as we did all year in 2010”.&lt;/p&gt;  &lt;p&gt;Also currently there are several identified congestion factors that are affecting Wireless, like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;More subscribers with smartphones consuming data, uploading and downloading photos and videos &lt;/li&gt;    &lt;li&gt;Spectrum + cell towers + antennas + home users &lt;/li&gt;    &lt;li&gt;Mobile Operator bandwidth caps &lt;/li&gt;    &lt;li&gt;Latency of all communications between the server and the destination device, passing by the Cell Towers, Backhaul network, internet, firewalls and so on &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And so having this is mint, it’s really important to understand that we as developers cannot continue thinking that we’re going to continue developing our apps and services the same way, without thinking about these network related topics, because this will affect greatly the User Experience of our Solutions. And one important note is that UX is not only related to the User Interface (UI), like some developers try to think, it’s more then that. It’s really about having a great experience while using our applications.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So in order to do great applications for connected devices, and support millions of those devices, we need to think about scale.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Some examples of how we can scale our applications are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Making Database that almost nobody touches, since we really shouldn’t let every single device connect and work on our databases, instead we should really be doing multi-tier application to abstract those devices from the Database, and by doing that we are reducing the stress of our databases and at the same time enabling the possibility of scaling the services that really give us access to our data &lt;/li&gt;    &lt;li&gt;Place thousands of Web Servers on commodity hardware, by scaling out their app &lt;/li&gt;    &lt;li&gt;Replicate Data &lt;/li&gt;    &lt;li&gt;Scale horizontally &lt;/li&gt;    &lt;li&gt;Use NoSQL databases at the edge &lt;/li&gt;    &lt;li&gt;Shard our data using small tables for fast access &lt;/li&gt;    &lt;li&gt;Place Load-Balancing at every tier &lt;/li&gt;    &lt;li&gt;Use Hundreds of terabytes of data in an in-RAM distributed cache (For example Facebook uses MemCache and has something like 300 TB of data in memcache) &lt;/li&gt;    &lt;li&gt;Use pre-compile elements, since compiling slow (For example Facebook uses PHP because they think that is very productive for them, but it didn’t work very well in terms of compiling, so they made a team to create a PHP to C++ compiler in order to get more performance) &lt;/li&gt;    &lt;li&gt;use MapReduce pattern for parallel analysis of “Big Data” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Some of the apps that are doing this are, Bing, Facebook, Twitter, Google, Zynga, and so on.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So how in order to achieve that kind of scale we have Windows Azure. But what should we do to take the best out of Windows Azure for Connected Devices?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scale-out. This is easy in Windows Azure, because we can define the number of instance we want of a particular role &lt;/li&gt;    &lt;li&gt;SQL Azure should be never touched by the Devices. Instead we should use:      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;In terms of Outbound Data &lt;/strong&gt;- Worker roles that replicate outbound data from SQL Azure to NoSQL Azure Table Storage &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;In terms of inbound Data - &lt;/strong&gt;Worker Role move inbound data from Azure queues to SQL Azure &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Use Distributed caching, that in Windows Azure is handled by AppFabric Caching &lt;/li&gt;    &lt;li&gt;Do wireless efficient Services. For example using Web Roles that expose REST + JSON WCF Services is very interesting, because it saves message size, and by doing so saves time and money &lt;/li&gt;    &lt;li&gt;Also important is making our devices cache data and work on it offline. Not every thing should be made “live” and on top of “live” data. Don’t stress the wireless connection &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I hope this helps you think better about your Connected Device Apps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1794841" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+Services/default.aspx">.NET Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA+Services/default.aspx">RIA Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA/default.aspx">RIA</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Phone+7/default.aspx">Windows Phone 7</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Performance/default.aspx">Performance</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Storage/default.aspx">Windows Azure Storage</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Caching/default.aspx">Caching</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/CodeProject/default.aspx">CodeProject</category></item><item><title>MIX11 - Session Review - Powering Data on the Web and Beyond with SQL Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/2011/04/22/mix11-session-review-powering-data-on-the-web-and-beyond-with-sql-azure.aspx</link><pubDate>Fri, 22 Apr 2011 23:21:54 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1792207</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1792207</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1792207</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2011/04/22/mix11-session-review-powering-data-on-the-web-and-beyond-with-sql-azure.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post"&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://www.google.com/buzz/api/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;David Robinson &lt;/strong&gt;(Senior Lead Program Manager)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Relational Database&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Based on SQL Server 2008 R2 engine&lt;/li&gt;    &lt;li&gt;Use same tools and data access frameworks&lt;/li&gt;    &lt;li&gt;Six global datacenters&lt;/li&gt;    &lt;li&gt;High Availability &amp;amp; Redundancy&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Reads are completed at the primary&lt;/li&gt;      &lt;li&gt;Writes are replicated to a quorum of secondaries&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Roadmap&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;MIX08&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Introduced SQL Server Data Services (ACE type)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;MIX09&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Introduce SQL Data Services (Real Relational Database)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;MIX10&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;New Features announced&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;50 GB Database&lt;/li&gt;        &lt;li&gt;PHP Support&lt;/li&gt;        &lt;li&gt;MARS support&lt;/li&gt;        &lt;li&gt;OData Endpoint Preview&lt;/li&gt;        &lt;li&gt;Geo Spatial Data Types&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;ASP.NET MVC 3&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Razor view Engine which provides a very streamlined syntax for writing clean and concise views.&lt;/li&gt;    &lt;li&gt;Improved support for Dependency Injection&lt;/li&gt;    &lt;li&gt;Global Action Filters&lt;/li&gt;    &lt;li&gt;jQuery based Unobtrusive Ajax and Client Validation&lt;/li&gt;    &lt;li&gt;ViewBag property for dynamic access to ViewData&lt;/li&gt;    &lt;li&gt;Support for view engine selection in the New Project and Add View dialog&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Extending the Reach of Data&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;This is achieved using ODATA protocol&lt;/li&gt;    &lt;li&gt;Cloud Data Services&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Windows Azure Tables&lt;/li&gt;      &lt;li&gt;SQL Azure&lt;/li&gt;      &lt;li&gt;Windows Azure MarketPlace DataMarket&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Powering Web/AJAX Experiences&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Consuming ODATA via jQuery &amp;amp; JSON&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Powering Windows Phone 7&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;ODATA libraries available for Windows Phone 7&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Powering Interoperability on Other platforms&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Why does Performance matters?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;More responsive applications&lt;/li&gt;    &lt;li&gt;Faster page load times&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;8 seconds vs 3 seconds&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Higher interactivity – new type of applications&lt;/li&gt;    &lt;li&gt;Better User Experience – more $$$$&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Data Sync&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sync within the Cloud&lt;/li&gt;    &lt;li&gt;Read scale-out via multiple copies&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;reporting&lt;/li&gt;      &lt;li&gt;web site reference data&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Read-write scale-out via multiple copies:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;ex. geo located web apps&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Same or different data centers&lt;/li&gt;    &lt;li&gt;Key features&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;No-Code sync configuration&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Easily define data to be synchronized and locations&lt;/li&gt;        &lt;li&gt;Choose how often data is synchronized&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Full Data Synchronization Capabilities&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Two-way sync of same data, as well as one-way sync&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Conflict Handling&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Detect and resolve conflicts caused by the same data being changed in multiple locations&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Logging and Monitoring&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Administration capabilities for tracking usage&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Scale&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Service scales as resources requirements grow&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Currently there are 2 CTPs available&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;CTP 1 publicly available&lt;/li&gt;      &lt;li&gt;CTP 2 invitation only&lt;/li&gt;      &lt;li&gt;CTP 3 will be available by the end of the summer and will be feature complete&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Geo Available Applications&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Azure Traffic Manager&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;This will help handle geo-locating SQL Azure Databases&lt;/li&gt;      &lt;li&gt;This will manage the traffic&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;SQL Azure Data Sync&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Syncs the SQL Azure Databases between regions&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;CY11 Investment Themes&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Managed Services&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Data Protection / Recovery&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Local Backup/Point in Time Restore: to recover from user/apps errors&lt;/li&gt;        &lt;li&gt;Geo Backup/Disaster Recovery from data center/geographical disasters&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;New Data Movement Capabilities&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;DB Import/Export of data and schema between SQL Azure and SQL Server&lt;/li&gt;        &lt;li&gt;Migration Support to SQL Azure from Sybase, in addition to existing support for Access, MySQL and Oracle&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Enhanced Management Experiences&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Enhanced portal based experiences&lt;/li&gt;        &lt;li&gt;Multiple DB administrators per subscriptions to support enterprise scenarios&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Scale on Demand&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Scale-out with Federations&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Scale to virtually unlimited size to host very large databases across multiple servers&lt;/li&gt;        &lt;li&gt;Better support for multi-tenant applications with numerous tenants&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Scale-up and Scale-down Databases&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Scale beyond 50GB and less than 1GB&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Performance Predictability&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Reserve compute capacity with Resource SLA&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Enhanced multi-tenancy support&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;API level support for multiple DB server per subscription, provisioning &amp;amp; de-provisioning&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Faster Innovation&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Rich Insights with Reporting as a Service&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Ability to author rich reports, host in Azure and view in on-premise or cloud apps&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Spanning Apps with Sync Service&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Synchronize data between SQL Azure DBs between SQL Azure &amp;amp; SQL Server&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Rich Developer Experiences&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Professional Devs: VS “Juneau”&lt;/li&gt;        &lt;li&gt;Department Devs: LightSwitch&lt;/li&gt;        &lt;li&gt;Java Devs: supported JDBC driver&lt;/li&gt;        &lt;li&gt;International Devs: Localized Azure Portal&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Data Market Enhancements&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;International rollout&lt;/li&gt;        &lt;li&gt;Enhanced Content Management&lt;/li&gt;        &lt;li&gt;Integration with Denali, Office and CRM&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlazure.com"&gt;http://www.sqlazure.com&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/sqlazure"&gt;http://blogs.msdn.com/sqlazure&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlazure.com/community"&gt;http://www.sqlazure.com/community&lt;/a&gt; – Tutorials&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlazure.com/getstarted"&gt;http://www.sqlazure.com/getstarted&lt;/a&gt; – Free Trial&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1792207" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/MIX11/default.aspx">MIX11</category></item><item><title>Windows Azure Security Essentials – Part 1/N – Security Overview</title><link>http://msmvps.com/blogs/nunogodinho/archive/2011/02/08/windows-azure-security-essentials-part-1-n-security-overview.aspx</link><pubDate>Tue, 08 Feb 2011 23:35:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1787865</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1787865</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1787865</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2011/02/08/windows-azure-security-essentials-part-1-n-security-overview.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post"&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://www.google.com/buzz/api/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&amp;#160;&amp;#160; Security is one of the very important parts of Cloud Computing, since we are in a completely new environment that the ones we are used to. When using Cloud Computing “The Platform is managed for us” rather, the “Us managing our platform”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Another thing that is completely different between the On-Premise and the Platform as a Service Model, is because instead of having full control of the platform (Physical/Network/Host/Application and Data), we are really only controlling the Data and the Application, since the rest is the responsibility of our vendor, in the Windows Azure Service Platform case this is Microsoft. But having this managed by Microsoft, we need assurance that our data is secure, and protected even from Microsoft Admins.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; So some of the Cloud Security Concerns are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Where is my data located? Is the Data Stored in some place that is possible based on my country laws and regulations?&lt;/li&gt;    &lt;li&gt;Is the Microsoft Cloud “secure”?&lt;/li&gt;    &lt;li&gt;Who can see my data?&lt;/li&gt;    &lt;li&gt;How do you make sure my company data follows “the rules”? (Country rules and laws)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; And for all of this Cloud Security needs a &lt;em&gt;Mind Shift&lt;/em&gt;, since:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Much of the traditional infrastructure security moves to the platform and application layers, and we are unable to change them. So we need to do something different like:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;So Network Access Control Lists and Firewalls become host packet filters and virtual filters&lt;/li&gt;      &lt;li&gt;Reduction of the attack surface, least privilege, user authentication and input sanitization become key concerns when designing and developing an application.&lt;/li&gt;      &lt;li&gt;Also the Platform and Network Level encryption will still play a very important role, but the most important point is that the &lt;strong&gt;developer becomes more responsible for the application security and encryption design.&lt;/strong&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; In order to manage the Security on Windows Azure we can use:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Service Management Security&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Customers create a Windows Azure subscription using LiveID credentials&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Live ID is one of the longest running Internet Authentication Services available&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Hosted services and storage accounts managed through LiveID or a Service Management API or SMAPI with user-generated public/private key pairs.&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;SMAPI protocol runs over SSL and it’s authenticated based on the user-generated public/private keys.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;All communications between the several Windows Azure internal components are encrypted using SSL, and also the communication between the Fabric Controller and the managed nodes is unidirectional.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; By default the Web Roles run in partial trust mode, and the recommendation is that all public facing roles should use Partial Trust as well as avoiding to have secret information. Instead we should really pass that information to a higher level trust role, for example to a Worker Role running on Full-Trusted mode and only with Internal Endpoints.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; Within each Windows Azure Subscription a developer can create multiple storage account, and each account has 2 Keys in order to provide the key rollover capability, the same way as we change our passwords frequently in order to maintain security.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;SQL Azure Security&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Same security Model as in SQL Server Authentication Model&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;SQL Server Logins&lt;/strong&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Authenticate access to SQL Azure&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;strong&gt;Database Users&lt;/strong&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Grant access to the database level&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;strong&gt;Database Roles&lt;/strong&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Group users and grant to the database level&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Only SQL Server authentication is supported&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;User must provide credentials every time they connect&lt;/li&gt;      &lt;li&gt;Password resets will not force a connection to be re-authenticated&lt;/li&gt;      &lt;li&gt;Every 60 minutes has passed since last authentication, a re-authentication is performed (done automatically, and if there is a password update, this will be used instead)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;During the provisioning process, SQL Server created a login for you that is the server-level principal similar to SA (System Administrator) login in SQL Azure.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Used to create additional user accounts&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Only available thought port TCP 1433, which needs that customers configure their internal firewalls to allow Outgoing request to this port.&lt;/li&gt;    &lt;li&gt;Source IP address needs to be authorized in SQL Azure Firewall&lt;/li&gt;    &lt;li&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1787865" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Security/default.aspx">Security</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>PDC10 – Keynote</title><link>http://msmvps.com/blogs/nunogodinho/archive/2010/10/28/pdc10-keynote.aspx</link><pubDate>Thu, 28 Oct 2010 18:29:46 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1780970</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1780970</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1780970</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2010/10/28/pdc10-keynote.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post"&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://www.google.com/buzz/api/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;A New Era of Opportunity&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Steve Ballmer – CEO @ Microsoft&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Device: &lt;/strong&gt;Windows 7, Windows Phone 7, XBOX 360 &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Internet Explorer and HTML5 is the glue to bring all of them together&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Cloud: &lt;/strong&gt;Windows Azure, SQL Azure, XBOX Live, Bing, Office 365, Windows Live&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Internet Explorer 9 and HTML5&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Features      &lt;ul&gt;       &lt;li&gt;Rich Graphics &lt;/li&gt;        &lt;li&gt;Next Level of Interactivity &lt;/li&gt;        &lt;li&gt;Same Markup &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Fast, Clean, Trusted and Interoperable &lt;/li&gt;    &lt;li&gt;The most downloaded Beta ever &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Dean Hachamovitch – IE 9 &lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Samples:      &lt;ul&gt;       &lt;li&gt;KFXP &lt;/li&gt;        &lt;li&gt;Track Splash &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Pin Sites to the Taskbar &lt;/li&gt;    &lt;li&gt;Interact with Windows 7 Jump Lists, Sneak Peek, Previews and so on using JavaScript &lt;/li&gt;    &lt;li&gt;IE9 Platform Preview 6 Available Today – &lt;a href="http://ietestdrive.com"&gt;http://ietestdrive.com&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Different kind of phone, UX paradigm &lt;/li&gt;    &lt;li&gt;New developer perspective &lt;/li&gt;    &lt;li&gt;User as the Central point of the UX &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; Amazon Kindle App for Windows Phone 7&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scott Guthrie – VP @ Microsoft – Developing Windows Phone 7 App&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;New Capabilities in the Future of Windows Phone 7 Tools&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Performance Analysis Tool          &lt;ul&gt;           &lt;li&gt;Available information out-of-the-box:              &lt;ul&gt;               &lt;li&gt;Frame rate &lt;/li&gt;                &lt;li&gt;CPU Usage &lt;/li&gt;                &lt;li&gt;Storyboard &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure with Bob Muglia – President @ Microsoft&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Cloud Computing this really gives us IT as a Service&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;IaaS &lt;/li&gt;        &lt;li&gt;PaaS &lt;/li&gt;        &lt;li&gt;SaaS &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Comparing Platforms Today and PaaS&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Focus/Model&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Platform Today&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Platform as a Service (PaaS)&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Management&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Server, VM, Network, Storage, App&lt;/td&gt;          &lt;td valign="top" width="200"&gt;App&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Maintenance&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Patch, Service Release, New Version&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Maintained for you&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Deployment&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Assembly Required&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Read-Made Services&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Deployment&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Custom, Inconsistent&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Standardization&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Performance&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Plan for Peak Load&lt;/td&gt;          &lt;td valign="top" width="200"&gt;On-Demand Scale&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Failure&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Built to avoid and recover from failure&lt;/td&gt;          &lt;td valign="top" width="200"&gt;Built to &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Foundation:&lt;/strong&gt; Compute, Storage, Networking, Identity &amp;amp; Security &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Services&lt;/strong&gt;: Web, HPC, Caching, Messsaging, Workflow, Content Delivery &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Information&lt;/strong&gt;: Relational Databases, Reporting &amp;amp; Analysis, Data Sync &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Tools&lt;/strong&gt;: Visual Studio, System Center &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Azure Platform&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Windows Azure &lt;/li&gt;        &lt;li&gt;SQL Azure          &lt;ul&gt;           &lt;li&gt;SQL Server: Designed to run on one server or in a cluster of Servers &lt;/li&gt;            &lt;li&gt;SQL Azure: Designed to run on thousands of servers across Data Centers with backups and so recoverability and so on &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;.NET &lt;/li&gt;        &lt;li&gt;Visual Studio &lt;/li&gt;        &lt;li&gt;         &lt;div align="left"&gt;System Center&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;You Decide: &lt;/strong&gt;Language, Development Framework, Development Tool, Management Tool, Data Center (Windows Azure Appliance) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Vision: &lt;/strong&gt;It’s All about the App       &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Move&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Announcing: &lt;/strong&gt;              &lt;ul&gt;               &lt;li&gt;Windows Azure Virtual Machine Role &lt;/li&gt;                &lt;li&gt;Server Application Virtualization &lt;/li&gt;                &lt;li&gt;Image Creation in the Cloud coming up next Year &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Enhance&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Announcing:&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;Extra small Instance &lt;/li&gt;                &lt;li&gt;Remote Desktop &lt;/li&gt;                &lt;li&gt;Full IIS &lt;/li&gt;                &lt;li&gt;Startup Tasks &lt;/li&gt;                &lt;li&gt;Virtual Network &lt;/li&gt;                &lt;li&gt;Elevated Privileges &lt;/li&gt;                &lt;li&gt;Windows Server 2008 R2 Roles &lt;/li&gt;                &lt;li&gt;Multiple Administrators &lt;/li&gt;                &lt;li&gt;Windows Connect                  &lt;ul&gt;                   &lt;li&gt;Access to on-premise resources for cross-premise apps &lt;/li&gt;                    &lt;li&gt;Support for Domain-joining VMs &lt;/li&gt;                    &lt;li&gt;Direct role-instance connectivity for easier development &lt;/li&gt;                    &lt;li&gt;Use your existing remote administrator tools &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Windows Azure AppFabric                  &lt;ul&gt;                   &lt;li&gt;Access Control (Support for OAuth, LiveId, GoogleId, Facebook,&amp;#160; …) &lt;/li&gt;                    &lt;li&gt;Caching                      &lt;ul&gt;                       &lt;li&gt;Windows Server AppFabric Caching in the Cloud &lt;/li&gt;                        &lt;li&gt;Same API as the On-premise version &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Service Bus ( now supports Biztalk connections ) &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;SQL Azure                  &lt;ul&gt;                   &lt;li&gt;Reporting Services                      &lt;ul&gt;                       &lt;li&gt;Standard Report, and everything is the same &lt;/li&gt;                        &lt;li&gt;Publish you Reports into the Cloud &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Data Sync &lt;/li&gt;                    &lt;li&gt;What’s new in SQL Azure                      &lt;ul&gt;                       &lt;ul&gt;                         &lt;li&gt;pre-Recorded Video - &lt;a title="http://player.microsoftpdc.com/Session/91e8c18c-b223-4695-a70d-eaa762766db9" href="http://player.microsoftpdc.com/Session/91e8c18c-b223-4695-a70d-eaa762766db9"&gt;http://player.microsoftpdc.com/Session/91e8c18c-b223-4695-a70d-eaa762766db9&lt;/a&gt; &lt;/li&gt;                       &lt;/ul&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;What’s new in SQL Azure Reporting Services                      &lt;ul&gt;                       &lt;li&gt;pre-recorded Video - &lt;a title="http://player.microsoftpdc.com/Session/5007e9c3-03cd-41b4-9e1c-4eb17cd60e37" href="http://player.microsoftpdc.com/Session/5007e9c3-03cd-41b4-9e1c-4eb17cd60e37"&gt;http://player.microsoftpdc.com/Session/5007e9c3-03cd-41b4-9e1c-4eb17cd60e37&lt;/a&gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;New Windows Azure Platform Management Portal &lt;/li&gt;                &lt;li&gt;Multiple users &amp;amp; roles for management &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Transform&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Windows Azure AppFabric&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;&lt;strong&gt;Announcing:&lt;/strong&gt;                   &lt;ul&gt;                   &lt;li&gt;Composite App Service &amp;amp; Workflow                      &lt;ul&gt;                       &lt;li&gt;You can use this to composite apps using services not only from Azure &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Composition Model &lt;/li&gt;                    &lt;li&gt;Tools                      &lt;ul&gt;                       &lt;ul&gt;                         &lt;li&gt;Visual Tools for Visual Studio 2010 for modeling your &lt;/li&gt;                       &lt;/ul&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Windows Azure Connect plugin is very cool &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Visual Studio Team Foundation Server&lt;/strong&gt; on &lt;strong&gt;Windows Azure&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;CTP available &lt;strong&gt;N&lt;/strong&gt;ext year&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;&lt;a title="http://blackstock.cloudapp.net/" href="http://blackstock.cloudapp.net/"&gt;http://blackstock.cloudapp.net/&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Announcing Windows Azure Marketplace TODAY&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Data Market (Previously known as Project “Dallas”&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;35+ Content partners &lt;/li&gt;            &lt;li&gt;60+ Data Offerings &lt;/li&gt;            &lt;li&gt;100+&amp;#160; Offers &lt;/li&gt;            &lt;li&gt;Supported via OData &lt;/li&gt;            &lt;li&gt;&lt;a href="http://datamarket.azure.com"&gt;http://datamarket.azure.com&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780970" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Phone+7/default.aspx">Windows Phone 7</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/sql+azure+reporting+services/default.aspx">sql azure reporting services</category></item><item><title>Check SQL Azure Database Associated Cost</title><link>http://msmvps.com/blogs/nunogodinho/archive/2010/10/18/check-sql-azure-database-associated-cost.aspx</link><pubDate>Tue, 19 Oct 2010 00:16:42 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1780232</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1780232</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1780232</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2010/10/18/check-sql-azure-database-associated-cost.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post"&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://www.google.com/buzz/api/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;font size="2"&gt;&amp;#160; Ok so I found out exactly the size of every table in my SQL Azure Database, but now I’d like to know a little bit more, since I’m paying and I want to know how the payment is related to each of my tables. So in order to do this and after reading this blog &lt;a href="http://blogs.msdn.com/b/sqlazure/archive/2010/08/19/10051969.aspx" target="_blank"&gt;post&lt;/a&gt; from the SQL Azure Team, this is the statement I’ve come up with:&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;DECLARE @SizeInBytes bigint         &lt;br /&gt;SELECT @SizeInBytes =          &lt;br /&gt;(SUM(reserved_page_count) * 8192)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FROM sys.dm_db_partition_stats&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;DECLARE @Edition sql_variant         &lt;br /&gt;SELECT&amp;#160; @Edition =DATABASEPROPERTYEX ( DB_Name() , &amp;#39;Edition&amp;#39; )&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;Select @Edition, @SizeInBytes&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; So now I have the Size used in Bytes and the Edition of the SQL Azure Database that I’m using, and so I can now calculate how much is the cost per byte.&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;DECLARE @CostPerByte float         &lt;br /&gt;SELECT&amp;#160;&amp;#160; @CostPerByte = (CASE           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 1 THEN (CASE @Edition WHEN &amp;#39;Web&amp;#39; THEN 9.99 ELSE 99.99 END)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 5 THEN (CASE @Edition WHEN &amp;#39;Web&amp;#39; THEN 49.95 ELSE 99.99 END)           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 10 THEN 99.99&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 20 THEN 199.98          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 30 THEN 299.97&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 40 THEN 399.96&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHEN @SizeInBytes/1073741824.0 &amp;lt; 50 THEN 499.95&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END)&amp;#160; / @SizeInBytes&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; Ok. Now I know exactly what is the cost per byte, and so what I need to know is exactly how much cost is associated with each Table.&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;select sys.objects.name, @CostPerByte * (sum(reserved_page_count) * 8192)         &lt;br /&gt;from sys.dm_db_partition_stats,           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sys.objects          &lt;br /&gt;where sys.dm_db_partition_stats.object_id = sys.objects.object_id          &lt;br /&gt;group by sys.objects.name&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; So with this I know exactly how my cost is being split by each table. So now I only want to see if everything in the end comes up to the correct result.&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;Select ROUND(SUM(Cost.TotalCost), 2)         &lt;br /&gt;from (&amp;#160;&amp;#160;&amp;#160; select sys.objects.name TableName, @CostPerByte * sum(reserved_page_count) * 8192 TotalCost          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; from sys.dm_db_partition_stats,           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sys.objects          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; where sys.dm_db_partition_stats.object_id = sys.objects.object_id          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; group by sys.objects.name) Cost&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; Ok. So the result is correct. &lt;strong&gt;Sweet.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780232" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>Check SQL Azure Database Size</title><link>http://msmvps.com/blogs/nunogodinho/archive/2010/10/18/check-sql-azure-database-size.aspx</link><pubDate>Mon, 18 Oct 2010 23:26:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1780228</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1780228</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1780228</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2010/10/18/check-sql-azure-database-size.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post"&gt;&lt;/a&gt;&lt;script type="text/javascript" src="http://www.google.com/buzz/api/button.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;font size="2"&gt;&amp;#160; I was looking at my SQL Azure Database and suddenly I saw that I had to clean some space because it was already beyond the maximum quota that I had defined for the Database, but I needed to know exactly where the most space was being used in order to better understand not only what was the size, but why and where was the space being used. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160; So my first action was, Ok so I’ll use the storeprocedure sp_spaceused.&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Exec sp_spaceused&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160; So with this I know exactly the space that my database is using, and if I use this:&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Exec sp_spaceused &amp;lt;TableName&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&amp;#160; &lt;font size="2"&gt;I’ll get the space that is being used by the Table that I specify.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; Ok. So I tried this on my local SQL Server and all was good, and so off to SQL Azure, and I get the following error:&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000" size="2"&gt;Could not find stored procedure &amp;#39;sp_spaceused&amp;#39;.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#000000" size="2"&gt;&amp;#160;&amp;#160; So. Not good. How will I get the needed results? So I used the following statement:&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;select sum(reserved_page_count) * 8.0 / 1024         &lt;br /&gt;from sys.dm_db_partition_stats&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160; And this statement gives me the exact size that I have in my SQLAzure Database, but I need to know exactly how much space I have in each table, so I use the following statement:&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;select sys.objects.name, sum(reserved_page_count) * 8.0 / 1024         &lt;br /&gt;from sys.dm_db_partition_stats,           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sys.objects          &lt;br /&gt;where sys.dm_db_partition_stats.object_id = sys.objects.object_id          &lt;br /&gt;group by sys.objects.name&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; This last statement gives me a list of all tables that exist in the specified SQL Azure Database and the exact size that they have.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; I used this based on Ryan Dunn’s blog post available &lt;a href="http://dunnry.com/blog/CalculatingTheSizeOfYourSQLAzureDatabase.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160; Hope this helps you.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780228" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>PDC09 – Day Two – Developing Advanced Applications with Windows Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-developing-advanced-applications-with-windows-azure.aspx</link><pubDate>Wed, 18 Nov 2009 22:56:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740583</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740583</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740583</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-developing-advanced-applications-with-windows-azure.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Steve Marx – Technology Strategist&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now we can have the ability to have more than a Web and a Work Role, since we have several different types of Roles. &lt;/p&gt;  &lt;p&gt;Example:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;IIS Role&lt;/li&gt;    &lt;li&gt;SMTP Role&lt;/li&gt;    &lt;li&gt;…&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now the there is the new Storage API that is currently being shipped with the SDK and not only a sample.&lt;/p&gt;  &lt;p&gt;Some new features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Inter-role communication&lt;/li&gt;    &lt;li&gt;Non-Http endpoints&lt;/li&gt;    &lt;li&gt;Role instance lifecycle&lt;/li&gt;    &lt;li&gt;VM Sizes&lt;/li&gt;    &lt;li&gt;Full-trust in the Cloud&lt;/li&gt;    &lt;li&gt;Local Storage&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Upgrading the local storage&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;How to model you application&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Draw the boxes and arrows&lt;/li&gt;    &lt;li&gt;Each box is a role&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Which receive traffic from the internet&lt;/li&gt;      &lt;li&gt;Which need IIS?&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Receive Traffic: Input Endpoints&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Different ports on same domain&lt;/li&gt;    &lt;li&gt;There’s always load balancing&lt;/li&gt;    &lt;li&gt;Declared in ServiceDefinition.csdef&lt;/li&gt;    &lt;li&gt;Handled by IIS&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;InputEndpoint&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Defined the protocol, port and name of the endpoint that will opened in order to listen for the requests&lt;/li&gt;    &lt;li&gt;Protocols supported&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Http&lt;/li&gt;      &lt;li&gt;Https&lt;/li&gt;      &lt;li&gt;Tcp&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;RoleEnvironment &lt;/strong&gt;is the class that allow us to communicate with the Windows Azure fabric, for example in order to know the Configurations&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Aside about Email&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Spammers will use Windows Azure then the IP ranges can get blacklisted&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Best Practices: Use a relay service in order not to have your mails marked as SPAM&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Send mail via a rely mail&lt;/li&gt;    &lt;li&gt;Receive mail is fine&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Searching&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Lucene.NET&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Popular search API&lt;/li&gt;      &lt;li&gt;.NET port of original Java implementation&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Index data&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Bring index up to speed on startup&lt;/li&gt;      &lt;li&gt;Continually update index&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Serve searched (via WCF)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Asynchronous Work without a Queue&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Queues deliver messages to one worker only&lt;/li&gt;    &lt;li&gt;We need every worker to see the message&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Solution&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;use Table instead&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Build your own secondary index&lt;/li&gt;          &lt;li&gt;Order references&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Initialization of Roles&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;Now we have:&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;OnStart() – “busy” state, initialization&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Run() – do work&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;OnStop() – traffic stops, graceful shutdown&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p align="left"&gt;&lt;strong&gt;Internal Endpoints&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;Declare endpoints in ServiceDefinition.csdef&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;API to find out what port to listen on RoleEnvironment in Order to know if the port or anything change about the endpoint since the last call&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="left"&gt;&lt;strong&gt;How to Get More RAM&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;RAMDiectory pouts everything in memory&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Choose the VM Size:&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;Small&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Medium&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Large&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Extra-Large&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740583" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+Services/default.aspx">.NET Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>PDC09 – Day One – SQL Azure Present &amp; Futures</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-sql-azure-present-amp-futures.aspx</link><pubDate>Tue, 17 Nov 2009 23:37:57 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740361</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740361</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740361</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-sql-azure-present-amp-futures.aspx#comments</comments><description>&lt;p&gt;Data Platform as a Service&lt;/p&gt;  &lt;p&gt;In the future will have Reporting, Data Analytics&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Database&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Relational Database service&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SQL Server technology foundation&lt;/li&gt;      &lt;li&gt;Scalable&lt;/li&gt;      &lt;li&gt;Symmetrical&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Provisioning&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Each account has zero or more servers&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Azure wide provisioned in a common portal&lt;/li&gt;      &lt;li&gt;Billing instrument&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Each server has one or more databases&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;contains metadata about the databases&lt;/li&gt;      &lt;li&gt;Unit of authentication and security&lt;/li&gt;      &lt;li&gt;Unit of Geo-location&lt;/li&gt;      &lt;li&gt;The server is a logical grouping of you DBs&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Each database has standard SQL Object&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Unit of consistency&lt;/li&gt;      &lt;li&gt;Contains users, tables, views, indexes, and so on,&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Global Availability&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;North Europe&lt;/li&gt;    &lt;li&gt;Southeast Asia&lt;/li&gt;    &lt;li&gt;North and South USA&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Futures&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Goal: &lt;/strong&gt;Provide and end-to-end experience for enterprise departmental apps and Saas ISVs scenarios&lt;/li&gt;    &lt;li&gt;Improved Tools&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Today we have&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;VS, SSMS, ADO.NET, ADO.NET Data Service&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Data Backups&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Multiple replicas of all databases with automatic failover. System backups for additional protection&lt;/li&gt;      &lt;li&gt;Use Database Clone to create a clone of the Database with every capabilities of the original one&lt;/li&gt;      &lt;li&gt;During 1H 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Continuous Backups&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Configurable retention and lag period&lt;/li&gt;      &lt;li&gt;Backups available for read operations&lt;/li&gt;      &lt;li&gt;Local and regional options&lt;/li&gt;      &lt;li&gt;During 2H 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Operational Models&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SaaS&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Provisioning APIs for ISVs&lt;/li&gt;        &lt;li&gt;Template database support&lt;/li&gt;        &lt;li&gt;Meta-data tracking&lt;/li&gt;        &lt;li&gt;Additional billing scenarios&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Scale-out support –Today&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Databases and workloads partitioning is a classic&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Better price/performance&lt;/li&gt;          &lt;li&gt;Levels of throughput not possible with a single machine&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;What SQL Azure addresses&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt; Highly available service on top of commodity hardware&lt;/li&gt;          &lt;li&gt;Zero administration&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;There will be available several options and the 10GBs of space is not an issue&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Customer Feedback&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add support for profiler, DMV’s&lt;/li&gt;    &lt;li&gt;SQLCLR&lt;/li&gt;    &lt;li&gt;and much more&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Codename “Vidalia”&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sharing to trustworthy collaboration&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Cloud is a grate place to connect&lt;/li&gt;      &lt;li&gt;Empowers multiple parties&lt;/li&gt;      &lt;li&gt;Businesses need control&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Very interesting demos, need to see more about it.&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740361" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item></channel></rss>