<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Nuno Filipe Godinho</title><link>https://weblogs.asp.net:443/nunogodinho/</link><description>All about WebDevelopment (ASP.NET &amp; Silverlight)</description><item><title>Microsoft Windows Azure Development Cookbook by Neil Mackenzie</title><link>https://weblogs.asp.net:443/nunogodinho/microsoft-windows-azure-development-cookbook-by-neil-mackenzie</link><description>&lt;p&gt;For those of you interested in a good book about Microsoft Windows Azure Development you should really read the &lt;strong&gt;“Microsoft Windows Azure Development Cookbook” &lt;/strong&gt;in &lt;a href="http://www.packtpub.com/microsoft-windows-azure-development-cookbook/book"&gt;http://www.packtpub.com/microsoft-windows-azure-development-cookbook/book&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Currently I’m still reading but I’ll post a review about it as soon as I finish my reading.&lt;/p&gt;</description><pubDate>Thu, 08 Sep 2011 15:57:17 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/microsoft-windows-azure-development-cookbook-by-neil-mackenzie</guid><category>Windows Azure</category><category>Windows Azure Service Platform</category><category>Windows Azure Storage</category></item><item><title>Things to take into account when you deliver applications for Connected Devices – Windows Azure to the rescue</title><link>https://weblogs.asp.net:443/nunogodinho/things-to-take-into-account-when-you-deliver-applications-for-connected-devices-windows-azure-to-the-rescue</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/06/16/things-to-take-into-account-when-you-deliver-applications-for-connected-devices-windows-azure-to-the-rescue.aspx"&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;</description><pubDate>Thu, 16 Jun 2011 21:45:36 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/things-to-take-into-account-when-you-deliver-applications-for-connected-devices-windows-azure-to-the-rescue</guid><category>.NET 4.0</category><category>.NET Services</category><category>Architecture</category><category>Caching</category><category>Cloud Computing</category><category>Patterns</category><category>Performance</category><category>RIA Services</category><category>SQL Azure</category><category>Windows Azure</category><category>Windows Azure Service Platform</category><category>Windows Azure Storage</category><category>Windows Phone 7</category></item><item><title>Session Review - Migrating Apps into Windows Azure</title><link>https://weblogs.asp.net:443/nunogodinho/session-review-migrating-apps-into-windows-azure</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/05/09/session-review-migrating-apps-into-windows-azure.aspx"&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;Simon Davies @ Microsoft&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Not all applications, services and data will mode to or be created in Windows Azure      &lt;ul&gt;       &lt;li&gt;Technology Fit – Windows Azure Service / Programming Model &lt;/li&gt;        &lt;li&gt;Data – some data will remain on premise &lt;/li&gt;        &lt;li&gt;Economics – not worth moving some applications &lt;/li&gt;        &lt;li&gt;Timing – cannot move everything at once &lt;/li&gt;        &lt;li&gt;SaaS – some applications will be provided by SaaS vendors &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;What capabilities does Windows Azure provide to help migrate and connect? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Rules/Considerations about Windows Azure Applications&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Azure apps is built from one or more roles &lt;/li&gt;    &lt;li&gt;A Windows Azure apps runs multiple IDENTICAL STATELESS instances of each role      &lt;ul&gt;       &lt;li&gt;Stateless          &lt;ul&gt;           &lt;li&gt;This is true but you can always use the Role File System is needed, what happens is that it won’t be permanent since if the machine fails the state in that machine won’t be maintained. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;A Windows Azure apps behaves correctly when any role fails &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Roles&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Web Role : the role is a &lt;strong&gt;web app &lt;/strong&gt;hosted in IIS &lt;strong&gt;on Microsoft’s Windows Image&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;Worker Role: the role is an &lt;strong&gt;app &lt;/strong&gt;hosted &lt;strong&gt;on Microsoft’s Windows Machine&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;VM Role: The role is a &lt;strong&gt;pre-loaded app hosted on YOUR Windows Image&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;don’t forget that it’s not a persistent VM, is transient &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Types of usage:      &lt;ul&gt;       &lt;li&gt;Web Role &lt;/li&gt;        &lt;li&gt;Worker Role &lt;/li&gt;        &lt;li&gt;Admin Web or Worker Role (same roles as previously but with some more Startup Tasks that allows you to customize the Microsoft’s Windows Image) &lt;/li&gt;        &lt;li&gt;VM Role &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Why VM Role?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Long running &lt;/strong&gt;application installations &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Error-prone &lt;/strong&gt;application installations &lt;/li&gt;    &lt;li&gt;Application installations &lt;strong&gt;require manual interaction&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How to Build a VM Role?&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Take a Windows Server 2008 R2 Enterprise Image &lt;/li&gt;    &lt;li&gt;Make it your BASE.VHD &lt;/li&gt;    &lt;li&gt;Boot from the machine &lt;/li&gt;    &lt;li&gt;Customize your machine      &lt;ul&gt;       &lt;li&gt;Install your packages &lt;/li&gt;        &lt;li&gt;Install your apps &lt;/li&gt;        &lt;li&gt;… &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Install the Windows Azure Integration components &lt;/li&gt;    &lt;li&gt;Run the “sysprep /generalize” command in order to generalize it and you’ll get an Diff.VHD      &lt;ul&gt;       &lt;li&gt;generalize the name of the machine &lt;/li&gt;        &lt;li&gt;… &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Upload both Base and Diff to the Blob Storage      &lt;ul&gt;       &lt;li&gt;“csupload add-vmimage –literalpath &amp;lt;base vhd path&amp;gt; –location &amp;lt;Chosen Data Center&amp;gt;” command compresses the VM and uploads &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Add a VM Role in Visual Studio and choose the VHD in the Blob Storage &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Example Application Scenarios&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Stateless ASP.NET Web Application or Service      &lt;ul&gt;       &lt;li&gt;Ideal candidate &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Stateful ASP.NET application (either use or instance state)      &lt;ul&gt;       &lt;li&gt;Moves with some work &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Highly parallel HPC application      &lt;ul&gt;       &lt;li&gt;Ideal Candidate &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Windows Client Apps      &lt;ul&gt;       &lt;li&gt;Not suitable &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;A single instance sever application with local state (eg. Database server)      &lt;ul&gt;       &lt;li&gt;May work with additional design &lt;/li&gt;        &lt;li&gt;Virtual Machine Role will not help (over and above web\worker role) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Connectivity&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Data Sync : SQL Azure Data Sync &lt;/li&gt;    &lt;li&gt;Application Layer Connectivity &amp;amp; Messaging: Service Bus &lt;/li&gt;    &lt;li&gt;Security: Federated Identity &amp;amp; Access Control &lt;/li&gt;    &lt;li&gt;Secure Network Connectivity: Windows Azure Connect &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Connect&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Secure network connectivity between on-premise and Cloud      &lt;ul&gt;       &lt;li&gt;Support standard IP protocols &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Enable Azure Roles for external connectivity via service model &lt;/li&gt;    &lt;li&gt;Enable computers for connectivity by installing connect agent      &lt;ul&gt;       &lt;li&gt;Only available in Windows Vista SP1, Windows 7, Windows Server 2008, Windows Server 2008 R2 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Network policy managed thought portal &lt;/li&gt;    &lt;li&gt;Automatic setup of secure IPv6 network between connected role instances and external computers      &lt;ul&gt;       &lt;li&gt;Tunnel firewalls/NAT’s thought hosted SSL-based relay service &lt;/li&gt;        &lt;li&gt;Secure via end-to-end IPSec &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Domain-joints &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Identity Federation&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WIF – Windows Identity Foundation &lt;/li&gt;    &lt;li&gt;Windows Access Control &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Service BUS&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Extend reach of applications securely though the cloud &lt;/li&gt;    &lt;li&gt;Enabled multi-tenant apps to integrate with tenants on-premise services &lt;/li&gt;    &lt;li&gt;Securely integrate partners outside of organization boundaries &lt;/li&gt;    &lt;li&gt;Extend reach of on-premises web services layer &lt;/li&gt;    &lt;li&gt;Usage Patterns      &lt;ul&gt;       &lt;li&gt;Connectivity          &lt;ul&gt;           &lt;li&gt;Service Remoting &lt;/li&gt;            &lt;li&gt;Cloud Eventing &lt;/li&gt;            &lt;li&gt;Protocol Tunneling &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Messaging          &lt;ul&gt;           &lt;li&gt;Load Leveling &lt;/li&gt;            &lt;li&gt;Multicast Messaging &lt;/li&gt;            &lt;li&gt;… &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Mon, 09 May 2011 17:09:14 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/session-review-migrating-apps-into-windows-azure</guid><category>Windows Azure</category><category>Windows Azure Service Platform</category><category>Windows Azure Storage</category></item><item><title>Session Review - Windows Azure In Depth</title><link>https://weblogs.asp.net:443/nunogodinho/session-review-migrating-applications-and-hybrid-applications-in-windows-azure</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/05/09/session-review-migrating-applications-and-hybrid-applications-in-windows-azure.aspx"&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;Simon Davies ( World Wide Technical Support Professional @ Microsoft )&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Overview&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Is “An Operating System for the Data Center”&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Treat the data center as a machine&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Compute&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Virtualized compute environment based o Windows Server&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Storage&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Durable (Automatically Managed by Microsoft. Always have 3 copies for Disaster Recovery purposes)&lt;/li&gt;      &lt;li&gt;Scalable&lt;/li&gt;      &lt;li&gt;High Availability&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Network&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Automated network provision and management&lt;/li&gt;      &lt;li&gt;On Premise Connectivity&lt;/li&gt;      &lt;li&gt;Global Content Delivery Network (CDN)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Management&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Automated&lt;/li&gt;      &lt;li&gt;Model Driven Management as a Service&lt;/li&gt;      &lt;li&gt;Resources&lt;/li&gt;      &lt;li&gt;Management&lt;/li&gt;      &lt;li&gt;Provisioning&lt;/li&gt;      &lt;li&gt;Monitoring&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Allows Developers to think their app and data only&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure In Depth&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Modeling Cloud Applications&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;A could app is typically made up of different components&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Front End&lt;/li&gt;        &lt;li&gt;Middle Tier&lt;/li&gt;        &lt;li&gt;Backend storage&lt;/li&gt;        &lt;li&gt;Multiple instances of each for scalability and availability&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Windows Azure Service&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Windows Azure Hosts “Services”&lt;/li&gt;      &lt;li&gt;A service is &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;An isolated boundary&lt;/li&gt;        &lt;li&gt;A set of component roles, each within endpoints&lt;/li&gt;        &lt;li&gt;At runtime numbered, identical instances of each role are created, each instance is a Virtual Machine&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;All of this specified declaratively in the service model and configured at runtime using a service configuration&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;What is a role?&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Definition&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Role Name&lt;/li&gt;        &lt;li&gt;Role Type&lt;/li&gt;        &lt;li&gt;VM Size&lt;/li&gt;        &lt;li&gt;Network Endpoints&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Code&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Web/Worker: Hosted DLL and other executable&lt;/li&gt;        &lt;li&gt;VM Role: VHD&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Configuration &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Number of instances&lt;/li&gt;        &lt;li&gt;Number of update and fault domains&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Example:&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Front-End Role&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Definition&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Type: Web&lt;/li&gt;            &lt;li&gt;VM Size: Small&lt;/li&gt;            &lt;li&gt;Endpoints: External 1&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;Configuration&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Instances:2&lt;/li&gt;            &lt;li&gt;Update Domains: 2&lt;/li&gt;            &lt;li&gt;Fault Domains: 2&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Service Model Files&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Service Definition in in ServiceDefinition.csdef (Definition Part of the Role)&lt;/li&gt;      &lt;li&gt;Service Configuration is in ServiceConfiguration.cscfg (Configuration Part of the Role)&lt;/li&gt;      &lt;li&gt;CSPack, program that exists in the SDK, will zips a service binary into a package (Code Part of the Role)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Compute Runtime Environment&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Fabric Controller talks to the Fabric Agent in order to configure and run the App&lt;/li&gt;      &lt;li&gt;Fabric Agent runs inside the Host OS and talks with the Windows Azure Agend in order to manage their configurations&lt;/li&gt;      &lt;li&gt;Each instance runs inside a Guest OS managed by the Host OS and is composed by &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Windows Azure Agent&lt;/li&gt;        &lt;li&gt;Windows Azure Compute&lt;/li&gt;        &lt;li&gt;YOUR APP&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Service Isolation&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Your Services are isolated from other services&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;The Fabric Controller&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The “kernel” of the cloud operating system&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Manages datacenter hardware&lt;/li&gt;        &lt;li&gt;Manages Windows Azure Services&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Some of the&amp;#160; main responsibilities&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Datacenter resource allocation&lt;/li&gt;        &lt;li&gt;Datacenter resource provisioning&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Managing Availability&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Upgrade Domains&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Default and Max Fault Domain is 5&lt;/li&gt;        &lt;li&gt;Vertical concept&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Fault Domains&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Default 2 Fault Domains&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Provisioning a role instance&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;3 VHDs are created&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Guest OS Image (D:\)&lt;/li&gt;        &lt;li&gt;Resource VHD (C:\)&lt;/li&gt;        &lt;li&gt;Role VHD (E:\ or the next available letter) = contains the package we deployed&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Fabric Controller Security&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The VM is the security boundary upon which Windows Azure security is based&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;the host OS and FC agent are trusted&lt;/li&gt;        &lt;li&gt;The guest agent is untrusted&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Updating the OS&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Initiated by Windows Azure Team&lt;/li&gt;      &lt;li&gt;Goal: update all machines as quickly as possible&lt;/li&gt;      &lt;li&gt;Constraint: must not violate the SLA and so we need at least 2 instances in order not to have a outage of the service&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;/li&gt; &lt;/ul&gt;</description><pubDate>Mon, 09 May 2011 15:34:56 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/session-review-migrating-applications-and-hybrid-applications-in-windows-azure</guid><category>Windows Azure</category><category>Windows Azure Service Platform</category><category>Windows Azure Storage</category></item><item><title>Session Review - Windows Azure - From Startup to the Cash Cow</title><link>https://weblogs.asp.net:443/nunogodinho/session-review-windows-azure-from-startup-to-the-cash-cow</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/05/09/session-review-windows-azure-from-startup-to-the-cash-cow.aspx"&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;Luis Alves Martins &lt;/strong&gt;(Architect Evangelist @ Microsoft Portugal)&lt;/p&gt;  &lt;p&gt;How do we Start?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Think &lt;strong&gt;BIG / Globally&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Multi-Language &lt;/li&gt;        &lt;li&gt;Multi-Currency &lt;/li&gt;        &lt;li&gt;… &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Start &lt;strong&gt;SMALL&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Start building things step by step, instead of trying to conquer all at once &lt;/li&gt;        &lt;li&gt;Think only on the Application and Data instead of all of those and also Hardware, Hardware Management, and so on. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How to Get Windows Azure?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Microsoft BizSpark Program (Startup with less than 3 years) &lt;/li&gt;      &lt;li&gt;MSDN Subscriptions (Microsoft Partner Benefit) &lt;/li&gt;      &lt;li&gt;Windows Azure Subscriptions &lt;/li&gt;      &lt;li&gt;Windows Azure Pay-as-you-Go &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Why Azure?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Cost &lt;/li&gt;    &lt;li&gt;Agility &lt;/li&gt;    &lt;li&gt;Risk Mitigation &lt;/li&gt;    &lt;li&gt;Expertise      &lt;ul&gt;       &lt;li&gt;Join the expertise that you already have about developing solutions and Managing Data and connect that with the Expertise by Microsoft on Managing Data Centers &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Symmetry      &lt;ul&gt;       &lt;table border="0" cellspacing="0" cellpadding="2" width="407"&gt;&lt;tbody&gt;           &lt;tr&gt;             &lt;td valign="top" width="95"&gt;Cloud&lt;/td&gt;              &lt;td valign="top" width="105"&gt;SQL Azure&lt;/td&gt;              &lt;td valign="top" width="205"&gt;Windows Azure&lt;/td&gt;           &lt;/tr&gt;            &lt;tr&gt;             &lt;td valign="top" width="95"&gt;On-Premise&lt;/td&gt;              &lt;td valign="top" width="105"&gt;SQL Server&lt;/td&gt;              &lt;td valign="top" width="205"&gt;Microsoft Windows Server 2008 or greater&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;&lt;/table&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Platform Continuum      &lt;ul&gt;       &lt;li&gt;The same code in Traditional DataCenters, Public or Private Windows Server, Windows Azure, Azure Appliance          &lt;ul&gt;           &lt;li&gt;This can happen if we have some considerations prior to beginning the development &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;It’s a natural &lt;strong&gt;Evolution, not Revolution&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Step forward in terms of:          &lt;ul&gt;           &lt;li&gt;Costs &lt;/li&gt;            &lt;li&gt;Economy of Scale &lt;/li&gt;            &lt;li&gt;Don’t think about the Machines and the Hardware &lt;/li&gt;            &lt;li&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;Business Model&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Without any change:      &lt;ul&gt;       &lt;li&gt;Customer pays for the software &lt;/li&gt;        &lt;li&gt;Customer buys its own Windows Azure Account &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Provide &lt;strong&gt;SaaS&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Customer pays for the solution that already includes the Windows Azure costs &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Internals Interesting facts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Storage Compute allow us replication of the content in order to provide disaster recovery - &lt;a title="http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx" href="http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx"&gt;http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Pricing is easy (Example)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Compute&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 42,52 €/month (1 role – no Licensing fees) &lt;/li&gt;    &lt;li&gt;Data&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7,085 €/GB/month&amp;#160; (SQL) &lt;/li&gt;    &lt;li&gt;Transfer&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; 0,1064 €/GB/month &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How to Start with Azure?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Get the Windows Azure SDK at &lt;a href="http://www.WindowsAzure.com"&gt;http://www.WindowsAzure.com&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Use your MSDN or get a free account or one month Azure pass at &lt;a href="http://www.azurepass.net"&gt;www.azurepass.net&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Don’t forget the AzurePT community on Facebook &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Mon, 09 May 2011 14:34:59 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/session-review-windows-azure-from-startup-to-the-cash-cow</guid><category>Windows Azure</category><category>Windows Azure Service Platform</category><category>Windows Azure Storage</category></item><item><title>Some Q&amp;A about Windows Azure AppFabric Caching</title><link>https://weblogs.asp.net:443/nunogodinho/some-q-amp-a-about-windows-azure-appfabric-caching</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/05/04/some-q-amp-a-about-windows-azure-appfabric-caching.aspx"&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;Today someone asked me about Windows Azure AppFabric Caching, and how it works and so I thought it would be interesting to do a blog post about it, with the Questions and Answers for everyone to see and comment and even ask more, to complete it.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What are the Cache Sizes available in the Windows Azure AppFabric Caching Service?&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Answer: &lt;/strong&gt;128 MB, 256MB, 512MB, 1GB, 2GB, 4GB&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What happens when provisioning Windows Azure AppFabric Caching in the Portal? &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; When you do the provisioning of the Caching Service, you define the Cache Size you want to use, and so that Cache Size is &lt;strong&gt;Reserved&lt;/strong&gt; for you in the Internal Cluster of Cache Machines that are associated with the Service.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is Windows Azure AppFabric Caching Cache Size Always Available? &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Answer: &lt;/strong&gt;Yes, the complete size is always &lt;strong&gt;Reserved for you only.&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Question: &lt;/strong&gt;Is Windows Azure AppFabric Caching Cache Size all stored in the same Machine? &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; No. Caching Service has a Distributed Architecture and so it spreads your cache size across several machines.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Security is very important and it’s important to understand how does Windows Azure AppFabric Caching Service works in terms of Security? How can we define the security of the Data?&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; Windows Azure AppFabric Caching Service is highly integrated with the Windows Azure AppFabric Access Control Service (ACS), and so that is the way to define the security that will be used to access the cache.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What about the Princing? What is the pricing associated with Windows Azure AppFabric Caching Service? &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Answer: &lt;/strong&gt;The Price depends on the Caching Size you choose.&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;128 MB cache for $45.00/month &lt;/li&gt;      &lt;li&gt;256 MB cache for $55.00/month &lt;/li&gt;      &lt;li&gt;512 MB cache for $75.00/month &lt;/li&gt;      &lt;li&gt;1 GB cache for $110.00month &lt;/li&gt;      &lt;li&gt;2 GB cache for $180.00/month &lt;/li&gt;      &lt;li&gt;4 GB cache for $325.00/month &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;But you have it free until August 1st, 2011. More about this check &lt;a href="http://bit.ly/iGS49z" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you have any more questions just ask away and I’ll try to answer them.&lt;/p&gt;</description><pubDate>Wed, 04 May 2011 14:01:23 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/some-q-amp-a-about-windows-azure-appfabric-caching</guid><category>AppFabric</category><category>Caching</category><category>Windows Azure</category><category>Windows Azure Service Platform</category></item><item><title>MIX11 - Session Review - Building Windows Phone 7 Applications with the Windows Azure Platform</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-building-windows-phone-7-applications-with-the-windows-azure-platform</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/05/02/mix11-session-review-building-windows-phone-7-applications-with-the-windows-azure-platform.aspx"&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;Wade Wegner ( Technical Evangelist @ Windows Azure Team )&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why Phone + Cloud?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The cloud levels the playing field &lt;/li&gt;    &lt;li&gt;The cloud provides larger pool of resources from which to pull &lt;/li&gt;    &lt;li&gt;The cloud provides a way to reach across device platforms &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Why Windows Phone 7 and Windows Azure?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Because Windows Azure is PaaS. &lt;strong&gt;you build, Windows Azure runs it&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;Automatic OS patching &lt;/li&gt;    &lt;li&gt;Scalable &lt;/li&gt;    &lt;li&gt;Utility billing model &lt;/li&gt;    &lt;li&gt;Additional services      &lt;ul&gt;       &lt;li&gt;Access Control Services (Provides Identity Federations) &lt;/li&gt;        &lt;li&gt;Traffic Manager (Provides an easy way to manage the location from which Data Center the app is served) &lt;/li&gt;        &lt;li&gt;Caching ( Provides a Caching Service that allows us to easily create cache in our apps) &lt;/li&gt;        &lt;li&gt;CDN (Content Delivery Network) &lt;/li&gt;        &lt;li&gt;… &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Common Development tools      &lt;ul&gt;       &lt;li&gt;Visual Studio &lt;/li&gt;        &lt;li&gt;Languages &lt;/li&gt;        &lt;li&gt;Emulators for development &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Demo Source Code: &lt;a title="http://www.wadewegner.com/" href="http://www.wadewegner.com/"&gt;http://www.wadewegner.com/&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What was shown in the Demo&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Identity      &lt;ul&gt;       &lt;li&gt;Identity Options          &lt;ul&gt;           &lt;li&gt;Create your own (eg. username + password, token, …)              &lt;ul&gt;               &lt;li&gt;Custom Model &lt;/li&gt;                &lt;li&gt;ASP.NET Membership Providers &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Use a single existing identity system (eg. Live Id, Facebook, Twitter, …) &lt;/li&gt;            &lt;li&gt;Outsource identity management (eg. Access Control Service) &lt;/li&gt;            &lt;li&gt;More information about this:              &lt;ul&gt;               &lt;li&gt;Authenticating Users in a Windows Phone 7 App via ACS, OData and Windows Azure - &lt;a href="http://bit.ly/wp7acs"&gt;http://bit.ly/wp7acs&lt;/a&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;Storage      &lt;ul&gt;       &lt;li&gt;Storage Options          &lt;ul&gt;           &lt;li&gt;SQL Azure              &lt;ul&gt;               &lt;li&gt;Relational Database &lt;/li&gt;                &lt;li&gt;Highly available &lt;/li&gt;                &lt;li&gt;Managed for you as a Service &lt;/li&gt;                &lt;li&gt;Pattern                  &lt;ul&gt;                   &lt;li&gt;WebRole that exposes an OData Service                      &lt;ul&gt;                       &lt;li&gt;Create a Web role with an OData Service that will expose your SQL Azure data to your clients &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 Tables              &lt;ul&gt;               &lt;li&gt;Non-relational structured Storage &lt;/li&gt;                &lt;li&gt;Massive scale-out &lt;/li&gt;                &lt;li&gt;OData &lt;/li&gt;                &lt;li&gt;Pattern                  &lt;ul&gt;                   &lt;li&gt;Using Public Blobs                      &lt;ul&gt;                       &lt;li&gt;Client sends data to the Web Role &lt;/li&gt;                        &lt;li&gt;Web Role stores data in blobs &lt;/li&gt;                        &lt;li&gt;Client fetches public blobs directly &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Shared Access Signatures (SAS)                      &lt;ul&gt;                       &lt;li&gt;Client gets Shared Access Signature from the Web Role &lt;/li&gt;                        &lt;li&gt;Client inserts the SAS in the URI and stores data in blobs &lt;/li&gt;                        &lt;li&gt;Client fetches public blobs and even private containers as long as the SAS allows it &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 Blobs              &lt;ul&gt;               &lt;li&gt;Big files &lt;/li&gt;                &lt;li&gt;REST &lt;/li&gt;                &lt;li&gt;Pattern:                  &lt;ul&gt;                   &lt;li&gt;Proxy Calls                      &lt;ul&gt;                       &lt;li&gt;Client sends data to the Web role &lt;/li&gt;                        &lt;li&gt;Web role stores data in Blobs &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;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Services      &lt;ul&gt;       &lt;li&gt;Web Role vs Worker Role &lt;/li&gt;        &lt;li&gt;Web Role has IIS &lt;/li&gt;        &lt;li&gt;Worker role does not          &lt;ul&gt;           &lt;li&gt;think about it as being a DLL with a Main() &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Both implement the RoleEntryPoint &lt;/li&gt;        &lt;li&gt;Scaling Work in Windows Azure          &lt;ul&gt;           &lt;li&gt;Traditionally              &lt;ol&gt;               &lt;li&gt;Web role receives message &lt;/li&gt;                &lt;li&gt;Web role enqueues work &lt;/li&gt;                &lt;li&gt;Worker role pools queue &lt;/li&gt;                &lt;li&gt;Worker role sends notifications &lt;/li&gt;             &lt;/ol&gt;              &lt;ul&gt;               &lt;li&gt;Interesting because it splits the IIS and Services parts allowing you to scale them independently &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Multitenancy          &lt;ul&gt;           &lt;li&gt;You can have more than one application running in your role instance &lt;/li&gt;            &lt;li&gt;based on the Sites tag in the ServiceDefinition.csdef &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Content Delivery Network (CDN)          &lt;ul&gt;           &lt;li&gt;Currently at least 24 nodes that will cache data locally in order to provide the data faster &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Traffic Manager          &lt;ul&gt;           &lt;li&gt;Intelligently routes the request to the most appropriate Data Center according to the policies defined in it &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Communications      &lt;ul&gt;       &lt;li&gt;Two primary communication models          &lt;ul&gt;           &lt;li&gt;Phone-initiated              &lt;ul&gt;               &lt;li&gt;Options                  &lt;ul&gt;                   &lt;li&gt;Http-based, request/response &lt;/li&gt;                    &lt;li&gt;Can be based on pooling of User Initiated requests &lt;/li&gt;                    &lt;li&gt;Frameworks choises (WCF, OData, WebRequest, …) &lt;/li&gt;                    &lt;li&gt;Wire Formats (SOAP, JSON, POX, …) &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Cloud-initiated              &lt;ul&gt;               &lt;li&gt;Push Notifications                  &lt;ul&gt;                   &lt;li&gt;Single connection between phone and Microsoft Push Notification Service                      &lt;ul&gt;                       &lt;li&gt;The cloud cannot connect directly to the phone, just passing by the Microsoft Push Notification &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;There’s no warranty of delivery &lt;/li&gt;                    &lt;li&gt;Bandwidth and battery friendly &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;There kinds of push notifications                  &lt;ul&gt;                   &lt;li&gt;Raw – send a message to an app &lt;/li&gt;                    &lt;li&gt;Toast – send a message to the user                      &lt;ul&gt;                       &lt;li&gt;Blue bar at the top &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Tile – Update an image, title or count &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;How does this works?                  &lt;ol&gt;                   &lt;li&gt;Phone opens a channel in the Microsoft Push Notifications Service &lt;/li&gt;                    &lt;li&gt;Phone sends the URL to the cloud &lt;/li&gt;                    &lt;li&gt;Cloud pushes notifications via URL &lt;/li&gt;                    &lt;li&gt;Microsoft Push Notification Service notifies the phone &lt;/li&gt;                 &lt;/ol&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;p&gt;&lt;strong&gt;Important Best Practice: DO NOT STORE SECRETS ON YOUR PHONE&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is there to make this easier?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Announcing: &lt;/strong&gt;Windows Azure Toolkit for Windows Phone 7 (v1.1.0) &lt;/li&gt;    &lt;li&gt;Make it easier for phone developers to use Windows Azure &lt;/li&gt;    &lt;li&gt;Toolkit includes:      &lt;ul&gt;       &lt;li&gt;Client libraries &lt;/li&gt;        &lt;li&gt;Sample apps &lt;/li&gt;        &lt;li&gt;Source code &lt;/li&gt;        &lt;li&gt;Documentations &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Available on &lt;a href="http://watoolkitwp7.codeplex.com"&gt;http://watoolkitwp7.codeplex.com&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;The phone will only communicate with a Service over HTTPs if      &lt;ul&gt;       &lt;li&gt;The cert is installed on the device &lt;/li&gt;        &lt;li&gt;The cert is signed by a Trusted Authority &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In order to use the self signed certs you need to install it on the phone &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Mon, 02 May 2011 22:27:14 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-building-windows-phone-7-applications-with-the-windows-azure-platform</guid><category>Windows Azure</category><category>Windows Azure Service Platform</category><category>Windows Phone 7</category></item><item><title>MIX11 - Session Review - Powering Data on the Web and Beyond with SQL Azure</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-powering-data-on-the-web-and-beyond-with-sql-azure</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/23/mix11-session-review-powering-data-on-the-web-and-beyond-with-sql-azure.aspx"&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;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;/li&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;ul&gt;       &lt;li&gt;Introduced SQL Server Data Services (ACE type) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;MIX09&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Introduce SQL Data Services (Real Relational Database) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;MIX10&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;New Features announced          &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;/li&gt;     &lt;/ul&gt;   &lt;/li&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;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;    &lt;li&gt;Powering Web/AJAX Experiences      &lt;ul&gt;       &lt;li&gt;Consuming ODATA via jQuery &amp;amp; JSON &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Powering Windows Phone 7      &lt;ul&gt;       &lt;li&gt;ODATA libraries available for Windows Phone 7 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&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;ul&gt;       &lt;li&gt;8 seconds vs 3 seconds &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&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;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;    &lt;li&gt;Read-write scale-out via multiple copies:      &lt;ul&gt;       &lt;li&gt;ex. geo located web apps &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Same or different data centers &lt;/li&gt;    &lt;li&gt;Key features      &lt;ul&gt;       &lt;li&gt;No-Code sync configuration          &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;        &lt;li&gt;Full Data Synchronization Capabilities          &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;        &lt;li&gt;Conflict Handling          &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;        &lt;li&gt;Logging and Monitoring          &lt;ul&gt;           &lt;li&gt;Administration capabilities for tracking usage &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Scale          &lt;ul&gt;           &lt;li&gt;Service scales as resources requirements grow &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Currently there are 2 CTPs available      &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;/li&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;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;li&gt;&lt;strong&gt;SQL Azure Data Sync&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Syncs the SQL Azure Databases between regions &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&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;ul&gt;       &lt;li&gt;Data Protection / Recovery          &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;        &lt;li&gt;New Data Movement Capabilities          &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;        &lt;li&gt;Enhanced Management Experiences          &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;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Scale on Demand&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Scale-out with Federations          &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;        &lt;li&gt;Scale-up and Scale-down Databases          &lt;ul&gt;           &lt;li&gt;Scale beyond 50GB and less than 1GB &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Performance Predictability          &lt;ul&gt;           &lt;li&gt;Reserve compute capacity with Resource SLA &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Enhanced multi-tenancy support          &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;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Faster Innovation&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Rich Insights with Reporting as a Service          &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;        &lt;li&gt;Spanning Apps with Sync Service          &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;        &lt;li&gt;Rich Developer Experiences          &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;        &lt;li&gt;Data Market Enhancements          &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;/li&gt;     &lt;/ul&gt;   &lt;/li&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;</description><pubDate>Fri, 22 Apr 2011 23:23:30 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-powering-data-on-the-web-and-beyond-with-sql-azure</guid><category>MIX11</category><category>SQL Azure</category><category>Windows Azure</category><category>Windows Azure DataMarket</category><category>Windows Azure Service Platform</category></item><item><title>MIX11 - Session Review - Windows Azure Storage - Getting Started and Best Practices</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-windows-azure-storage-getting-started-and-best-practices</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/22/mix11-session-review-windows-azure-storage-getting-started-and-best-practices.aspx"&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;Haridas (Software Developer Lead)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Azure Storage&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;What is it?          &lt;ul&gt;           &lt;li&gt;Scalable, Durable, Highly Available Cloud Storage System &lt;/li&gt;            &lt;li&gt;Pay for what you use &lt;/li&gt;            &lt;li&gt;Abstractions              &lt;ul&gt;               &lt;li&gt;&lt;strong&gt;Blobs&lt;/strong&gt; – Provides a simple interface for storing named files along with metadata for the file &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Drives&lt;/strong&gt; – Provides durable NTFS volumes for Windows Azure Applications to use – based on Page Blobs &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Tables&lt;/strong&gt; – Provides structured storage. A Table is a set of entities which contains a set of properties &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Queues&lt;/strong&gt; – Provides reliable storage and delivery of messages for an Application &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Data Storage Concepts          &lt;ul&gt;           &lt;li&gt;Based on the Account              &lt;ul&gt;               &lt;li&gt;Container for Blobs (Blob Storage)                  &lt;ul&gt;                   &lt;li&gt;https://&amp;lt;account&amp;gt;.&lt;strong&gt;blob&lt;/strong&gt;.windows.net/&amp;lt;container&amp;gt; &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Table for Entities (Table Storage)                  &lt;ul&gt;                   &lt;li&gt;https://&amp;lt;account&amp;gt;.&lt;strong&gt;table&lt;/strong&gt;.windows.net/&amp;lt;table&amp;gt; &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Queue for Messages (Queue Storage)                  &lt;ul&gt;                   &lt;li&gt;https://&amp;lt;account&amp;gt;.&lt;strong&gt;queue&lt;/strong&gt;.windows.net/&amp;lt;queue&amp;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;&lt;strong&gt;Blobs&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Provides a highly scalable, durable and available file system in the cloud &lt;/li&gt;            &lt;li&gt;An account can create many containers              &lt;ul&gt;               &lt;li&gt;No limit on number of blobs in a container &lt;/li&gt;                &lt;li&gt;Limit of 100TB per account &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Associate metadata with Blobs &lt;/li&gt;            &lt;li&gt;Upload / Download Blobs              &lt;ul&gt;               &lt;li&gt;Allows range reads &lt;/li&gt;                &lt;li&gt;Conditional operations – If-Match, Id-Not-Modified-Since, … &lt;/li&gt;                &lt;li&gt;Sharing – Public containers, Shared Access Signatures (SAS)                  &lt;ul&gt;                   &lt;li&gt;SAS – pre-authenticated url &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Storage client uses by default a timeout of 90 seconds. This can be changed using the BlobRequestOptions class to set the timeout to be according to the type of blob you’re uploading &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Types of Blobs&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;&lt;strong&gt;Block Blobs&lt;/strong&gt;                   &lt;ul&gt;                   &lt;li&gt;Targeted at streaming workloads &lt;/li&gt;                    &lt;li&gt;Each Blob consists of a sequence of blocks                      &lt;ul&gt;                       &lt;li&gt;2 phase commit: Blocks are uploaded and them separately committed &lt;/li&gt;                        &lt;li&gt;Efficient continuation and retry &lt;/li&gt;                        &lt;li&gt;Send multiple out of order blocks in parallel and decide the block order during commit &lt;/li&gt;                        &lt;li&gt;Random range reads possible &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Size limit is 200GB per blob &lt;/li&gt;                    &lt;li&gt;What to do?                      &lt;ol&gt;                       &lt;li&gt;File has variable sized blocks &lt;/li&gt;                        &lt;li&gt;Upload blocks in Parallel using PutBlock &lt;/li&gt;                        &lt;li&gt;Retry failed blocks &lt;/li&gt;                        &lt;li&gt;Commit blob using PutBlockList &lt;/li&gt;                     &lt;/ol&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Page Blobs&lt;/strong&gt;                   &lt;ul&gt;                   &lt;li&gt;Targeted at random write workloads &lt;/li&gt;                    &lt;li&gt;Each blob consist of an array of pages &lt;/li&gt;                    &lt;li&gt;Size limit 1TB per blob &lt;/li&gt;                    &lt;li&gt;Page                      &lt;ul&gt;                       &lt;li&gt;Each page range write is committed on PUT &lt;/li&gt;                        &lt;li&gt;Page is 512 byte in size &lt;/li&gt;                        &lt;li&gt;Write boundary aligned at multiple of 512 byte &lt;/li&gt;                        &lt;li&gt;Range reads possible &lt;/li&gt;                        &lt;li&gt;Pages that do not have data are zeroed out &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;How?                      &lt;ol&gt;                       &lt;li&gt;Write 5K bytes – PutPage &lt;/li&gt;                        &lt;li&gt;Clear starting at a particular offset – ClearPage &lt;/li&gt;                        &lt;li&gt;Overwrite bytes – PutPage &lt;/li&gt;                        &lt;li&gt;Truncate Blob – SetMaxBlobSize &lt;/li&gt;                     &lt;/ol&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Sharing&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;Every blob request must be signed with the account owner’s key &lt;/li&gt;                &lt;li&gt;Share your files options                  &lt;ul&gt;                   &lt;li&gt;The container must be public – read-only rights whenever you make a container public &lt;/li&gt;                    &lt;li&gt;Shared Access Signatures (SAS) – share pre-authenticated URLs with users                      &lt;ul&gt;                       &lt;li&gt;You decided who you’d like to share it with &lt;/li&gt;                        &lt;li&gt;You can give variable permition                          &lt;ul&gt;                           &lt;li&gt;Delete Blob &lt;/li&gt;                            &lt;li&gt;Write Blob &lt;/li&gt;                            &lt;li&gt;Read or Listing Blob &lt;/li&gt;                         &lt;/ul&gt;                       &lt;/li&gt;                        &lt;li&gt;Two ways to do that                          &lt;ul&gt;                           &lt;li&gt;Everything embedded using the URL and doing that signing it with your owner key &lt;/li&gt;                            &lt;li&gt;Create an access policy that will contain all the parameters that normally are in the url                              &lt;ul&gt;                               &lt;li&gt;Advantage is that this will make it possible to change the policy after giving the URL so someone. &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;SAS                  &lt;ul&gt;                   &lt;li&gt;Use container level access as it allows access to be easily revoked &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Snapshots&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;Point in time read-only copy of blob &lt;/li&gt;                &lt;li&gt;Every snapshot creates a new read only point in time copy &lt;/li&gt;                &lt;li&gt;Charged only for unique blocks or pages (ex. reuse blocks or pages)                  &lt;ul&gt;                   &lt;li&gt;For reuse, use WritePages or PutBlock &amp;amp; PutBlock &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Restore snapshots using copy blob &lt;/li&gt;                &lt;li&gt;Remember to cleanup your snapshots &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Best Practices&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;Use parallel blocks upload count to reduce latency when uploading photo &lt;/li&gt;                &lt;li&gt;Client Library uses a default of 90 seconds timeout – use size based timeout &lt;/li&gt;                &lt;li&gt;Snapshots – For block or page reuse, issue block and page uploads in place of UploadXXX methods in Storage Client &lt;/li&gt;                &lt;li&gt;Shared Access Signatures                  &lt;ul&gt;                   &lt;li&gt;Use container level policy as it allows revoking permissions &lt;/li&gt;                    &lt;li&gt;Share SAS Url using Https &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Create new container for blobs like log files that have retention period                  &lt;ul&gt;                   &lt;li&gt;Delete logs after 1 month – create new containers every month &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Container recreation                  &lt;ul&gt;                   &lt;li&gt;Garbage Collection can take time until which time container with same name cannot be created (this might make that you cannot create a new container immediately with exactly the same name after deleting the previous one) &lt;/li&gt;                    &lt;li&gt;Use unique names for containers &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Drive&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Provides a durable NTFS volume for Windows Azure Applications              &lt;ul&gt;               &lt;li&gt;Use existing NTFS APIs &lt;/li&gt;                &lt;li&gt;Easy migration path to the cloud &lt;/li&gt;                &lt;li&gt;Durability and survival of data on application failover or hardware failure                  &lt;ul&gt;                   &lt;li&gt;All flushed and un-buffered writes to drive are made durable &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;A Windows Azure Drive is a Page Blob              &lt;ul&gt;               &lt;li&gt;Mounts Page Blob as an NTFS drive &lt;/li&gt;                &lt;li&gt;Mounted by one VM at a time for read/write &lt;/li&gt;                &lt;li&gt;A VM can dynamically mount up to 16 drives &lt;/li&gt;                &lt;li&gt;Drives can be up to 1TB &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Tables&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Provides Structured Storage              &lt;ul&gt;               &lt;li&gt;Massively Scalable and Durable Tables                  &lt;ul&gt;                   &lt;li&gt;Billions of entities (rows) and TBs of data &lt;/li&gt;                    &lt;li&gt;A storage account can contain many tables &lt;/li&gt;                    &lt;li&gt;No limit on number of entities (aka rows) in each table &lt;/li&gt;                    &lt;li&gt;Provides flexible schema &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Familiar and Easy to use API                  &lt;ul&gt;                   &lt;li&gt;WCF Data Services – .NET classes and LINQ &lt;/li&gt;                    &lt;li&gt;REST (OData Protocol) – with any platform and language &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Best Practices              &lt;ul&gt;               &lt;li&gt;Use the context.SaveChangesWithRetries(SaveChangesOptions.Batch)                  &lt;ul&gt;                   &lt;li&gt;&lt;strong&gt;SaveChangesOptions.Batch&lt;/strong&gt; gives you transactional semantics to the operation &lt;/li&gt;                    &lt;li&gt;Transactions on entities are only allowed if the partition key is the same &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;CloudTableQuery&amp;lt;&amp;gt; handles ContinuationToken &lt;/li&gt;                &lt;li&gt;Use clustered index in queries for performance (PartitionKey) &lt;/li&gt;                &lt;li&gt;Limit large scans and expect continuation tokens for queries that scan                  &lt;ul&gt;                   &lt;li&gt;Split “OR” on keys as individual queries &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Entity Group Transactions – Batch to reduce costs and get transaction &lt;/li&gt;                &lt;li&gt;Do not reuse DataServiceContext across multiple logical operations &lt;/li&gt;                &lt;li&gt;Discard DataServiceContext on failures &lt;/li&gt;                &lt;li&gt;AddObject/AttachTo can Throw exceptions if entity is already being tracked &lt;/li&gt;                &lt;li&gt;Point query throws an exception if resource does not exist. Use IgnoreResourceNotFoundException property &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Queue&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Queue are highly scalable, available and provide reliable message delivery              &lt;ul&gt;               &lt;li&gt;Simple, asynchronous work dispatch &lt;/li&gt;                &lt;li&gt;A storage account can create any number of queues &lt;/li&gt;                &lt;li&gt;8K message size limit and default expiry of 7 days &lt;/li&gt;                &lt;li&gt;Programming semantics ensures that a message can be processed at least once                  &lt;ol&gt;                   &lt;li&gt;Get message to make the message invisible &lt;/li&gt;                    &lt;li&gt;Delete message to remove the message &lt;/li&gt;                 &lt;/ol&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Access is provided via REST &lt;/li&gt;            &lt;li&gt;Best Practices              &lt;ul&gt;               &lt;li&gt;Make message processing idempotent &lt;/li&gt;                &lt;li&gt;Do not rely on order – invisibility time can result in out of order &lt;/li&gt;                &lt;li&gt;Messages &amp;gt; 8K =&amp;gt; use blobs or tables to store and message contains the blob or table entity key &lt;/li&gt;                &lt;li&gt;Use message count to dynamically increase/decrease workers. Example:                  &lt;ul&gt;                   &lt;li&gt;Retain one instance that polls once every X time period &lt;/li&gt;                    &lt;li&gt;One instance polling every second result in 2.678.400 calls which cost around $2.67 &lt;/li&gt;                    &lt;li&gt;Spawn more instances when you detect backlog &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Use dequeue count to detect                  &lt;ul&gt;                   &lt;li&gt;Visibility expiry time needs to increase &lt;/li&gt;                    &lt;li&gt;Poison messages &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;&lt;strong&gt;Partitioning &amp;amp; Scalability&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Know the scalability Targets          &lt;ul&gt;           &lt;li&gt;Single Blob Partition              &lt;ul&gt;               &lt;li&gt;Throughput up to 60 MB/s &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Single Queue/Table Partition              &lt;ul&gt;               &lt;li&gt;up to 500 transactions (entities or messages) per second &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Storage account              &lt;ul&gt;               &lt;li&gt;SLA – 99,9% availability &lt;/li&gt;                &lt;li&gt;Capacity – Up to 100 TBs &lt;/li&gt;                &lt;li&gt;Transactions – Up to 5000 entities per second &lt;/li&gt;                &lt;li&gt;Bandwidth – Up to 3 gigabits per second &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Scale above the limits              &lt;ul&gt;               &lt;li&gt;Partition between multiple storage accounts and partitions &lt;/li&gt;                &lt;li&gt;When limit is hit, app may see ‘503 server busy’. Apps should implement exponential back-off &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Storage Partition – How to Scale?          &lt;ul&gt;           &lt;li&gt;Every data object has a partition key              &lt;ul&gt;               &lt;li&gt;Different for each data type (blobs, tables, queues) &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Partition Key is unit of scale              &lt;ul&gt;               &lt;li&gt;A partition can be served by a single server &lt;/li&gt;                &lt;li&gt;System load balances partitions based on traffic &lt;/li&gt;                &lt;li&gt;Controls entity locality &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Systems load balances              &lt;ul&gt;               &lt;li&gt;Load balancing can take a few minutes to kick in &lt;/li&gt;                &lt;li&gt;Can take a couple of seconds for partition to be available on a different server &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Server busy              &lt;ul&gt;               &lt;li&gt;Use exponential back-off on “Server Busy” &lt;/li&gt;                &lt;li&gt;Our system load balances to meet your traffic needs &lt;/li&gt;                &lt;li&gt;Single partition limits have been reached &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Automatic Load Balancing          &lt;ul&gt;           &lt;li&gt;Assignment              &lt;ul&gt;               &lt;li&gt;Process:                  &lt;ol&gt;                   &lt;li&gt;When a request is made the Load Balancer delivers it to one of the Front-Ends and it’s delivered to the appropriate Back-Ends that is serving that partition                      &lt;ul&gt;                       &lt;li&gt;Each server has multiple partitions and the loads can be different &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;If the Master System recognizes that a single service has to many request, then it will offload those partitions and reassign then to the systems that have less load &lt;/li&gt;                 &lt;/ol&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Partition Keys in each abstraction          &lt;ul&gt;           &lt;li&gt;Blobs              &lt;ul&gt;               &lt;li&gt;“Container Name + Blob Name” is the partition key &lt;/li&gt;                &lt;li&gt;Every blob and its snapshot are in a single partition &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Tables              &lt;ul&gt;               &lt;li&gt;“Table Name” + Partition Key is the partition &lt;/li&gt;                &lt;li&gt;Entities with same partition key value are served from the same partition &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Queues              &lt;ul&gt;               &lt;li&gt;Queue Name is the Partition Key &lt;/li&gt;                &lt;li&gt;All messages for a single queue belong to the same partition &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;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Interesting Tools to understand what’s happening with the Storage&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Fiddler &lt;/li&gt;        &lt;li&gt;Wireshark &lt;/li&gt;        &lt;li&gt;NetMon &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Resources      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://blogs.msdn.com/windowsazurestorage/"&gt;http://blogs.msdn.com/windowsazurestorage/&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Fri, 22 Apr 2011 18:45:30 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-windows-azure-storage-getting-started-and-best-practices</guid></item><item><title>MIX11 - Session Review - What’s New in the Windows Azure Platform</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-what-s-new-in-the-windows-azure-platform</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/22/mix11-session-review-what-s-new-in-the-windows-azure-platform.aspx"&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;James Conard &lt;/strong&gt;(Sr. Director – @jamescon)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is the Windows Azure Platform?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide the best and most comprehensive Platform as a Service offering for building, deploying, and running cloud applications &lt;/li&gt;    &lt;li&gt;Open &amp;amp; Flexible      &lt;ul&gt;       &lt;li&gt;Using several technologies and not only the .NET Framework &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Leverage Existing Investments      &lt;ul&gt;       &lt;li&gt;Use the known technologies and ways to develop that exist already in the market in order to reduce the difficulty of entering in the cloud &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Ready for next Generation apps      &lt;ul&gt;       &lt;li&gt;Prepare for the next types of apps like mobile, and high available &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Core Services&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Compute      &lt;ul&gt;       &lt;li&gt;Scalable environment for running code &lt;/li&gt;        &lt;li&gt;Enables .NET, C++, PHP, Ruby, Python          &lt;ul&gt;           &lt;li&gt;By default .NET Framework is installed but you can deploy the technology you’d like and use it &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Automate Service Management          &lt;ul&gt;           &lt;li&gt;Abstract you from managing the infrastructure where your apps is running on &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Storage      &lt;ul&gt;       &lt;li&gt;Scalable and highly available cloud storage &lt;/li&gt;        &lt;li&gt;Blobs, Tables, Queues, Drives &lt;/li&gt;        &lt;li&gt;REST APIs and several client libraries &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Database      &lt;ul&gt;       &lt;li&gt;SQL Relational Database (SQL Azure)          &lt;ul&gt;           &lt;li&gt;Use the same knowledge that exist in using SQL Server and make them available in the cloud &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Familiar programming model &amp;amp; Tools &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Platform Roadmap&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;October 2008      &lt;ul&gt;       &lt;li&gt;Announced the Windows Azure Platform &lt;/li&gt;        &lt;li&gt;First CTP of Windows Azure Platform &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;March 2009      &lt;ul&gt;       &lt;li&gt;Announced SQL Azure Relational DB &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;November 2009      &lt;ul&gt;       &lt;li&gt;Updates Windows Azure CTP &lt;/li&gt;        &lt;li&gt;Announced VMRole, Project Sydney and Windows Azure Platform pricing and SLAs &lt;/li&gt;        &lt;li&gt;Enable FullTrust &amp;amp; PHP, Java etc. &lt;/li&gt;        &lt;li&gt;Project Dallas CTP &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;February 2010      &lt;ul&gt;       &lt;li&gt;Windows Azure Platform generally available &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;June 2010      &lt;ul&gt;       &lt;li&gt;Windows Azure Update          &lt;ul&gt;           &lt;li&gt;.NET Framework 4 &lt;/li&gt;            &lt;li&gt;OS versioning &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;SQL Azure Update          &lt;ul&gt;           &lt;li&gt;50 GB databases &lt;/li&gt;            &lt;li&gt;Spatial data Support &lt;/li&gt;            &lt;li&gt;DAC support &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;November 2010 – Big Release&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;New Windows Azure Platform Management Portal &lt;/li&gt;        &lt;li&gt;Multiple Service Administrators (co-Admins) &lt;/li&gt;        &lt;li&gt;Remote Desktop &lt;/li&gt;        &lt;li&gt;Full IIS          &lt;ul&gt;           &lt;li&gt;Web Roles previously using Hosted Web Core              &lt;ul&gt;               &lt;li&gt;Only supported a single HTTP or HTTPs endpoing &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Web Roles now supporting Full IIS 7.0/7.5 &lt;/li&gt;            &lt;li&gt;Enables new scenarios              &lt;ul&gt;               &lt;li&gt;Multiple IIS websites &lt;/li&gt;                &lt;li&gt;Multiple virtual machines &lt;/li&gt;                &lt;li&gt;Configure IIS extensions &lt;/li&gt;                &lt;li&gt;Web Deploy for Rapid development &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Windows Server 2008 R2 &amp;amp; IIS 7.5 &lt;/li&gt;        &lt;li&gt;Elevated Privileges &lt;/li&gt;        &lt;li&gt;Windows Azure Connect (CTP) &lt;/li&gt;        &lt;li&gt;Windows Azure Virtual Machine Role (Beta) &lt;/li&gt;        &lt;li&gt;Extra Small Instances &lt;/li&gt;        &lt;li&gt;Startup Tasks &amp;amp; Admin Mode          &lt;ul&gt;           &lt;li&gt;Enables short, unattended setups on role startup &lt;/li&gt;            &lt;li&gt;Silent MSIs, COM components, Registry Keys, Configuring Windows Server Roles, etc &lt;/li&gt;            &lt;li&gt;Configuration Sample for startup tasks in the ServiceConfiguration.cscfg              &lt;ul&gt;               &lt;li&gt;&amp;lt;WebRole name=”test”&amp;gt;                  &lt;ul&gt;                   &lt;li&gt;&amp;lt;Startup&amp;gt;                      &lt;ul&gt;                       &lt;li&gt;&amp;lt;Task commandline=”&amp;lt;commandToBeRunned&amp;gt;” executingContext=”limited|elevated” taskType=”simple|foreground|background”/&amp;gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;&amp;lt;/Startup&amp;gt; &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;&amp;lt;/WebRole&amp;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;p&gt;&lt;strong&gt;Windows Azure Content Delivery Network (CDN)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enabled from Windows Azure Platform Portal &lt;/li&gt;    &lt;li&gt;Integrated with Storage (Blob Storage) &lt;/li&gt;    &lt;li&gt;Recent Enhancements      &lt;ul&gt;       &lt;li&gt;Delivery from Windows Azure Compute instances &lt;/li&gt;        &lt;li&gt;Https support &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CTP of Smooth Streaming – End of April 2011 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure AppFabric Access Control Service v 2.0 (ACS)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provides AuthN support using multiple identity providers      &lt;ul&gt;       &lt;li&gt;Easily integrate Live ID, Facebook, Yahoo, Google and Active Directory &lt;/li&gt;        &lt;li&gt;Support for WS-Federation, WS-Trust, OpenID 2.0, OAuth 2.0 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Familiar &amp;amp; Consistent .NET Programming Model      &lt;ul&gt;       &lt;li&gt;Use existing Windows Identity Foundations SDK &amp;amp; Assemblies &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;REST-based Service Management API      &lt;ul&gt;       &lt;li&gt;Integrate into your existing apps and control panels &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Now Available      &lt;ul&gt;       &lt;li&gt;No charge during promotion period ending January 1st, 2012 &lt;/li&gt;        &lt;li&gt;Low cost after the promotion: $1.99 per 100.000 transactions &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure AppFabric Caching&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Distributed in-memory cache for Windows Azure apps      &lt;ul&gt;       &lt;li&gt;Integrated directly with the cache using .NET client library &lt;/li&gt;        &lt;li&gt;Session State Provider for Windows Azure applications &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Caching provided as a building block service      &lt;ol&gt;       &lt;li&gt;Configure an AppFabric Namespace &lt;/li&gt;        &lt;li&gt;Choose your cache size &lt;/li&gt;        &lt;li&gt;Write code against that service &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Familiar &amp;amp; Consistent APIs      &lt;ul&gt;       &lt;li&gt;Same APIs as Windows Service AppFabric &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Available commercially by the end of April      &lt;ul&gt;       &lt;li&gt;Start using the CTP today at &lt;a href="http://portal.appfabriclabs.com"&gt;http://portal.appfabriclabs.com&lt;/a&gt; with no charge &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In the CTP only the Data Center of South Central US has the Caching Service      &lt;ul&gt;       &lt;li&gt;supported cache sizes: 128 MB, 256MB &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;After the end of April (commercial Availability) you’ll have it available in every data center with supported cache sizes from 128MB to 4GB &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Cloud Data Services&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SQL Azure Reporting (Currently in a Private CTP)      &lt;ul&gt;       &lt;li&gt;SQL Server Reporting provided as a Service &lt;/li&gt;        &lt;li&gt;Reports authored using existing tools (BIDS) and deployed to SQL Azure Reporting &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;SQL Azure Data Sync      &lt;ul&gt;       &lt;li&gt;Data synchronization provided as a Service &lt;/li&gt;        &lt;li&gt;Sync to/from SQL Azure Database &lt;/li&gt;        &lt;li&gt;Sync between SQL Server and SQL Azure &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Windows Azure DataMarket      &lt;ul&gt;       &lt;li&gt;Information marketplace for ISVs and IWs that provide trusted public domain &amp;amp; premium commercial data &lt;/li&gt;        &lt;li&gt;Now commercially available &lt;/li&gt;        &lt;li&gt;Firstly announced as codename “Dallas” &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Performance Matters&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The new Windows Azure Traffic Manager solved this problem &lt;/li&gt;    &lt;li&gt;Load Balancing across multiple Hosted Services &lt;/li&gt;    &lt;li&gt;Now Available in CTP &lt;/li&gt;    &lt;li&gt;Three scenarios that are currently in the CTP      &lt;ul&gt;       &lt;li&gt;Performance          &lt;ul&gt;           &lt;li&gt;Directs the user to the best / closest deployment &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Fault Tolerance          &lt;ul&gt;           &lt;li&gt;Redirect Traffic to another deployment based on availability &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Round Robin          &lt;ul&gt;           &lt;li&gt;Traffic routed to deployments based on a fixed ration &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Also allow to keep a status of all your apps in order to understand how to rout the traffic &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure Platform Access&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Azure Pass      &lt;ul&gt;       &lt;li&gt;Free 30-Day access to the platform &lt;/li&gt;        &lt;li&gt;Includes:          &lt;ul&gt;           &lt;li&gt;Compute: 3 small instances &lt;/li&gt;            &lt;li&gt;Storage: 3 GB + 250K transactions &lt;/li&gt;            &lt;li&gt;Data Transfer: 3GB in &amp;amp; 3GB out &lt;/li&gt;            &lt;li&gt;Database: 2x1GB Web Edition &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Signup: &lt;a href="http://windowsazurepass.com"&gt;http://windowsazurepass.com&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Enter code: MIXABC &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Introductory Trial      &lt;ul&gt;       &lt;li&gt;Available through September 30th, 2011 &lt;/li&gt;        &lt;li&gt;Includes:          &lt;ul&gt;           &lt;li&gt;Compute: 750 extra small hours + 25 small &lt;/li&gt;            &lt;li&gt;Storage: 20GB + 50K transactions &lt;/li&gt;            &lt;li&gt;Data Transfer: 20GB in &amp;amp; 20 GB out &lt;/li&gt;            &lt;li&gt;Database: 1 GB Web Edition (90 Days) &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Sign-up: &lt;a href="http://windowsazure.com"&gt;http://windowsazure.com&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Note: Requires Credit Card Information but allows you to access CTP services&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Ultimate      &lt;ul&gt;       &lt;li&gt;Compute: 1.500 hours of small instances &lt;/li&gt;        &lt;li&gt;Storage: 30 GB &lt;/li&gt;        &lt;li&gt;Transactions: 2M &lt;/li&gt;        &lt;li&gt;Bandwidth: 35 GB in / 35 GB out &lt;/li&gt;        &lt;li&gt;Databases: 5 GB Web Edition &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Premium      &lt;ul&gt;       &lt;li&gt;Compute: 1.500 hours of extra-small instances &lt;/li&gt;        &lt;li&gt;Storage: 25 GB &lt;/li&gt;        &lt;li&gt;Transactions: 1M &lt;/li&gt;        &lt;li&gt;Bandwidth: 30 GB in / 30 GB out &lt;/li&gt;        &lt;li&gt;Databases: 1 GB Web Edition &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Professional      &lt;ul&gt;       &lt;li&gt;Compute: 750 hours of extra-small instances &lt;/li&gt;        &lt;li&gt;Storage: 20 GB &lt;/li&gt;        &lt;li&gt;Transactions: 250K &lt;/li&gt;        &lt;li&gt;Bandwidth: 25 GB in / 25 GB out &lt;/li&gt;        &lt;li&gt;Databases: 1 GB Web Edition &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Azure Platform Training Kit April 2011 Update (&lt;a href="http://bit.ly/WATKApr11"&gt;http://bit.ly/WATKApr11&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;Windows Azure Accelerator for Umbraco (&lt;a href="http://bit.ly/WAAUmbraco"&gt;http://bit.ly/WAAUmbraco&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;ACS Extensions for Umbraco (&lt;a href="http://bit.ly/ACSUmbraco"&gt;http://bit.ly/ACSUmbraco&lt;/a&gt;)&lt;!--EndFragment--&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Interesting topics&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can select which OSFamily you want to use by editing the ServiceConfiguration.cscfg file with the values:      &lt;ul&gt;       &lt;li&gt;1 – Windows Server 2008 &lt;/li&gt;        &lt;li&gt;2 – Windows Server 2008 R2 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Currently ASP.NET MVC 3 isn’t available on Windows Azure and so you need to install it using a Startup Task &lt;/li&gt;    &lt;li&gt;Release of some Extensions for ACS 2.0 that allow ACS to be plugged directly in Umbraco allowing it to configured without going to the Management Portal &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Fri, 22 Apr 2011 14:37:16 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-what-s-new-in-the-windows-azure-platform</guid><category>AppFabric</category><category>MIX11</category><category>Windows Azure</category><category>Windows Azure DataMarket</category><category>Windows Azure Service Platform</category></item><item><title>MIX11 - Session Review - HTML5 for Silverlight Developers</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-html5-for-silverlight-developers</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/22/mix11-session-review-html5-for-silverlight-developers.aspx"&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;Giorgio Sardo &lt;/strong&gt;(Senior Technical Evangelist)&lt;/p&gt;  &lt;p&gt;What is HTML5?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Currently Working Draft &lt;/li&gt;    &lt;li&gt;Microsoft believes that HTML5 is ready to go “Last Call” (Feature Complete) and early May 2011      &lt;ul&gt;       &lt;li&gt;This isn’t everything that has been talked about as being HTML5 since several different specs related to HTML5 are being worked on and in different stages &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Developer Web Platform&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;XAML &lt;/li&gt;        &lt;li&gt;Managed Languages &lt;/li&gt;        &lt;li&gt;.NET APIs &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Browser&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;HTML &lt;/li&gt;        &lt;li&gt;SVG &lt;/li&gt;        &lt;li&gt;CSS &lt;/li&gt;        &lt;li&gt;Javascript &lt;/li&gt;        &lt;li&gt;Web Apps &lt;/li&gt;        &lt;li&gt;Note: For Microsoft, Silverlight shouldn’t compete with HTML5, but really being an extension for HTML5, since it does things that are currently not possible in HTML6. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Client Side Frameworks&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;jQuery &lt;/li&gt;        &lt;li&gt;Modernizr &lt;/li&gt;        &lt;li&gt;RxJs &lt;/li&gt;        &lt;li&gt;… &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Comparing some elements between HTML5 and Silverlight&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p align="center"&gt;&lt;strong&gt;HTML5&lt;/strong&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="300"&gt;           &lt;p align="center"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;Doctype&lt;/td&gt;          &lt;td valign="top" width="300"&gt;App Manifest&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;SVG&lt;/td&gt;          &lt;td valign="top" width="300"&gt;XAML Graphics&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;SVG Styles&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Resource Dictionaries&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;Canvas&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Canvas/WritableBitmap&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;Audio &amp;amp; Video&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Audio &amp;amp; Video&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;CSS3 Grid, Flexbox&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Layout Controls&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;CSS3 WOFF&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Typography&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;CSS3 Transforms&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Transforms&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;DOM&lt;/td&gt;          &lt;td valign="top" width="300"&gt;OO and Event Model&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;Timer&lt;/td&gt;          &lt;td valign="top" width="300"&gt;DispatcherTimer&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;Ecma Script 5&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Managed Languages&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;XDomainRequest&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Crossdomainpolicy.xml&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;Web Storage&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Isolated Storage&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;windowPerformance&lt;/td&gt;          &lt;td valign="top" width="300"&gt;Profiling&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2010 SP1 &lt;/li&gt;    &lt;li&gt;Microsoft Expression      &lt;ul&gt;       &lt;li&gt;Microsoft Expression Design &lt;/li&gt;        &lt;li&gt;Microsoft Expression Web &lt;/li&gt;        &lt;li&gt;Microsoft Expression Encoder &lt;/li&gt;        &lt;li&gt;Microsoft Expression Super Preview &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;AI-&amp;gt;Canvas &lt;/li&gt;    &lt;li&gt;AI &lt;/li&gt;    &lt;li&gt;Inkscape &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;HTML5 DOC Type&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Similar purpose to the AppManifest in Silveright &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SVG&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SVG Stands for Scalable Vector Graphics, an XML grammar for stylable grafics, usable as an XML namespace &lt;/li&gt;    &lt;li&gt;Hosted as inline HTML, image, frame &lt;/li&gt;    &lt;li&gt;Similar to XAML &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SVG Graphics&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Shapes: ‘path’, ‘rect’, ‘circle’, ‘ellipse’, ‘line’, ‘polyline’ and ‘polygon’ &lt;/li&gt;    &lt;li&gt;Text &lt;/li&gt;    &lt;li&gt;Solid Colors, Linear and Radial Gradients, Pattterns &lt;/li&gt;    &lt;li&gt;Raster Images &lt;/li&gt;    &lt;li&gt;As in XAML you can use ViewBox &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SVG Resources&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;‘defs’ – defines the resources / ‘use’ – uses the resource      &lt;ul&gt;       &lt;li&gt;in XAML you can apply resource to just one scope and in SVG defs are accessible to all, like a Page Resource in XAML &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;‘g’ – groups ‘defs’ &lt;/li&gt;    &lt;li&gt;CSS styling      &lt;ul&gt;       &lt;li&gt;you can use CSS rules to style SVG &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Everything you draw in SVG as action and events &lt;/li&gt;    &lt;li&gt;It doesn’t exist any &lt;strong&gt;Visual State Manager&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;HTML5 &amp;lt;Canvas&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;HTML5 &amp;lt;canvas&amp;gt; != Silverlight canvas &lt;/li&gt;    &lt;li&gt;Gives your Pixel Manipulation &lt;/li&gt;    &lt;li&gt;the content of the &amp;lt;canvas&amp;gt; is the fallback that will appear in case of the browser no supporting that element &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;HTML5 &amp;lt;audio&amp;gt; &amp;amp; &amp;lt;video&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Suggested codec: MPEG-4 (H.264), MP3 &lt;/li&gt;    &lt;li&gt;Composite with HTML content &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Not supported&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Full screen &lt;/li&gt;        &lt;li&gt;Smooth Streaming &lt;/li&gt;        &lt;li&gt;DRM &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;CSS3 Layout&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight Border = CSS3 Border &lt;/li&gt;    &lt;li&gt;Silverlight Canvas = absolute positioning &lt;/li&gt;    &lt;li&gt;Silverlight Grid = CSS3 Grid (submitted by Microsoft to W3C) &lt;/li&gt;    &lt;li&gt;Silverlight Stackpanel: CSS3 Flexbox &lt;/li&gt;    &lt;li&gt;Silverlight ViewBox: SVG ViewBox &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;CSS3 WOFF&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Typography &lt;/li&gt;    &lt;li&gt;@font-face (submitted by Microsoft and Mozilla to W3C) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Javascript and DOM&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Classic” Javascript &lt;/li&gt;    &lt;li&gt;APIs exposed by the DOM:      &lt;ul&gt;       &lt;li&gt;DOM core &lt;/li&gt;        &lt;li&gt;DOM Events &lt;/li&gt;        &lt;li&gt;DOM HTML &lt;/li&gt;        &lt;li&gt;DOM Style &lt;/li&gt;        &lt;li&gt;… (around 20) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;ECMA Script 5 simplifies the development &lt;/li&gt;    &lt;li&gt;Frameworks      &lt;ul&gt;       &lt;li&gt;jQuery, … &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Animations&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;setTimer() and setInterval() are your best friend &lt;/li&gt;    &lt;li&gt;Be carefull since in Web you have only 1 thread &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Cross Domain Requests&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In Silverlight we have the crossdomainpolicy.xml &lt;/li&gt;    &lt;li&gt;In HTML5 it uses Headers (origin) using XDomainAddress &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;HTML5 Web Storage&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Similar to Silverlight Isolated Storage &lt;/li&gt;    &lt;li&gt;Local or Session Storage &lt;/li&gt;    &lt;li&gt;Based on Key/Value pairs &lt;/li&gt;    &lt;li&gt;Limit 5MB per domain &lt;/li&gt;    &lt;li&gt;Currently you can’t increase the limit &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Profiling&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;windows.Performance.timing.ToJSON() – Proposed by Microsoft and currently a standard &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Frameworks&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;jQuery &lt;/li&gt;    &lt;li&gt;Modernizr &lt;/li&gt;    &lt;li&gt;Raphael &lt;/li&gt;    &lt;li&gt;RxJs &lt;/li&gt;    &lt;li&gt;Script# &lt;/li&gt;    &lt;li&gt;MVVM for JS (????) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;More to come …&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Network: HTML5 Web Sockets &lt;/li&gt;    &lt;li&gt;Database: HTML5 IndexedDB &lt;/li&gt;    &lt;li&gt;Devices: HTML5 Media Capture APIs &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/giorgio"&gt;http://blogs.msdn.com/giorgio&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://beautyoftheweb.com"&gt;http://beautyoftheweb.com&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ietestdrive.com"&gt;http://ietestdrive.com&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://html5labs.com"&gt;http://html5labs.com&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Fri, 22 Apr 2011 12:06:43 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-html5-for-silverlight-developers</guid><category>HTML5</category><category>MIX11</category><category>Silverlight</category></item><item><title>MIX11 - Session Review - Silverlight Performance Tips</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-silverlight-performance-tips</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/22/mix11-session-review-silverlight-performance-tips.aspx"&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;Michael Cook &lt;/strong&gt;( Developer on Silverlight Performance )&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Ideology&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Develop a performance &lt;strong&gt;&lt;em&gt;culture&lt;/em&gt;&lt;/strong&gt; in your group           &lt;ul&gt;           &lt;li&gt;Test throughout your product cycle &lt;/li&gt;            &lt;li&gt;Automate your performance Tests &lt;/li&gt;            &lt;li&gt;Use your customer’s target hardware &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Performance is a &lt;strong&gt;&lt;em&gt;feature, &lt;/em&gt;&lt;/strong&gt;treat it like one!           &lt;ul&gt;           &lt;li&gt;Spec &lt;/li&gt;            &lt;li&gt;Schedule &lt;/li&gt;            &lt;li&gt;Sign-off &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Profiling with Visual Studio 2010&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Sampled profiling &lt;strong&gt;(Available for Silverlight in the SP1 of VS2010)&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Collects statistics about program execution              &lt;ul&gt;               &lt;li&gt;Identifies execution bottlenecks &lt;/li&gt;                &lt;li&gt;Low overhead &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Available on VS2010 Premium and Professional &lt;/li&gt;            &lt;li&gt;If you don’t have it just use the WIndows Performance Toolkit (XPerf) – Free &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Using the “EnableRedrawRegions” flag&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;How?&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;SilverlightHost host= Application.Current.Host; &lt;/li&gt;            &lt;li&gt;host.Settings.EnableRedrawRegions = true; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Analyzing memory usage&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;What is memory profiling?          &lt;ul&gt;           &lt;li&gt;Analysis of the working set of an application &lt;/li&gt;            &lt;li&gt;Careful, the terminology is confusing              &lt;ul&gt;               &lt;li&gt;VMMap.chm is a good authority for defining memory related terms &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;What is working set?          &lt;ul&gt;           &lt;li&gt;represents the amount of committed virtual memory that is physical memory and owned by the process &lt;/li&gt;            &lt;li&gt;Most developers only look at “private” &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Getting Started          &lt;ul&gt;           &lt;li&gt;VMMap              &lt;ul&gt;               &lt;li&gt;Great tool for getting 30.000 ft view of what’s going on in your app memory footprint &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Managed Memory          &lt;ul&gt;           &lt;li&gt;WinDbg + Son of Strike (SOS) extension              &lt;ul&gt;               &lt;li&gt;Debugger extension for WinDbg &lt;/li&gt;                &lt;li&gt;Allow you to inspect the live managed heap in an application &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Some commands for quick reference              &lt;ul&gt;               &lt;li&gt;!loadby sos coreclr &lt;/li&gt;                &lt;li&gt;!dumpheap –stat &lt;/li&gt;                &lt;li&gt;!dumpheap –type &amp;lt;typename&amp;gt; &lt;/li&gt;                &lt;li&gt;!dumpheap –mt &amp;lt;metertag&amp;gt; &lt;/li&gt;                &lt;li&gt;!gcroot &amp;lt;address&amp;gt; &lt;/li&gt;                &lt;li&gt;!do &amp;lt;address&amp;gt; &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Third-party Memory Profilers are also interesting &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Native Memory          &lt;ul&gt;           &lt;li&gt;XPerf native heap analysis              &lt;ul&gt;               &lt;li&gt;HeapMonitor.cmd makes it easier (Silverlight Performance Blog) &lt;/li&gt;                &lt;li&gt;HeapMonitor.cmd –p %pid% &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;General Tips &amp;amp; Tricks&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Improve Startup&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;The cardinal rule&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;Do the absolute minimum required to display your main screen &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Methods              &lt;ul&gt;               &lt;li&gt;Simplify your XAML &lt;/li&gt;                &lt;li&gt;Load less data and/or load data asynchronously &lt;/li&gt;                &lt;li&gt;Reduce your XAP download size                  &lt;ul&gt;                   &lt;li&gt;Time Heuer’s “Loading Dynamic XAPs and Assemblies” &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Use a splash screen if needed &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Improve runtime performance&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Reduce the complexity of the visual tree &lt;/li&gt;            &lt;li&gt;Update only what is necessary on the screen              &lt;ul&gt;               &lt;li&gt;Use “EnableRedrawRegions” &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Avoid updating elements with effects applied (eg. Shader Effects) &lt;/li&gt;            &lt;li&gt;Leverage GPU acceleration and cached composition &lt;/li&gt;            &lt;li&gt;Use BackgroundWorker for long running operations &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight Performance Blog: &lt;a href="http://blogs.msdn.com/b/slperf"&gt;http://blogs.msdn.com/b/slperf&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Visual Studio Profiler Blog: &lt;a href="http://blogs.msdn.com/b/profiler"&gt;http://blogs.msdn.com/b/profiler&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;VMMap: &lt;a href="http://technet.microsoft.com/en-us/sysinternals/dd535533.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/dd535533.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;WinDbg + SOS (Debugging Tools for Windows):      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;http://www.microsoft.com/whdc/devtools/debugging/default.mspx&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb19764.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb19764.aspx&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;XPerf (Windows Performance Toolkit)      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/performance/cc825801.aspx"&gt;http://msdn.microsoft.com/en-us/performance/cc825801.aspx&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Silverlight Performance Spy (Silverlight Spy) &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Fri, 22 Apr 2011 12:00:04 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-silverlight-performance-tips</guid><category>MIX11</category><category>Performance</category><category>Silverlight</category></item><item><title>MIX11 - Session Review - Advanced Features in Silverlight 5</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-session-review-advanced-features-in-silverlight-5</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/22/mix11-session-review-advanced-features-in-silverlight-5.aspx"&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;Nick Kramer&lt;/strong&gt; (Senior Program Manager in the Silverlight Team) &lt;a href="mailto:nkramer@microsoft.com"&gt;nkramer@microsoft.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Unrestricted File Access&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;In Silverlight 4 trusted Apps can access          &lt;ul&gt;           &lt;li&gt;Documents &lt;/li&gt;            &lt;li&gt;Music &lt;/li&gt;            &lt;li&gt;Pictures &lt;/li&gt;            &lt;li&gt;Videos &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Silverlight 5 Trusted Aps can access everything          &lt;ul&gt;           &lt;li&gt;Using Standard System.IO classes &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Trusted Apps In-Browser&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;SL4: has OOB apps run in trusted with user consent &lt;/li&gt;        &lt;li&gt;SL5: in-browser trusted apps with admin consent          &lt;ul&gt;           &lt;li&gt;Set permissions via group policy &lt;/li&gt;            &lt;li&gt;No prompts or installs &lt;/li&gt;            &lt;li&gt;familiar navigation model &lt;/li&gt;            &lt;li&gt;can be part of a large HTML site              &lt;table border="0" cellspacing="0" cellpadding="2" width="364"&gt;&lt;tbody&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;&lt;strong&gt;Feature&lt;/strong&gt;&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;&lt;strong&gt;Sandboxed App&lt;/strong&gt;&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;&lt;strong&gt;Trusted SL4 App&lt;/strong&gt;&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;&lt;strong&gt;Trusted SL5 App&lt;/strong&gt;&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;Prompt-free&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;Yes&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;Yes&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;Cross domain networking&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;Yes&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;Yes&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;Full keyboard in fullscreen mode&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;Yes&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;Yes&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;COM&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;Yes&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;Yes&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;&lt;strong&gt;Unrestricted File Access&lt;/strong&gt;&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;Special Folders only&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;&lt;strong&gt;P/Invoke&lt;/strong&gt;&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td valign="top" width="176"&gt;&lt;strong&gt;Run in-browser&lt;/strong&gt;&lt;/td&gt;                    &lt;td valign="top" width="58"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="65"&gt;No&lt;/td&gt;                    &lt;td valign="top" width="63"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;                 &lt;/tr&gt;               &lt;/tbody&gt;&lt;/table&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Creating a In-Browser Trusted App          &lt;ul&gt;           &lt;li&gt;Part 1 – Ask for Trust:              &lt;ul&gt;               &lt;li&gt;In the current Beta it’s just like SL4 trusted OOB                  &lt;ul&gt;                   &lt;li&gt;Set the OOB SecuritySettings ElevatedPermissions = “Required” &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Part 2 – Sign your XAP              &lt;ul&gt;               &lt;li&gt;Sign your .xap                  &lt;ul&gt;                   &lt;li&gt;Same as for a trusted OOB &lt;/li&gt;                    &lt;li&gt;In Visual Studio or on command line &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Note: if you run an in-browser trusted app in localhost you don’t need to sign your .xap file&lt;/strong&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;&lt;strong&gt;Group Policy&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Actually, only one permission – Trusted or not &lt;/li&gt;        &lt;li&gt;Network admin specifies which publishers are trusted          &lt;ul&gt;           &lt;li&gt;Publishers identified by Authenticode certificate &lt;/li&gt;            &lt;li&gt;Put certificate in client machine’s trust publisher store &lt;/li&gt;            &lt;li&gt;Same as ClickOnce &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Xaps are associated with publishers by Authenticode &lt;/li&gt;        &lt;li&gt;The trust is not for a specific app but for a certificate, and so every sl5 app that is sign with the same certificate will be trusted &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;P/Invoke&lt;/strong&gt; (Coming Soon) – Only on Windows       &lt;ul&gt;       &lt;li&gt;P/Invoke lets you call native code &lt;/li&gt;        &lt;li&gt;COM (SL4) also lets you call native code          &lt;ul&gt;           &lt;li&gt;Anything you can do with COM can also be done with P/Invoke              &lt;ul&gt;               &lt;li&gt;Strongly Typed &lt;/li&gt;                &lt;li&gt;No COM registration &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;P/Invoke is optimized for Win32 APIs &amp;amp; native C/C++ code &lt;/li&gt;            &lt;li&gt;COM is optimized for COM Automation APIs, example Office &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;COM &amp;amp; P/Invoke are available on Windows to trusted apps &lt;/li&gt;        &lt;li&gt;How to use it          &lt;ul&gt;           &lt;li&gt;Works exactly the same as in the .NET Framework &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Part 1: Setting up the declaration&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;&lt;strong&gt;[DllImport(“kernel32.dll”)]&lt;/strong&gt; &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;static extern int GetDriveType(string lpRootPathName);&lt;/strong&gt; &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Part 2: Using it&lt;/strong&gt;               &lt;ul&gt;               &lt;li&gt;&lt;strong&gt;int type = GetDriveType(drive); &lt;/strong&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;&lt;strong&gt;HTML Support&lt;/strong&gt; (Coming Soon)       &lt;ul&gt;       &lt;li&gt;Use HTML inside Silverlight Apps          &lt;ul&gt;           &lt;li&gt;To reuse existing HTML/ASP.NET content &lt;/li&gt;            &lt;li&gt;To integrate with outside websites &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;In SL4, only OOB’s got WebBrowser (based on the WebOC) &lt;/li&gt;        &lt;li&gt;In SL5, in-browser WebBrowser support (based on WebOC/IE)          &lt;ul&gt;           &lt;li&gt;trying to extent that to browsers not WebOC &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;WebBrowser &lt;/strong&gt;control &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Currently with SL5 the WebBrowser control in-Browser runs only on IE &lt;/li&gt;        &lt;li&gt;You also have the WebBrowser Brush that is not interactive but it will make it possible to use it as the brush for other controls &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Multiple Windows&lt;/strong&gt; (Coming Soon)       &lt;ul&gt;       &lt;li&gt;Works only in OOB &lt;/li&gt;        &lt;li&gt;System.Windows.Window is now an instantiable class          &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Window w = new Windows();&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;w.Height=400;&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;w.Width=600;&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;w.Content = new MyUserControl();&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;w.Visibility = Visibility.Visible;&lt;/strong&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Window Titles and Positioning are now completely up to the developer, and not strict as it was in SL4 &lt;/li&gt;        &lt;li&gt;Sandboxed OOBs automatically have the domain name added to the window title as a security measure &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;64-bit&lt;/strong&gt; (Coming Soon)       &lt;ul&gt;       &lt;li&gt;64-bit machines &amp;amp; apps becoming increasingly common &lt;/li&gt;        &lt;li&gt;SL5 can run in 64-bit process          &lt;ul&gt;           &lt;li&gt;64-bit browsers &lt;/li&gt;            &lt;li&gt;Sidebar on 64-bit Windows &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Why 64-bit is interesting          &lt;ul&gt;           &lt;li&gt;Because you don’t get to choose the browser &lt;/li&gt;            &lt;li&gt;Because you’re native hosting in 64-bit process &lt;/li&gt;            &lt;li&gt;Because you need a &lt;strong&gt;lot &lt;/strong&gt;of address space (taking advantage of address space) &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Pivot Viewer&lt;/strong&gt; (Coming Soon)       &lt;ul&gt;       &lt;li&gt;Ships as part of the SL5 SDK &lt;/li&gt;        &lt;li&gt;Dynamic client-based collections &lt;/li&gt;        &lt;li&gt;XAML-based visuals          &lt;ul&gt;           &lt;li&gt;You can define your visuals instead of the Bitmap &lt;/li&gt;            &lt;li&gt;You can define different visuals for different zoom levels &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Customizability          &lt;ul&gt;           &lt;li&gt;Now we have access to the fonts, sizes, colors, and so on .. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;It will have the same process for binding as the DataGrid &lt;strong&gt;(ItemsSource)&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Silverlight still has size constraints, currently with 7 MB with the version 5.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Call to Action&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Silverlight 5 ships in the second half of 2011&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/nickkramer/"&gt;http://blogs.msdn.com/nickkramer/&lt;/a&gt;&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Fri, 22 Apr 2011 11:41:04 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-session-review-advanced-features-in-silverlight-5</guid></item><item><title>MIX11 - Day Two Keynote - Kinect Part</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-day-two-keynote-kinect-part</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/14/mix11-day-two-keynote-kinect-part.aspx"&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;Jess Sandquist (Senior Director)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Announcing: &lt;/strong&gt;Kinect for Windows SDK –research.microsoft.com/kinectsdk       &lt;ul&gt;       &lt;li&gt;Available later this spring &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Thu, 14 Apr 2011 00:34:35 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-day-two-keynote-kinect-part</guid><category>Kinect</category><category>MIX11</category></item><item><title>MIX11 - Day Two Keynote - Silverlight Part</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-day-two-keynote-silverlight-part</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/14/mix11-day-two-keynote-silverlight-part.aspx"&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;Scott Guthrie (Corporate Vice President)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In December Silverlight 5 was announced&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;New Features&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Media&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Hardware decode&lt;/li&gt;      &lt;li&gt;Integrating with IE9 Hardware accelerated graphics&lt;/li&gt;      &lt;li&gt;TrickPlay&lt;/li&gt;      &lt;li&gt;Remote Control&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Better Text Quality&lt;/li&gt;    &lt;li&gt;New 3D Api&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Uses the familiar XNA 3D APIs&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;64 bits version&lt;/li&gt;    &lt;li&gt;Projection&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Project 2D Objects in 3D Space&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Binding in Style Setters&lt;/li&gt;    &lt;li&gt;Implicit Data Templates&lt;/li&gt;    &lt;li&gt;DataBinding Debugging&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Breakpoints inside XAML&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;The Source code for the Demo shown will be available in the near future.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Announcing: &lt;/strong&gt;Silverlight 5 Beta, Visual Studio 2010 SP1 Tools for Silverlight 5, Microsoft Expression Blend 5&lt;/li&gt; &lt;/ul&gt;</description><pubDate>Thu, 14 Apr 2011 00:08:46 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-day-two-keynote-silverlight-part</guid><category>MIX11</category><category>Silverlight</category></item><item><title>MIX11 - Day Two Keynote - Windows Phone 7 Part</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-day-two-keynote-windows-phone-7-part</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/14/mix11-day-two-keynote-windows-phone-7-part.aspx"&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;Joe Belfiore (Corporate VP)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Passionate Community (#wp7dev)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.youtube.com/windowsphone"&gt;www.youtube.com/windowsphone&lt;/a&gt; video done by Brandon Foy - @brandonfoy – brandonfoy.tv&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Updates      &lt;ul&gt;       &lt;li&gt;Why are the updates later then expected?          &lt;ul&gt;           &lt;li&gt;Problems with some vendor phones with some problems from the factory. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Who decides when an update can actually ship?          &lt;ul&gt;           &lt;li&gt;For open phones Microsoft ships updates directly &lt;/li&gt;            &lt;li&gt;For Operator Phones they require the Operator Testing Process Approval &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Current Nearly 12.000 apps in the MarketPlace currently &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Future / Next Steps&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Significant update in the fall. Codename Mango &lt;/li&gt;        &lt;li&gt;Features in Mango for Developers          &lt;ul&gt;           &lt;li&gt;Opportunity              &lt;ul&gt;               &lt;li&gt;Areas that Microsoft is working on:                  &lt;ul&gt;                   &lt;li&gt;Ecosystem &lt;/li&gt;                    &lt;li&gt;Countries &lt;/li&gt;                    &lt;li&gt;Discoverability &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;What to expect?&lt;!--EndFragment--&gt;                  &lt;ul&gt;                   &lt;li&gt;Enable More Countries and more places &lt;/li&gt;                    &lt;li&gt;Scale of users                      &lt;ul&gt;                       &lt;li&gt;IDC &amp;amp; Gartner suggest that by 2015 Windows Phone will be the second largest ecosystem in the world &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Creation and Commerce                      &lt;ul&gt;                       &lt;li&gt;Supporting 16 more languages &lt;/li&gt;                        &lt;li&gt;More Countries that you can create apps – from 30 to 38 &lt;/li&gt;                        &lt;li&gt;Increase the number of countries that you can buy apps – from 16 to 35 &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;What that the Experience and Discoverability will be made easier when looking for apps in the marketplace                      &lt;ul&gt;                       &lt;li&gt;Hunting for an installed app is hard                          &lt;ul&gt;                           &lt;li&gt;JumpLists in the app list like in the people/contacts &lt;/li&gt;                            &lt;li&gt;Search in the app list &lt;/li&gt;                            &lt;li&gt;Search on MarketPlace                              &lt;ul&gt;                               &lt;li&gt;More Metadata available &lt;/li&gt;                                &lt;li&gt;Separate pivots for each type of app &lt;/li&gt;                             &lt;/ul&gt;                           &lt;/li&gt;                            &lt;li&gt;Buying Process                              &lt;ul&gt;                               &lt;li&gt;Pivot in the App information prior to buying &lt;/li&gt;                             &lt;/ul&gt;                           &lt;/li&gt;                         &lt;/ul&gt;                       &lt;/li&gt;                        &lt;li&gt;Multi-Tasking UI &lt;/li&gt;                        &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Search Extras                           &lt;ul&gt;                           &lt;li&gt;Helping integrating extra apps in the search experience &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;Capability              &lt;ul&gt;               &lt;li&gt;Areas Areas that Microsoft is working on:                  &lt;ul&gt;                   &lt;li&gt;Browser &lt;/li&gt;                    &lt;li&gt;Phone Integration &lt;/li&gt;                    &lt;li&gt;Multi-Tasking &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Support for IE9 in the Windows Phone 7 &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Background Audio is supported for Apps and HTML5 &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Support for video H.264 &lt;/li&gt;                &lt;li&gt;Comparing Browsers in Phones in the Speed Reading sample:                  &lt;ul&gt;                   &lt;li&gt;iPhone 4 – 2 FPS (frames per second) &lt;/li&gt;                    &lt;li&gt;Windows Phone 7 – 26 FPS (frames per second) &lt;/li&gt;                    &lt;li&gt;Nexus S – 11 FPS (frames per second) &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Phone Integration                  &lt;ul&gt;                   &lt;li&gt;User Experience Enhancements                      &lt;ul&gt;                       &lt;li&gt;Improvement in the Panorama and Pivot Control &lt;/li&gt;                        &lt;li&gt;Live Tiles Improvements                          &lt;ul&gt;                           &lt;li&gt;Animations &lt;/li&gt;                            &lt;li&gt;Ways to the developer updating the live tiles &lt;/li&gt;                         &lt;/ul&gt;                       &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Support for TCP/IP sockets &lt;/li&gt;                    &lt;li&gt;Built-in SQL Database &lt;/li&gt;                    &lt;li&gt;more launchers &amp;amp; choosers &lt;/li&gt;                    &lt;li&gt;Access to Contacts &amp;amp; Calendar &lt;/li&gt;                    &lt;li&gt;Sensors                      &lt;ul&gt;                       &lt;li&gt;Raw Camera Data &lt;/li&gt;                        &lt;li&gt;Compass &lt;/li&gt;                        &lt;li&gt;Gyro &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Skype for Windows Phone 7 will be available this fall &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Adding you own audio files and make done into ringtones &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Live Tiles with Deeplinking to your apps &lt;/li&gt;                    &lt;li&gt;Coding Sensors made easy                      &lt;ul&gt;                       &lt;li&gt;Announcing Motion Sensor API &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Multi-Tasking                      &lt;ul&gt;                       &lt;li&gt;Fast App switching &lt;/li&gt;                        &lt;li&gt;Background Audio &lt;/li&gt;                        &lt;li&gt;File Download Service &lt;/li&gt;                        &lt;li&gt;Alarms &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Announcement:&lt;/strong&gt; Angry Birds coming to Windows Phone 7 in the 25th of May. &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Announcement:&lt;/strong&gt; Live Agents                       &lt;ul&gt;                       &lt;li&gt;To run code in background but having it battery efficient &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Announcement: &lt;/strong&gt;Developer Tools will be available Next Month &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Dev Experience              &lt;ul&gt;               &lt;li&gt;&lt;strong&gt;Talking about it: &lt;/strong&gt;Scott Guthrie (Corporate Vice President) &lt;/li&gt;                &lt;li&gt;Event Better Tools                  &lt;ul&gt;                   &lt;li&gt;Microsoft Visual Studio 2010                      &lt;ul&gt;                       &lt;li&gt;New Capabilities for the Emulator                          &lt;ul&gt;                           &lt;li&gt;Controlling the accelerometer &lt;/li&gt;                            &lt;li&gt;Simulating Gestures &lt;/li&gt;                            &lt;li&gt;Simulating Location (GPS) &lt;/li&gt;                         &lt;/ul&gt;                       &lt;/li&gt;                        &lt;li&gt;&lt;strong&gt;Announcement:&lt;/strong&gt; New Profiling Support                           &lt;ul&gt;                           &lt;li&gt;Identity Hotspots and pinpoint them &lt;/li&gt;                            &lt;li&gt;Based on:                              &lt;ul&gt;                               &lt;li&gt;Execution Time &lt;/li&gt;                                &lt;li&gt;Memory &lt;/li&gt;                             &lt;/ul&gt;                           &lt;/li&gt;                            &lt;li&gt;Provides helpful warnings for the part that is being analyzed &lt;/li&gt;                            &lt;li&gt;See the Call Stack &lt;/li&gt;                            &lt;li&gt;Analyze per frame basis &lt;/li&gt;                         &lt;/ul&gt;                       &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Microsoft Expression Blend &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Microsoft Internal Windows Phone 7 Performance Optimizations in the Mango Release                  &lt;ul&gt;                   &lt;li&gt;Scrolling and Input                      &lt;ul&gt;                       &lt;li&gt;User input is done now on a background thread instead of the UI Thread &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Image Decode                      &lt;ul&gt;                       &lt;li&gt;Done in a background Thread not blocking the UI Thread &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Garbage Collection &lt;/li&gt;                    &lt;li&gt;Memory Usage                      &lt;ul&gt;                       &lt;li&gt;25 to 30% memory improvement without any changes needed to be made to our apps &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Capabilities                  &lt;ul&gt;                   &lt;li&gt;Database                      &lt;ul&gt;                       &lt;li&gt;Includes a Built-in Local SQL Database (SQL CE) &lt;/li&gt;                        &lt;li&gt;Support Linq &lt;/li&gt;                        &lt;li&gt;Built-in full ORM &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Support for Network Sockets                      &lt;ul&gt;                       &lt;li&gt;Just the same code needed for Silverlight 4 &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Camera                      &lt;ul&gt;                       &lt;li&gt;Apps can now control directly the camera, having access to the RAW video &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Graphics                      &lt;ul&gt;                       &lt;li&gt;You can now do apps that compose both XNA and Silverlight at the same time &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;More than 1.500 new APIs &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;/ul&gt;</description><pubDate>Wed, 13 Apr 2011 23:49:57 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-day-two-keynote-windows-phone-7-part</guid><category>MIX11</category><category>Silverlight</category><category>Windows Phone 7</category></item><item><title>MIX11 – Day One Keynote – Developer Platform Part</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-day-one-keynote-developer-platform-part</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/12/mix11-day-one-keynote-developer-platform-part.aspx"&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;Scott Guthrie ( Corporate Vice President )&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Shipped over the Last 12 months:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2010 &lt;/li&gt;    &lt;li&gt;ASP.NET 4.0 &lt;/li&gt;    &lt;li&gt;ASP.NET MVC 3 &lt;/li&gt;    &lt;li&gt;WebMatrix &amp;amp; IIS Express &lt;/li&gt;    &lt;li&gt;Razor Syntax &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Launched the nuGet project&lt;/p&gt;  &lt;p&gt;Contributed for Open Source projects like jQuery&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ASP.NET MVC 3&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Announced Today a Refresh for ASP.NET MVC 3 tools that include:      &lt;ul&gt;       &lt;li&gt;HTML 5 &lt;/li&gt;        &lt;li&gt;jQuery 1.5 + Modernizr &lt;/li&gt;        &lt;li&gt;Entity Framework 4.1 (Shipping officially today)          &lt;ul&gt;           &lt;li&gt;Includes the CodeFirst capability &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Scaffolding support in VS2010 &lt;/li&gt;        &lt;li&gt;Preinstalled nuGet Packages &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;WebMatrix&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Popular WebMatrix Helpers      &lt;ul&gt;       &lt;li&gt;Facebook &lt;/li&gt;        &lt;li&gt;PayPal &lt;/li&gt;        &lt;li&gt;Twitter &lt;/li&gt;        &lt;li&gt;TemplateMonster.com &lt;/li&gt;        &lt;li&gt;WuFoo &lt;/li&gt;        &lt;li&gt;polldaddy &lt;/li&gt;        &lt;li&gt;bit.ly &lt;/li&gt;        &lt;li&gt;UserVoice &lt;/li&gt;        &lt;li&gt;get Satisfaction &lt;/li&gt;        &lt;li&gt;Scribd &lt;/li&gt;        &lt;li&gt;DISQUS &lt;/li&gt;        &lt;li&gt;Foursquare &lt;/li&gt;        &lt;li&gt;PlanCast &lt;/li&gt;        &lt;li&gt;EventBrite &lt;/li&gt;        &lt;li&gt;GroupOn &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Web Application Ecosystem      &lt;ul&gt;       &lt;li&gt;Several OpenSource Web Applications &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Orchard CMS&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Built on ASP.NET MVC 3 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Focus on Apps not Infrastructure &lt;/li&gt;    &lt;li&gt;Scale elastically &lt;/li&gt;    &lt;li&gt;Pay only for the resources that you use &lt;/li&gt;    &lt;li&gt;Announcements      &lt;ul&gt;       &lt;li&gt;v2 of Access Control Service &lt;/li&gt;        &lt;li&gt;Caching &lt;/li&gt;        &lt;li&gt;CDN &lt;/li&gt;        &lt;li&gt;Traffic Manager &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Niels Hartviq – Umbraco CMS&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A new Windows Azure option available in &lt;/li&gt;    &lt;li&gt;&lt;a href="http://waacceleratorumbraco.codeplex.com/" target="_blank"&gt;Windows Azure Accelerator for Umbraco&lt;/a&gt; available on CodePlex &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Tue, 12 Apr 2011 21:41:22 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-day-one-keynote-developer-platform-part</guid><category>AppFabric</category><category>ASP.NET MVC</category><category>OrchardCMS</category><category>WebMatrix</category><category>Windows Azure</category><category>Windows Azure Service Platform</category></item><item><title>MIX11–Day One Keynote – Internet Explorer Part</title><link>https://weblogs.asp.net:443/nunogodinho/mix11-day-one-keynote-internet-explorer-part</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/04/12/mix11-day-one-keynote-internet-explorer-part.aspx"&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;Dean Hachamovitch (Corporate Vice President)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;HTML5: Native Windows      &lt;ul&gt;       &lt;li&gt;Real-World HTML5 Applications          &lt;ul&gt;           &lt;li&gt;Features              &lt;ul&gt;               &lt;li&gt;GPU Acceleration &lt;/li&gt;                &lt;li&gt;Site Pinning &lt;/li&gt;                &lt;li&gt;JumpLists Integration &lt;/li&gt;                &lt;li&gt;SVG Integration &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Applications              &lt;ul&gt;               &lt;li&gt;FourSquare &lt;/li&gt;                &lt;li&gt;DirectorsCut &lt;/li&gt;                &lt;li&gt;PacMan &lt;/li&gt;                &lt;li&gt;Test Drive Site: PaintBall Application &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Moving the Web Forward. How?          &lt;ol&gt;           &lt;li&gt;Embrace Emerging Web Technologies &lt;/li&gt;            &lt;li&gt;Make them Competitive with “Native Applications” &lt;/li&gt;            &lt;li&gt;Use Hardware Acceleration &lt;/li&gt;            &lt;li&gt;Make them Site-Ready &lt;/li&gt;            &lt;li&gt;Use the Same Markup &lt;/li&gt;            &lt;li&gt;Embrace Web Standards &lt;/li&gt;            &lt;li&gt;Listen to Community Engagement &lt;/li&gt;            &lt;li&gt;Deliver Platform Previews &lt;/li&gt;         &lt;/ol&gt;       &lt;/li&gt;        &lt;li&gt;IE9 Patterns          &lt;ul&gt;           &lt;li&gt;Included Elements              &lt;ul&gt;               &lt;li&gt;Standards                  &lt;ul&gt;                   &lt;li&gt;HTML5                      &lt;ul&gt;                       &lt;li&gt;Inline SVG, Parsing Rules, XHTML, Selection APIs, &lt;strong&gt;Canvas, Audio &amp;amp; Video, Semantic Tags, Geolocation&lt;/strong&gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;SVG 1.1                      &lt;ul&gt;                       &lt;li&gt;A document as image or object, inline in HTML &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;CSS 3n                      &lt;ul&gt;                       &lt;li&gt;Selection, Namespaces, Colors, Values, Backgrounds and Borders, Fonts, &lt;strong&gt;Media Queries, 2D Transforms&lt;/strong&gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;DOM                      &lt;ul&gt;                       &lt;li&gt;Core, Events, Style and Range, … &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;ECMAScript 262                      &lt;ul&gt;                       &lt;li&gt;Faster JavaScript &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Graphics and Focus                      &lt;ul&gt;                       &lt;li&gt;JPEG-XR, TIFF, … &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Web Performance&lt;/strong&gt;                       &lt;ul&gt;                       &lt;li&gt;&lt;strong&gt;Navigation Timing&lt;/strong&gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;&lt;strong&gt;Privacy&lt;/strong&gt;                       &lt;ul&gt;                       &lt;li&gt;&lt;strong&gt;Tracking Protection&lt;/strong&gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;Community                  &lt;ul&gt;                   &lt;li&gt;Preview Builds                      &lt;ul&gt;                       &lt;li&gt;Updates approximately every 8 weeks &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Forums                      &lt;ul&gt;                       &lt;li&gt;more open feedback programs &lt;/li&gt;                        &lt;li&gt;&lt;strong&gt;HTML5 Labs&lt;/strong&gt; &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Standards                      &lt;ul&gt;                       &lt;li&gt;W3C Participation &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                    &lt;li&gt;Open Testing                      &lt;ul&gt;                       &lt;li&gt;Cooperative W3C test results &lt;/li&gt;                     &lt;/ul&gt;                   &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;                &lt;li&gt;&lt;strong&gt;Note: the Bold elements were added due to Community feedback&lt;/strong&gt; &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Demo Recap: IE10          &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Performance: Fishbowl&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;CSS3 MultiColumn Layout&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;CSS3 Grid Layout and CSS3 Flexible Box Layout&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;ECMAScript 5 Strict Mode&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;CSS3 Gradients&lt;/strong&gt; &lt;/li&gt;            &lt;li&gt;&lt;strong&gt;CSS3 Transitions and CSS3 3D Transforms&lt;/strong&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;What’s Next          &lt;ul&gt;           &lt;li&gt;Take Advantage of IE9 Today &lt;/li&gt;            &lt;li&gt;Emerging Standards at HTML5 Labs for your experimentation &lt;/li&gt;            &lt;li&gt;Take and Early Look of IE10              &lt;ul&gt;               &lt;li&gt;IE10 Platform Preview is available to download now at &lt;a href="http://www.ietestdrive.com" target="_blank"&gt;IETestDrive.com&lt;/a&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;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Save the Date: Announcing Microsoft next Developer Conference – September 13-16, 2011. Anaheim - California&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><pubDate>Tue, 12 Apr 2011 19:28:58 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/mix11-day-one-keynote-internet-explorer-part</guid><category>HTML5</category><category>IE10</category><category>IE9</category></item><item><title>Windows Azure Security Essentials – Part 2/N – Cloud Threats and how Windows Azure handle them</title><link>https://weblogs.asp.net:443/nunogodinho/windows-azure-security-essentials-part-2-n-cloud-threats-and-how-windows-azure-handle-them</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/02/09/windows-azure-security-essentials-part-2-n-cloud-threats-and-how-windows-azure-handle-them.aspx"&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; One of the very important part of security is to know you threats, and in Cloud it’s important to know what threads are different from the On-premise environments, and those are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Traditional threats, like:      &lt;ul&gt;       &lt;li&gt;Cross-site scripting (XSS), SQL Injection &lt;/li&gt;        &lt;li&gt;DoS Attacks, network spoofing, DDoS &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Old threads are mitigated by the system and are responsibilities of the Cloud Vendor      &lt;ul&gt;       &lt;li&gt;Patching is automated and instances are moved to secure systems &lt;/li&gt;        &lt;li&gt;Cloud resiliency improves failover across a service &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Also some of the existing threads are expanded, like:      &lt;ul&gt;       &lt;li&gt;Data privacy such as location and segregation &lt;/li&gt;        &lt;li&gt;Abuse of privilege access by admins &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;So new Threads also appear. Threads like:      &lt;ul&gt;       &lt;li&gt;Privilege escalations from the virtual machines to hosted server &lt;/li&gt;        &lt;li&gt;Breaking the boundaries between VM’s &lt;/li&gt;        &lt;li&gt;“Hyperjacking” &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160;&amp;#160; Windows Azure implements the following security measures:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="79"&gt;Level&lt;/td&gt;          &lt;td valign="top" width="521"&gt;Defenses in place&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="79"&gt;Data&lt;/td&gt;          &lt;td valign="top" width="521"&gt;           &lt;ul&gt;             &lt;li&gt;Strong storage keys fro access control &lt;/li&gt;              &lt;li&gt;SSL support for data transfers between all parts involved &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="79"&gt;Application&lt;/td&gt;          &lt;td valign="top" width="521"&gt;           &lt;ul&gt;             &lt;li&gt;Partial Trust mode to run public facing applications &lt;/li&gt;              &lt;li&gt;Windows account with least privileges in order to avoid gaining access to something important even if getting in the application &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="79"&gt;Host&lt;/td&gt;          &lt;td valign="top" width="521"&gt;           &lt;ul&gt;             &lt;li&gt;Special version of Windows Server 2008 R2 Operating System &lt;/li&gt;              &lt;li&gt;Host boundaries enforced by external hypervisor &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="79"&gt;Network&lt;/td&gt;          &lt;td valign="top" width="521"&gt;           &lt;ul&gt;             &lt;li&gt;Host firewall limiting traffic to the VMs &lt;/li&gt;              &lt;li&gt;VLANs and packet filters in routers &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="79"&gt;Physical&lt;/td&gt;          &lt;td valign="top" width="521"&gt;           &lt;ul&gt;             &lt;li&gt;World class physical security &lt;/li&gt;              &lt;li&gt;ISO 27001 and SAS 70 Type II certifications for datacenter processes &lt;/li&gt;           &lt;/ul&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/ul&gt;  &lt;ul&gt;&lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160;&amp;#160; Defenses inherited by Windows Azure Platform Applications&lt;/strong&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Type of Thread&lt;/td&gt;        &lt;td valign="top" width="370"&gt;Defense&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Spoofing&lt;/td&gt;        &lt;td valign="top" width="370"&gt;VLANs          &lt;br /&gt;Top Rack switches           &lt;br /&gt;Custom packet filtering&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Tampering / Disclosure&lt;/td&gt;        &lt;td valign="top" width="370"&gt;VM switch hardening          &lt;br /&gt;Certificate Services           &lt;br /&gt;Shared-access signatures           &lt;br /&gt;HTTPS           &lt;br /&gt;Side channel protections&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Repudiation&lt;/td&gt;        &lt;td valign="top" width="370"&gt;Monitoring          &lt;br /&gt;Diagnostics Service&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Denial of Service&lt;/td&gt;        &lt;td valign="top" width="370"&gt;Configurable scale-out&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Elevation of Privilege&lt;/td&gt;        &lt;td valign="top" width="370"&gt;Partial Trust Runtime          &lt;br /&gt;Hypervisor custom sandboxing           &lt;br /&gt;Virtual Service Accounts&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160; Windows Azure Data Center Security&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;World-Class Physical Security&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;24x7 secured access &lt;/li&gt;        &lt;li&gt;Electronically controlled access systems &lt;/li&gt;        &lt;li&gt;Video camera surveillance &lt;/li&gt;        &lt;li&gt;Motion detectors &lt;/li&gt;        &lt;li&gt;Security breach alarms &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Industry Certifications&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;ISO 27001-2005 &lt;/li&gt;        &lt;li&gt;SAS 70 Type II &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This information was achieved base on the following &lt;a href="http://channel9.msdn.com/posts/Windows-Azure-Platform-Security-Essentials-Module-1--Security-Architecture" target="_blank"&gt;video&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 09 Feb 2011 00:02:59 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/windows-azure-security-essentials-part-2-n-cloud-threats-and-how-windows-azure-handle-them</guid><category>Cloud Computing</category><category>Security</category><category>Windows Azure</category><category>Windows Azure Service Platform</category></item><item><title>Windows Azure Security Essentials – Part 1/N – Security Overview</title><link>https://weblogs.asp.net:443/nunogodinho/windows-azure-security-essentials-part-1-n-security-overview</link><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" data-button-style="normal-button" data-url="http://weblogs.asp.net/nunogodinho/archive/2011/02/08/windows-azure-security-essentials-part-1-n-security-overview.aspx"&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;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;/li&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;ul&gt;       &lt;li&gt;Customers create a Windows Azure subscription using LiveID credentials          &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;        &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;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;        &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;/li&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;ul&gt;       &lt;li&gt;&lt;strong&gt;SQL Server Logins&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Authenticate access to SQL Azure &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Database Users&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Grant access to the database level &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Database Roles&lt;/strong&gt;           &lt;ul&gt;           &lt;li&gt;Group users and grant to the database level &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Only SQL Server authentication is supported&lt;/strong&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;    &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;ul&gt;       &lt;li&gt;Used to create additional user accounts &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&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;</description><pubDate>Tue, 08 Feb 2011 23:37:24 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/nunogodinho/windows-azure-security-essentials-part-1-n-security-overview</guid><category>Cloud Computing</category><category>Silverlight</category><category>SQL Azure</category><category>Windows Azure</category><category>Windows Azure Service Platform</category></item></channel></rss>