<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Buck Woody : Link Lists, Azure</title><link>http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/Azure/default.aspx</link><description>Tags: Link Lists, Azure</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>The Windows Azure Software Development Kit (SDK) and the Windows Azure Training Kit (WATK)</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/09/12/the-windows-azure-software-development-kit-sdk-and-the-windows-azure-training-kit-watk.aspx</link><pubDate>Wed, 12 Sep 2012 13:40:40 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45165</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/45165.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=45165</wfw:commentRss><description>&lt;p&gt;Windows Azure is a platform that allows you to write software, run software, or use software that we've already written. We provide lots of resources to help you do that - many can be found right here in this blog series. There are two primary resources you can use, and it's important to understand what they are and what they do.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://officeimg.vo.msecnd.net/en-us/images/MH900441285.jpg"&gt;&lt;img width="121" height="107" style="float:left;max-width:550px;" alt="" src="http://officeimg.vo.msecnd.net/en-us/images/MH900441285.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;The Windows Azure Software Development Kit (SDK)&lt;/h1&gt;
&lt;p&gt;Actually, this isn't one resource. We have SDK's for multiple development environments, such as Visual Studio and also Eclipse, along with SDK's for iOS, Android and other environments. Windows Azure is a "back end", so almost any technology or front end system can use it to solve a problem.&lt;/p&gt;
&lt;p&gt;The SDK's are primarily for development. In the case of Visual Studio, you'll get a runtime environment for Windows Azure which allows you to develop, test and even run code all locally - you do not have to be connected to Windows Azure at all, until you're ready to deploy.&lt;/p&gt;
&lt;p&gt;You'll also get a few samples and codeblocks, along with all of the libraries you need to code with Windows Azure in .NET, PHP, Ruby, Java and more.&lt;/p&gt;
&lt;p&gt;The SDK is updated frequently, so check this location to find the latest for your environment and language - just click the bar that corresponds to what you want:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/downloads/" target="_blank"&gt;http://www.windowsazure.com/en-us/develop/downloads/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://officeimg.vo.msecnd.net/en-us/images/MH900438678.jpg"&gt;&lt;img width="151" height="163" style="margin:2px 5px;border:0px currentColor;float:left;max-width:550px;" src="http://officeimg.vo.msecnd.net/en-us/images/MH900438678.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;The Windows Azure Training Kit (WATK)&lt;/h1&gt;
&lt;p&gt;Whether you're writing code, using Windows Azure Virtual Machines (VM's) or working with Hadoop, you can use the WATK to get examples, code, PowerShell scripts, PowerPoint decks, training videos and much more. This should be your second download after the SDK. This is all of the training you need to get started, and even beyond. The WATK is updated frequently - and you can find the latest one here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/" target="_blank"&gt;http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are many other resources - again, check the &lt;a href="http://windowsazure.com"&gt;http://windowsazure.com&lt;/a&gt; site, the &lt;a href="http://www.windowsazure.com/en-us/community/newsletter/2012/june/" target="_blank"&gt;community newsletter (which introduces the latest features)&lt;/a&gt;, and &lt;a href="http://sqlblog.com/b/buckwoody/rss.aspx" target="_blank"&gt;my blog for more&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=45165" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Scripts/default.aspx">Scripts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Web/default.aspx">Web</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Latest+Version/default.aspx">Latest Version</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Learning/default.aspx">Learning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Community/default.aspx">Community</category></item><item><title>Windows Azure End to End Examples</title><link>http://sqlblog.com/blogs/buck_woody/archive/2012/05/29/windows-azure-end-to-end-examples.aspx</link><pubDate>Tue, 29 May 2012 13:45:59 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:43642</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/43642.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=43642</wfw:commentRss><description>&lt;p&gt;I’m fascinated by the way people learn. I’m told there are several methods people use to understand new information, from reading to watching, from experiencing to exploring. &lt;/p&gt;  &lt;p&gt;Personally, I use multiple methods of learning when I encounter a new topic, usually starting with reading a bit about the concepts. I quickly want to put those into practice, however, especially in the technical realm. I immediately look for examples where I can start trying out the concepts. But I often want a “real” example – not just something that represents the concept, but something that is real-world, showing some feature I could actually use. &lt;/p&gt;  &lt;p&gt;And it’s no different with the Windows Azure platform – I like finding things I can do now, and actually use. So when I started learning Windows Azure, &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=8396" target="_blank"&gt;I of course began with the Windows Azure Training Kit&lt;/a&gt; – which has lots of examples and labs, presentations and so on. But from there, I wanted more examples I could learn from, and eventually teach others with. I was asked if I would write a few of those up, so here are the ones I use. &lt;/p&gt;  &lt;h2&gt;CodePlex&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/" target="_blank"&gt;CodePlex is Microsoft’s version of an “Open Source” repository&lt;/a&gt;. Anyone can start a project, add code, documentation and more to it and make it available to the world, free of charge, using various licenses as they wish. Microsoft also uses this location for most of the examples we publish, and sample databases for SQL Server. &lt;/p&gt;  &lt;p&gt;If you search in CodePlex for “Azure”, you’ll come back with a list of projects that folks have posted, including those of us at Microsoft. The source code and documentation are there, so you can learn using actual examples of code that will do what you need. There’s everything from a simple table query to &lt;a href="http://blobshare.codeplex.com/" target="_blank"&gt;a full project that is sort of a “Corporate Dropbox” that uses Windows Azure Storage&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The advantage is that this code is immediately usable. It’s searchable, and you can often find a complete solution to meet your needs. The disadvantage is that the code is pretty specific – it may not cover a huge project like you’re looking for. Also, depending on the author(s), you might not find the documentation level you want. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Link: &lt;a href="http://azureexamples.codeplex.com/site/search?query=Azure&amp;amp;ac=8"&gt;http://azureexamples.codeplex.com/site/search?query=Azure&amp;amp;ac=8&lt;/a&gt;&amp;#160;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Tailspin&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/practices/default" target="_blank"&gt;Microsoft Patterns and Practices&lt;/a&gt; is a group here that does an amazing job at sharing standard ways of doing IT – from operations to coding. If you’re not familiar with this resource, make sure you read up on it. Long before I joined Microsoft I used their work in my daily job – saved a ton of time. It has resources not only for Windows Azure but other Microsoft software as well. &lt;/p&gt;  &lt;p&gt;The Patterns and Practices group also publishes full books – you can buy these, but many are also online for free. There’s an end-to-end example for Windows Azure using a company called “Tailspin”, and the work covers not only the code but the design of the full solution. If you really want to understand the thought that goes into a Platform-as-a-Service solution, this is an excellent resource. &lt;/p&gt;  &lt;p&gt;The advantages are that this is a book, it’s complete, and it includes a discussion of design decisions. The disadvantage is that it’s a little over a year old – and in “Cloud” years that’s a lot. So many things have changed, improved, and have been added that you need to treat this as a resource, but not the only one. Still, highly recommended. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Link: &lt;a href="http://msdn.microsoft.com/en-us/library/ff728592.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff728592.aspx&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Azure Stock Trader&lt;/h2&gt;  &lt;p&gt;Sometimes you need a mix of a CodePlex-style application, and a little more detail on how it was put together. And it would be great if you could actually play with the completed application, to see how it really functions on the actual platform.&lt;/p&gt;  &lt;p&gt;That’s the Azure Stock Trader application. There’s a place where you can read about the application, and then it’s been published to Windows Azure – the production platform – and you can use it, explore, and see how it performs. &lt;/p&gt;  &lt;p&gt;I use this application all the time to demonstrate Windows Azure, or a particular part of Windows Azure.&lt;/p&gt;  &lt;p&gt;The advantage is that this is an end-to-end application, and online as well. The disadvantage is that it takes a bit of self-learning to work through.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Links: Learn it: &lt;a href="http://msdn.microsoft.com/en-us/netframework/bb499684"&gt;http://msdn.microsoft.com/en-us/netframework/bb499684&lt;/a&gt; Use it: &lt;a href="https://azurestocktrader.cloudapp.net/"&gt;https://azurestocktrader.cloudapp.net/&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43642" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Development/default.aspx">Development</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tips/default.aspx">Tips</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Tutorials/default.aspx">Tutorials</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Web/default.aspx">Web</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Planning/default.aspx">Planning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Walkthroughs/default.aspx">Walkthroughs</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Learning/default.aspx">Learning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/How+I+work/default.aspx">How I work</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Technet/default.aspx">Technet</category></item><item><title>Plan for Diagnostics in Cloud Computing From the Git-Go</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/09/06/plan-for-diagnostics-in-cloud-computing-from-the-git-go.aspx</link><pubDate>Tue, 06 Sep 2011 13:11:22 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:38295</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/38295.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=38295</wfw:commentRss><description>&lt;p&gt;“Git-Go” is something we say in the South that means “right at the start”. I’ve seen several applications for on-premise systems that don’t have much in the way of diagnostics - the developers rely on a debugger, the event logs on the server and client workstation, and most of all, the ability to watch the system from end-to-end. &lt;/p&gt;  &lt;p&gt;This approach is a mistake for an on-premise system, and it’s definitely a problem for a distributed architecture. You simply do not own all of the components from end to end in a cloud environment, nor are you always able to attach a debugger or other remote monitoring tools to the various areas within the code path. So you need to make sure that from the very outset of your design that you build in diagnostics. My personal preference is to build a system such that a control file turns on deeper information gathering from the system, up to a minimal level.&lt;/p&gt;  &lt;p&gt;When I do that, I set a high level of logging, a medium level, and a moderate level. I normally use the deepest level of information during the testing and acceptance phase of the deployment, then switch to moderate and then the least level of information gathering. Also in my design I often set an error condition to begin gathering the deeper information along with the exception, where possible.&lt;/p&gt;  &lt;p&gt;There are decisions you need to make as to where to store the diagnostics (many operations in the cloud cost money), how often you collect them, and so on. You can get a quick overview on using the diagnostics that come with Windows Azure here: &lt;a href="http://www.azuresupport.com/2010/03/getting-started-with-windows-azure-diagnostics-and-monitoring/"&gt;http://www.azuresupport.com/2010/03/getting-started-with-windows-azure-diagnostics-and-monitoring/&lt;/a&gt; This is where you should start first. More detail on that: &lt;a href="http://msdn.microsoft.com/en-us/library/gg433048.aspx"&gt;http://msdn.microsoft.com/en-us/library/gg433048.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;My friend Dave Pallman has a great tool he’s released for free: &lt;a href="http://davidpallmann.blogspot.com/2009/03/azure-application-monitor-now-on.html"&gt;http://davidpallmann.blogspot.com/2009/03/azure-application-monitor-now-on.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If the issue is in storage apps: &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/d84ba34b-b0e0-4961-a167-bbe7618beb83"&gt;http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/d84ba34b-b0e0-4961-a167-bbe7618beb83&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you have System Center, this is the quickest and easiest way to implement the monitoring – really handy: &lt;a href="http://pinpoint.microsoft.com/en-us/applications/windows-azure-application-monitoring-management-pack-release-candidate-12884907699"&gt;http://pinpoint.microsoft.com/en-us/applications/windows-azure-application-monitoring-management-pack-release-candidate-12884907699&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=38295" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Development/default.aspx">Development</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Testing/default.aspx">Testing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Error+Codes/default.aspx">Error Codes</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Monitoring/default.aspx">Monitoring</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category></item><item><title>Windows Azure Use Case: High-Performance Computing (HPC)</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/02/28/windows-azure-use-case-high-performance-computing-hpc.aspx</link><pubDate>Mon, 28 Feb 2011 15:52:31 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33829</guid><dc:creator>BuckWoody</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/33829.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=33829</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;em&gt;&lt;span style="font-size:small;"&gt;This is one in a series of posts on when and where to use a distributed architecture design in your organization's computing needs. You can find the main post here: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;&lt;span style="font-size:small;"&gt;&lt;u&gt;&lt;font color="#800080"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Description:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;High-Performance Computing (also called Technical Computing) at its most simplistic is a layout of computer workloads where a “head node” accepts work requests, and parses them out to “worker nodes'”. This is useful in cases such as scientific simulations, drug research, MatLab work and where other large compute loads are required. It’s not the immediate-result type computing many are used to; instead, a “job” or group of work requests is sent to a cluster of computers and the worker nodes work on individual parts of the calculations and return the work to the scheduler or head node for the requestor in a batch-request fashion.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;This is typical to the way that many mainframe computing use-cases work. You can use commodity-based computers to create an HPC Cluster, such as the &lt;a href="http://beowulf.org/overview/index.html" target="_blank"&gt;Linux application called Beowulf&lt;/a&gt;, and Microsoft has a server product for HPC using standard computers, called the &lt;a href="http://technet.microsoft.com/en-us/magazine/2008.02.ccs.aspx" target="_blank"&gt;Windows Compute Cluster that you can read more about here&lt;/a&gt;. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;img src="http://www.microsoft.com/global/hpc/en/us/PublishingImages/screenshots/scrn_lrg_basic.jpg" width="647" height="354" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;span&gt;The issue with HPC (from any vendor) that some organization have is the amount of compute nodes they need. Having too many results in excess infrastructure, including computers, buildings, storage, heat and so on. Having too few means that the work is slower, and takes longer to return a result to the calling application. Unless there is a consistent level of work requested, predicting the number of nodes is problematic.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;strong&gt;Implementation:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Recently, &lt;a href="http://www.hpcinthecloud.com/features/Azure-on-the-Horizon-98320229.html" target="_blank"&gt;Microsoft announced an internal partnership between the HPC group (Now called the Technical Computing Group) and Windows Azure&lt;/a&gt;. You now have two options for implementing an HPC environment using Windows. You can extend the current infrastructure you have for HPC by adding in Compute Nodes in Windows Azure, using a “Broker Node”.&amp;#160; You can then purchase time for adding machines, and then stop paying for them when the work is completed. This is a common pattern in groups that have a constant need for HPC, but need to “burst” that load count under certain conditions.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;The second option is to install only a Head Node and a Broker Node onsite, and host all Compute Nodes in Windows Azure. This is often the pattern for organizations that need HPC on a scheduled and periodic basis, such as financial analysis or actuarial table calculations.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;img src="http://www.microsoft.com/global/hpc/en/us/PublishingImages/screenshots/scrn_lrg_azure.jpg" width="629" height="344" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Blog entry on Hybrid HPC with Windows Azure: &lt;a href="http://blogs.msdn.com/b/ignitionshowcase/archive/2010/12/13/high-performance-computing-on-premise-and-in-the-windows-azure-cloud.aspx"&gt;http://blogs.msdn.com/b/ignitionshowcase/archive/2010/12/13/high-performance-computing-on-premise-and-in-the-windows-azure-cloud.aspx&lt;/a&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Links for further research on HPC, includes Windows Azure information: &lt;a href="http://blogs.msdn.com/b/ncdevguy/archive/2011/02/16/handy-links-for-hpc-and-azure.aspx"&gt;http://blogs.msdn.com/b/ncdevguy/archive/2011/02/16/handy-links-for-hpc-and-azure.aspx&lt;/a&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=33829" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Computing/default.aspx">Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category></item><item><title>Windows Azure Use Case: Hybrid Applications</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/02/22/windows-azure-use-case-hybrid-applications.aspx</link><pubDate>Tue, 22 Feb 2011 19:44:09 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33695</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/33695.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=33695</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;em&gt;&lt;span style="font-size:small;"&gt;This is one in a series of posts on when and where to use a distributed architecture design in your organization's computing needs. You can find the main post here: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;&lt;span style="font-size:small;"&gt;&lt;u&gt;&lt;font color="#800080"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Description:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Organizations see the need for computing infrastructures that they can “rent” or pay for only when they need them. They also understand the benefits of distributed computing, but do not want to create this infrastructure themselves. &lt;/span&gt;&lt;span&gt;However, they may have considerations that prevent them from moving all of their current IT investment to a distributed environment:&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;span&gt;Private data (do not want to send or store sensitive data off-site)&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span&gt;High dollar investment in current infrastructure&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span&gt;Applications currently running well, but may need additional periodic capacity&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span&gt;Current applications not designed in a stateless fashion&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;span&gt;In these situations, a “hybrid” approach works best. In fact, with Windows Azure, a hybrid approach is an optimal way to implement distributed computing even when the stipulations above do not apply. Keeping a majority of the computing function in an organization local while exploring and expanding that footprint into Windows and SQL Azure is a good migration or expansion strategy. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;A “hybrid” architecture merely means that part of a computing cycle is shared between two architectures. For instance, some level of computing might be done in a Windows Azure web-based application, while the data is stored locally at the organization.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;strong&gt;Implementation:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;There are multiple methods for implementing a hybrid architecture, in a spectrum from very little interaction from the local infrastructure to Windows or SQL Azure. The patterns fall into two broad schemas, and even these can be mixed.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;em&gt;1. Client-Centric Hybrid Patterns&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;In this pattern, programs are coded such that the client system sends queries or compute requests to multiple systems. The “client” in this case might be a web-based codeset actually stored on another system (which acts as a client, the user’s device serving as the presentation layer) or a compiled program. In either case, the code on the client requestor carries the burden of defining the layout of the requests. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/6523.Hybrid_2D00_01_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Hybrid-01" border="0" alt="Hybrid-01" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/2818.Hybrid_2D00_01_5F00_thumb.jpg" width="750" height="356" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;While this pattern is often the easiest to code, it’s the most brittle. Any change in the architecture must be reflected on each client, but this can be mitigated by using a centralized system as the client such as in the web scenario.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;em&gt;2. System-Centric Hybrid Patterns&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Another approach is to create a distributed architecture by turning on-site systems into “services” that can be called from Windows Azure using the service Bus or the Access Control Services (ACS) capabilities. Code calls from a series of in-process client application. In this pattern you move the “client” interface into the server application logic.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/2500.Hybrid_2D00_02_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Hybrid-02" border="0" alt="Hybrid-02" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/6138.Hybrid_2D00_02_5F00_thumb.jpg" width="819" height="607" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;If you do not wish to change the application itself, you can “layer” the results of the code return using a product (such as Microsoft BizTalk) that exposes a Web Services Definition Language (WSDL) endpoint to Windows Azure using the Application Fabric. &lt;/span&gt;&lt;span&gt;In effect, this is similar to creating a Service Oriented Architecture (SOA) environment, and has the advantage of de-coupling your computing architecture. If each system offers a “service” of the results of some software processing, the operating system or platform becomes immaterial, assuming it adheres to a service contract. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/2500.Hybrid_2D00_03_5F00_2.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Hybrid-03" border="0" alt="Hybrid-03" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/1348.Hybrid_2D00_03_5F00_thumb.jpg" width="839" height="549" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;There are important considerations when you federate a system, whether to Windows or SQL Azure or any other distributed architecture. While these considerations are consistent with coding any application for distributed computing, they are especially important for a hybrid application.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Connection resiliency - Applications on-premise normally have low-latency and good connection properties, something you’re not always guaranteed in a distributed and hybrid application. Whether a centralized client or a distributed one, the code should be able to handle extended retry logic.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Authorization and Access - In a single authorization environment like a Active Directory domain, security is handled at a user-password level. In a distributed computing environment, you have more options. You can mitigate this with&amp;#160; using The Windows Azure Application Fabric feature of ACS to make the Azure application aware of the App Fabric as an ADFS provider. However, a claims-based authentication structure is often a superior choice.&amp;#160; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;Consistency and Concurrency - When you have a Relational Database Management System (RDBMS), Consistency and Concurrency are part of the design. In a Service Architecture, you need to plan for sequential message handling and lifecycle.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;strong&gt;Resources:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;How to Build a Hybrid On-Premise/In Cloud Application: &lt;a href="http://blogs.msdn.com/b/ignitionshowcase/archive/2010/11/09/how-to-build-a-hybrid-on-premise-in-cloud-application.aspx"&gt;http://blogs.msdn.com/b/ignitionshowcase/archive/2010/11/09/how-to-build-a-hybrid-on-premise-in-cloud-application.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;General Architecture guidance: &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2010/12/21/windows-azure-learning-plan-architecture.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2010/12/21/windows-azure-learning-plan-architecture.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=33695" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Design/default.aspx">Design</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Web/default.aspx">Web</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Computing/default.aspx">Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SOA/default.aspx">SOA</category></item><item><title>Windows Azure Use Case: Web Applications</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/02/14/windows-azure-use-case-web-applications.aspx</link><pubDate>Mon, 14 Feb 2011 17:22:42 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33471</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/33471.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=33471</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;em&gt;&lt;span style="font-size:small;"&gt;This is one in a series of posts on when and where to use a distributed architecture design in your organization's computing needs. You can find the main post here: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;&lt;span style="font-size:small;"&gt;&lt;u&gt;&lt;font color="#800080"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Description:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;Many applications have a requirement to be located outside of the organization’s internal infrastructure control. For instance, the company website for a brick-and-mortar retail company may want to post not only static but interactive content to be available to their external customers, and not want the customers to have access inside the organization’s firewall. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;There are also cases of pure web applications used for a great many of the internal functions of the business. This allows for remote workers, shared customer/employee workloads and data and other advantages. Some firms choose to host these web servers internally, others choose to contract out the infrastructure to an “ASP” (Application Service Provider) or an Infrastructure as a Service (IaaS) company.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;In any case, the design of these applications often resembles the following:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/3122.WebAppsWeb_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="WebAppsWeb" border="0" alt="WebAppsWeb" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/6254.WebAppsWeb_5F00_thumb.png" width="767" height="208" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;In this design, a server (or perhaps more than one) hosts the presentation function (http or https) access to the application, and this same system may hold the computational aspects of the program. Authorization and Access is controlled programmatically, or is more open if this is a customer-facing application. Storage is either placed on the same or other servers, hosted within an RDBMS or NoSQL database, or a combination of the options, all coded into the application.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;High-Availability within this scenario is often the responsibility of the architects of the application, and by purchasing more hosting resources which must be built, licensed and configured, and manually added as demand requires, although some IaaS providers have a partially automatic method to add nodes for scale-out, if the architecture of the application supports it. Disaster Recovery is the responsibility of the system architect as well.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;Implementation:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;In a Windows Azure Platform as a Service (PaaS) environment, many of these architectural considerations are designed into the system.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/6735.WebAppsAzure_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="WebAppsAzure" border="0" alt="WebAppsAzure" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/1057.WebAppsAzure_5F00_thumb.png" width="826" height="238" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Azure “Fabric” (not to be confused with the Azure implementation of Application Fabric - more on that in a moment) is designed to provide scalability. Compute resources can be added and removed programmatically based on any number of factors. Balancers at the request-level of the Fabric automatically route http and https requests. The fabric also provides High-Availability for storage and other components. Disaster recovery is a shared responsibility between the facilities (which have the ability to restore in case of catastrophic failure) and your code, which should build in recovery.&lt;/p&gt;  &lt;p&gt;In a Windows Azure-based web application, you have the ability to separate out the various functions and components. Presentation can be coded for multiple platforms like smart phones, tablets and PC’s, while the computation can be a single entity shared between them. This makes the applications more resilient and more object-oriented, and lends itself to a SOA or Distributed Computing architecture. &lt;/p&gt;  &lt;p&gt;It is true that you could code up a similar set of functionality in a traditional web-farm, but the difference here is that the components are built into the very design of the architecture. The API’s and DLL’s you call in a Windows Azure code base contains components as first-class citizens. For instance, if you need storage, it is simply called within the application as an object.&amp;#160; Computation has multiple options and the ability to scale linearly. &lt;/p&gt;  &lt;p&gt;You also gain another component that you would either have to write or bolt-in to a typical web-farm: the Application Fabric. This Windows Azure component provides communication between applications or even to on-premise systems. It provides authorization in either person-based or claims-based perspectives. &lt;/p&gt;  &lt;p&gt;SQL Azure provides relational storage as another option, and can also be used or accessed from on-premise systems. It should be noted that you can use all or some of these components individually. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Resources:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Design Strategies for Scalable Active Server Applications - &lt;a href="http://msdn.microsoft.com/en-us/library/ms972349.aspx"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://msdn.microsoft.com/en-us/library/ms972349.aspx&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Physical Tiers and Deployment&amp;#160; - &lt;a href="http://msdn.microsoft.com/en-us/library/ee658120.aspx"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;http://msdn.microsoft.com/en-us/library/ee658120.aspx&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=33471" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Web/default.aspx">Web</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Computing/default.aspx">Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Concepts/default.aspx">Concepts</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Compute/default.aspx">Compute</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/SOA/default.aspx">SOA</category></item><item><title>Windows Azure Use Case: New Development</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/02/08/windows-azure-use-case-new-development.aspx</link><pubDate>Tue, 08 Feb 2011 13:46:34 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33303</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/33303.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=33303</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;This is one in a series of posts on when and where to use a distributed architecture design in your organization's computing needs. You can find the main post here: &lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;&lt;u&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/u&gt;&lt;/a&gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Computing platforms evolve over time. Originally computers were directed by hardware wiring - that, the “code” was the path of the wiring that directed an electrical signal from one component to another, or in some cases a physical switch controlled the path. From there software was developed, first in a very low machine language, then when compilers were created, computer languages could more closely mimic written statements. These language statements can be compiled into the lower-level machine language still used by computers today.&lt;/p&gt;  &lt;p&gt;Microprocessors replaced logic circuits, sometimes with fewer instructions (Reduced Instruction Set Computing, RISC) and sometimes with more instructions (Complex Instruction Set Computing, CISC). &lt;/p&gt;  &lt;p&gt;The reason this history is important is that along each technology advancement, computer code has adapted. Writing software for a RISC architecture is significantly different than developing for a CISC architecture. And moving to a Distributed Architecture like Windows Azure also has specific implementation details that our code must follow.&lt;/p&gt;  &lt;p&gt;But why make a change? As I’ve described, we need to make the change to our code to follow advances in technology. There’s no point in change for its own sake, but as a new paradigm offers benefits to our users, it’s important for us to leverage those benefits where it makes sense.&lt;/p&gt;  &lt;p&gt;That’s most often done in new development projects. It’s a far simpler task to take a new project and adapt it to Windows Azure than to try and retrofit older code designed in a previous computing environment. We can still use the same coding languages (.NET, Java, C++) to write code for Windows Azure, but we need to think about the architecture of that code on a new project so that it runs in the most efficient, cost-effective way in a Distributed Architecture.&lt;/p&gt;  &lt;p&gt;As we receive new requests from the organization for new projects, a distributed architecture paradigm belongs in the decision matrix for the platform target.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Implementation:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When you are designing new applications for Windows Azure (or any distributed architecture) there are many important details to consider. But at the risk of over-simplification, there are three main concepts to learn and architect within the new code:&lt;/p&gt;  &lt;p&gt;Stateless Programming - Stateless program is a prime concept within distributed architectures. Rather than each server owning the complete processing cycle, the information from an operation that needs to be retained (the “state”) should be persisted to another location c(like storage) common to all machines involved in the process.&amp;#160; An interesting learning process for Stateless Programming (although not unique to this language type) is to learn Functional Programming. &lt;/p&gt;  &lt;p&gt;Server-Side Processing - Along with developing using a Stateless Design, the closer you can locate the code processing to the data, the less expensive and faster the code will run. When you control the network layer, this is less important, since you can send vast amounts of data between the server and client, allowing the client to perform processing. In a distributed architecture, you don’t always own the network, so it’s performance is unpredictable. Also, you may not be able to control the platform the user is on (such as a smartphone, PC or tablet), so it’s imperative to deliver only results and graphical elements where possible.&amp;#160; &lt;/p&gt;  &lt;p&gt;Token-Based Authentication - Also called “Claims-Based Authorization”, this code practice means instead of allowing a user to log on once and then running code in that context, a more granular level of security is used. A “token” or “claim”, often represented as a Certificate, is sent along for a series or even one request. In other words, every call to the code is authenticated against the token, rather than allowing a user free reign within the code call. While this is more work initially, it can bring a greater level of security, and it is far more resilient to disconnections.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Resources:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;See the references of “Nondistributed Deployment” and “Distributed Deployment” at the top of this article for more information with graphics:&amp;#160; &lt;a href="http://msdn.microsoft.com/en-us/library/ee658120.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee658120.aspx&lt;/a&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Stack Overflow has a good thread on functional programming: &lt;a href="http://stackoverflow.com/questions/844536/advantages-of-stateless-programming"&gt;http://stackoverflow.com/questions/844536/advantages-of-stateless-programming&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another good discussion on Stack Overflow on server-side processing is here: &lt;a href="http://stackoverflow.com/questions/3064018/client-side-or-server-side-processing"&gt;http://stackoverflow.com/questions/3064018/client-side-or-server-side-processing&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Claims Based Authorization is described here: &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee335707.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/ee335707.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=33303" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category></item><item><title>Windows Azure Use Case: Agility</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/01/25/windows-azure-use-case-agility.aspx</link><pubDate>Tue, 25 Jan 2011 14:56:44 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32911</guid><dc:creator>BuckWoody</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/32911.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=32911</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;em&gt;&lt;span style="font-size:small;"&gt;This is one in a series of posts on when and where to use a distributed architecture design in your organization's computing needs. You can find the main post here: &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;&lt;span style="font-size:small;"&gt;&lt;u&gt;&lt;font color="#800080"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/font&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Description:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Agility in this context is defined as the ability to quickly develop and deploy an application. In theory, the speed at which your organization can develop and deploy an application on available hardware is identical to what you could deploy in a distributed environment. But in practice, this is not always the case. Having an option to use a distributed environment can be much faster for the deployment and even the development process.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/5367.image_5F00_4.png"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;   &lt;strong&gt;&lt;span style="font-size:small;"&gt;Implementation:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;When an organization designs code, they are essentially becoming a Software-as-a-Service (SaaS) provider to their own organization. To do that, the IT operations team becomes the Infrastructure-as-a-Service (IaaS) to the development teams. From there, the software is developed and deployed using an Application Lifecycle Management (ALM) process.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;A simplified view of an ALM process is as follows:&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Requirements&lt;/li&gt;    &lt;li&gt;Analysis &lt;/li&gt;    &lt;li&gt;Design and Development&lt;/li&gt;    &lt;li&gt;Implementation &lt;/li&gt;    &lt;li&gt;Testing &lt;/li&gt;    &lt;li&gt;Deployment to Production &lt;/li&gt;    &lt;li&gt;Maintenance&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2"&gt;In an on-premise environment, this often equates to the following process map:&lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Requirements &lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;Business requirements formed by Business Analysts, Developers and Data Professionals.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Analysis&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;Feasibility studies, including physical plant, security, manpower and other resources.          &lt;br /&gt;          &lt;br /&gt;Request is placed on the work task list if approved.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Design and Development&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;Code written according to organization’s chosen methodology, either on-premise or to multiple development teams on and off premise.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Implementation&lt;/strong&gt; &lt;/td&gt;        &lt;td&gt;Code checked into main branch.         &lt;br /&gt;          &lt;br /&gt;Code forked as needed. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Testing&lt;/strong&gt; &lt;/td&gt;        &lt;td&gt;Code deployed to on-premise Testing servers.          &lt;br /&gt;          &lt;br /&gt;If no server capacity available, more resources procured through standard budgeting and ordering processes.           &lt;br /&gt;          &lt;br /&gt;Manual and automated functional, load, security, etc. performed.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Deployment to Production &lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;Server team involved to select platform and environments with available capacity.         &lt;br /&gt;          &lt;br /&gt;If no server capacity available, standard budgeting and procurement process followed.          &lt;br /&gt;          &lt;br /&gt;If no server capacity available, systems built, configured and put under standard organizational IT control.          &lt;br /&gt;          &lt;br /&gt;Systems configured for proper operating systems, patches, security and virus scans.          &lt;br /&gt;          &lt;br /&gt;System maintenance, HA/DR, backups and recovery plans configured and put into place.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;strong&gt;Maintenance&lt;/strong&gt;&lt;/td&gt;        &lt;td&gt;Code changes evaluated and altered according to need.&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&lt;font size="2"&gt;In a distributed computing environment like Windows Azure, the process maps a bit differently:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;     &lt;table cellspacing="0" cellpadding="2"&gt;         &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Requirements&lt;/font&gt; &lt;/strong&gt;&lt;/td&gt;            &lt;td&gt;Business requirements formed by Business Analysts, Developers and Data Professionals.&lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Analysis&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;            &lt;td&gt;Feasibility studies, including budget, security, manpower and other resources.              &lt;br /&gt;              &lt;br /&gt;Request is placed on the work task list if approved.&lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Design and Development&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;            &lt;td&gt;Code written according to organization’s chosen methodology, either on-premise or to multiple development teams on and off premise.&lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Implementation&lt;/font&gt;&lt;/strong&gt; &lt;/td&gt;            &lt;td&gt;Code checked into main branch.             &lt;br /&gt;              &lt;br /&gt;Code forked as needed. &lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Testing&lt;/font&gt;&lt;/strong&gt; &lt;/td&gt;            &lt;td&gt;Code deployed to Azure.             &lt;br /&gt;               &lt;br /&gt;Manual and automated functional, load, security, etc. performed.&lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Deployment to Production&lt;/font&gt; &lt;/strong&gt;&lt;/td&gt;            &lt;td&gt;Code deployed to Azure.             &lt;br /&gt;              &lt;br /&gt;Point in time backup and recovery plans configured and put into place.(&lt;em&gt;HA/DR and automated backups already present in Azure fabric&lt;/em&gt;)&lt;/td&gt;         &lt;/tr&gt;          &lt;tr&gt;           &lt;td&gt;&lt;strong&gt;&lt;font color="#d19049"&gt;Maintenance&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;            &lt;td&gt;Code changes evaluated and altered according to need.&lt;/td&gt;         &lt;/tr&gt;       &lt;/table&gt;   &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;This means that several steps can be removed or expedited. It also means that the business function requesting the application can be held directly responsible for the funding of that request, speeding the process further since the IT budgeting process may not be involved in the Azure scenario.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;An additional benefit is the “Azure Marketplace”, In effect this becomes an app store for Enterprises to select pre-defined code and data applications to mesh or bolt-in to their current code, possibly saving development time.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Resources:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Whitepaper download- What is ALM?&amp;#160; &lt;a href="http://go.microsoft.com/?linkid=9743693"&gt;http://go.microsoft.com/?linkid=9743693&lt;/a&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Whitepaper download - ALM and Business Strategy: &lt;a href="http://go.microsoft.com/?linkid=9743690"&gt;http://go.microsoft.com/?linkid=9743690&lt;/a&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;LiveMeeting Recording on ALM and Windows Azure (registration required, but free): &lt;a href="http://www.microsoft.com/uk/msdn/visualstudio/contact-us.aspx?sbj=DevelopingwithWindowsAzure(ALMperspective)-10:00-11:00-19thJan2011" target="_blank"&gt;http://www.microsoft.com/uk/msdn/visualstudio/contact-us.aspx?sbj=Developing with Windows Azure (ALM perspective) - 10:00-11:00 - 19th Jan 2011&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=32911" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category></item><item><title>Windows Azure and SQL Azure Use Cases</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx</link><pubDate>Tue, 18 Jan 2011 15:14:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32715</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/32715.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=32715</wfw:commentRss><description>&lt;p&gt;The key to effectively leveraging &amp;ldquo;Cloud Computing&amp;rdquo; or more accurately, Distributed Computing architectures like Windows and SQL Azure is to implement them where they make the most sense. This is actually good advice for any computing paradigm, but some folks believe that a particular tool should be used in all circumstances. Microsoft does not recommend that you take all of the computing resources you have on-premise and move them to a distributed architecture.&lt;/p&gt;
&lt;p&gt;A Use Case is defined as &amp;ldquo;when or where you use a technology&amp;rdquo; and a Pattern/Practice is defined as &amp;ldquo;how you implement a technology&amp;rdquo;.&amp;nbsp; In this series of posts, I&amp;rsquo;ll cover the use cases, and I&amp;rsquo;ll also give you resources to leverage to implement them. If you are looking for a way to learn "cloud" or Distributed Computing, &lt;a target="_blank" href="http://sqlblog.com/b/buckwoody/archive/2010/11/16/windows-azure-learning-plan.aspx"&gt;check out the Azure Learning Plan here&lt;/a&gt;.&lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" style="width:655px;"&gt;

&lt;tr&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;strong&gt;Windows Azure Use-Cases&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Elastic Scale - &lt;em&gt;&lt;span style="color:#339966;"&gt;Bursting workloads up and down in use patterns&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/01/18/windows-azure-use-case-elastic-scale.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-use-case-elastic-scale.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Agility - &lt;em&gt;&lt;span style="color:#339966;"&gt;The ability to quickly develop and deploy an application&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/01/25/windows-azure-use-case-agility.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/25/windows-azure-use-case-agility.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;New Development- &lt;em&gt;&lt;span style="color:#339966;"&gt;Code option for new applications&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/02/08/windows-azure-use-case-new-development.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/02/08/windows-azure-use-case-new-development.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Web-Centric Applications&amp;nbsp;- &lt;em&gt;&lt;span style="color:#339966;"&gt;Applications that are developed for a web paradigm&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/02/14/windows-azure-use-case-web-applications.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/02/14/windows-azure-use-case-web-applications.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Hybrid Applications and Data - &lt;em&gt;&lt;span style="color:#339966;"&gt;Applications and data that need to be both on-premise and in a distributed environment&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/02/22/windows-azure-use-case-hybrid-applications.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/02/22/windows-azure-use-case-hybrid-applications.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;High-Performance Computing - &lt;span style="color:#339966;"&gt;&lt;em&gt;Apllications that require multiple processing nodes, such as scientific, research or financial data (also known as &lt;/em&gt;Technical Computing&lt;em&gt;)&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/02/28/windows-azure-use-case-high-performance-computing-hpc.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/02/28/windows-azure-use-case-high-performance-computing-hpc.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Infrastructure Limits - &lt;em&gt;&lt;span style="color:#339966;"&gt;Inability or unwillingness to add more physical computers to the environment&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/03/08/windows-azure-use-case-infrastructure-limits.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/03/08/windows-azure-use-case-infrastructure-limits.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Fast Acquisitions&amp;nbsp;-&lt;span style="color:#339966;"&gt; &lt;em&gt;The ability to quickly migrate a newly acquired business to the current computing environment&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/03/15/windows-azure-use-case-fast-acquisitions.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/03/15/windows-azure-use-case-fast-acquisitions.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;span style="color:#0000ff;"&gt;SQL Azure Use-Cases&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Application Data Store -&lt;span style="color:#339966;"&gt; Uses SQL Azure to provide a central location for department-level or other collaborative applications&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/03/22/sql-azure-use-case-department-application-data-store.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/03/22/sql-azure-use-case-department-application-data-store.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Shared Data Hub &amp;nbsp;-&lt;span style="color:#339966;"&gt; &lt;em&gt;Provides a common data store for multiple organizations to&amp;nbsp;handle&amp;nbsp;data between them&amp;nbsp;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/04/05/sql-azure-use-case-shared-data-hub.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/04/05/sql-azure-use-case-shared-data-hub.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Web-Based Applications&amp;nbsp;-&lt;span style="color:#339966;"&gt; &lt;em&gt;Using SQL Azure as a data store type for web applications&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/04/19/sql-azure-use-case-web-based-applications.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/04/19/sql-azure-use-case-web-based-applications.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="text-align:left;"&gt;Shared Storage&amp;nbsp;Application&amp;nbsp;-&lt;span style="color:#339966;"&gt; &lt;em&gt;Using SQL Azure as a hybrid data store or as part of a HA/DR plan.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p dir="ltr" style="margin-right:0px;"&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2011/04/26/sql-azure-use-case-shared-storage-application.aspx"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/04/26/sql-azure-use-case-shared-storage-application.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=32715" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category></item><item><title>Windows Azure Use Case: Elastic Scale</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/01/18/windows-azure-use-case-elastic-scale.aspx</link><pubDate>Tue, 18 Jan 2011 14:54:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32713</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/32713.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=32713</wfw:commentRss><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;em&gt;&lt;span style="font-size:small;"&gt;This is one in a series of posts on when and where to use a distributed architecture design in your organization's computing needs. You can find the main post here: &lt;/span&gt;&lt;a href="http://sqlblog.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx"&gt;&lt;span style="font-size:small;"&gt;http://blogs.msdn.com/b/buckwoody/archive/2011/01/18/windows-azure-and-sql-azure-use-cases.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Description:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;“Elastic Scale” is a description of computing where the demands for the compute resources expands and contracts. Normally this involves increased user activity for the system, but the compute functions might also be driven by activity within the code itself. Let’s take a quick look at each.&lt;/p&gt;  &lt;p&gt;In a centralized computing model (such as client/server), there is a finite set of resources for Compute and Storage, defined by the limits of the server architecture in place. The compute and storage resources are at a constant, assuming that they are at their maximum levels. In effect, you’re paying for and maintaining a a high level of computing whether you use it or not. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/8321.Ealstic001_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Ealstic001" border="0" alt="Ealstic001" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/4604.Ealstic001_5F00_thumb.png" width="596" height="117" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In a distributed computing model (such as “Cloud Computing” and Windows Azure) computing and storage resources can be added - and removed - dynamically. This means that as demand increases, you can add more resources to the pool based on a trigger of your choosing, and establish the ceiling for those resources if you want one. Conversely, as the load decreases, the resources also decrease. In this design, the use drives the capacity you pay for.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/6758.Ealstic002_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Ealstic002" border="0" alt="Ealstic002" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/0804.Ealstic002_5F00_thumb.png" width="520" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Implementation:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The key to implementing a distributed application is to keep it &lt;em&gt;stateless&lt;/em&gt;. In a program, “state” is loosely defined as maintaining track of the previous operations within a program. Normally this record is kept in memory during the run of a particular program. &lt;/p&gt;  &lt;p&gt;For instance - when you begin a bank transaction, the ATM machine takes your card, accepts your PIN, accepts the money you deposit and the withdrawals you make, and then returns your card, closing out the transaction. It maintains the “state” of your entire process, bookmarked on each end by taking your card and giving it back to you.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/0486.Ealstic003_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Ealstic003" border="0" alt="Ealstic003" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-79-metablogapi/3108.Ealstic003_5F00_thumb.png" width="637" height="80" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In stateless computing, the assumption is that the components within the process will come and go at various times. A good analogy here is e-mail. An e-mail system is made up of multiple parts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Mail Client Software &lt;/li&gt;    &lt;li&gt;Message &lt;/li&gt;    &lt;li&gt;Transport &lt;/li&gt;    &lt;li&gt;Server &lt;/li&gt;    &lt;li&gt;Processing &lt;/li&gt;    &lt;li&gt;Transport &lt;/li&gt;    &lt;li&gt;Recipient(s) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;When you compose an e-mail message, none of the other components are aware of your activities. When you send it, your client program is no longer aware of what is happening to the message. When the server receives it, your client software might even be powered off. The “state” is maintained by each component.&lt;/p&gt;  &lt;p&gt;To adequately scale your workload, each component should be largely unaware of other components. That means you need to design your code such that it has more of the characteristics of an e-mail system. Keep in mind that even a bank ATM machine transaction can still be coded as a stateless application - I’m using it here as an example. In fact, very few things cannot be created in a stateless way.&lt;/p&gt;  &lt;p&gt;You can “persist” state - that is, save it - to storage that each component can access. This is in fact the purpose of the Message Queue storage in Windows Azure. It allows one component to write a message and then leave. The next component can pick up that message and work on it. It’s similar to what you see in a restaurant. The waiter takes your order and drops it off in the kitchen, and the cook looks at each order to prepare it. In this analogy, the “message” is the meal order ticket.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:small;"&gt;Resources:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Design Strategies for Scalable Active Server Applications - &lt;a href="http://msdn.microsoft.com/en-us/library/ms972349.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms972349.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Physical Tiers and Deployment&amp;#160; - &lt;a href="http://msdn.microsoft.com/en-us/library/ee658120.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee658120.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=32713" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Links/default.aspx">Links</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure+Use+Cases/default.aspx">Azure Use Cases</category></item><item><title>Windows Azure Learning Plan - Other Features</title><link>http://sqlblog.com/blogs/buck_woody/archive/2011/01/04/ndows-azure-learning-plan-application-fabric.aspx</link><pubDate>Tue, 04 Jan 2011 12:11:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32314</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/32314.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=32314</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;This is one in a series of posts on a Windows Azure Learning Plan. &lt;a href="http://sqlblog.com/b/buckwoody/archive/2010/11/16/windows-azure-learning-plan.aspx"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0066cc;"&gt;You can find the main post here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. This one deals with the Application Fabric for Windows Azure. It serves three main purposes - Access Control, Caching, and as a Service Bus.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="direction:ltr;"&gt;
&lt;div align="left"&gt;
&lt;table style="border:1px solid #a3a3a3;border-collapse:collapse;direction:ltr;" cellspacing="0" cellpadding="0" align="left"&gt;

&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:bold;"&gt;Overview and Training&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Overview and general&amp;nbsp; information about other Azure features - what they are, how they work, and where you can learn more.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;General Introduction and Overview&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee922714.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee922714.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Access Control Service Overview&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/gg490345.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/gg490345.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Microsoft Documentation&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-gb/windowsazure/netservices.aspx"&gt;http://msdn.microsoft.com/en-gb/windowsazure/netservices.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:bold;"&gt;Learning and Examples&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Sources for online and other Azure feature training&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Application SDK&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=39856a03-1490-4283-908f-c8bf0bfad8a5&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=39856a03-1490-4283-908f-c8bf0bfad8a5&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Caching Service Primer&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://sqlblog.com/b/appfabriccat/archive/2010/11/29/azure-appfabric-caching-service-soup-to-nuts-primer.aspx"&gt;http://blogs.msdn.com/b/appfabriccat/archive/2010/11/29/azure-appfabric-caching-service-soup-to-nuts-primer.aspx?wa=wsignin1.0&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Hands-On Lab: Building Windows Azure Applications with the Caching Service&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://www.wadewegner.com/2010/11/hands-on-lab-building-windows-azure-applications-with-the-caching-service/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+WadeWegner+%28Wade+Wegner+-+Technical%29"&gt;http://www.wadewegner.com/2010/11/hands-on-lab-building-windows-azure-applications-with-the-caching-service/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+WadeWegner+%28Wade+Wegner+-+Technical%29&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:bold;"&gt;Architecture&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;Azure&amp;nbsp; Internals and Architectures for Scale Out and other use-cases.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Azure&amp;nbsp;Features Architecture Guide&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://sqlblog.com/b/yasserabdelkader/archive/2010/09/12/release-of-windows-server-appfabric-architecture-guide.aspx"&gt;http://blogs.msdn.com/b/yasserabdelkader/archive/2010/09/12/release-of-windows-server-appfabric-architecture-guide.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Windows Azure AppFabric Service Bus - A Deep Dive (Video)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://www.msteched.com/2010/Europe/ASI410"&gt;http://www.msteched.com/2010/Europe/ASI410&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Access Control Service (ACS) High Level Architecture&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://sqlblog.com/b/alikl/archive/2010/09/28/azure-appfabric-access-control-service-acs-v-2-0-high-level-architecture-web-application-scenario.aspx"&gt;http://blogs.msdn.com/b/alikl/archive/2010/09/28/azure-appfabric-access-control-service-acs-v-2-0-high-level-architecture-web-application-scenario.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:bold;"&gt;Applications&amp;nbsp; and Programming&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Programming Patterns and Architectures for SQL Azure systems.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Various Examples from PDC 2010 on using Azure Application as a Service Bus&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://tinyurl.com/2dcnt8o"&gt;http://tinyurl.com/2dcnt8o&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Creating a Distributed Cache&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://blog.structuretoobig.com/post/2010/08/31/Creating-a-Poor-Mane28099s-Distributed-Cache-in-Azure.aspx"&gt;http://blog.structuretoobig.com/post/2010/08/31/Creating-a-Poor-Mane28099s-Distributed-Cache-in-Azure.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;&amp;nbsp;Azure Java SDK&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://jdotnetservices.com/"&gt;http://jdotnetservices.com/&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=32314" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Learning/default.aspx">Learning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Application+Fabric/default.aspx">Application Fabric</category></item><item><title>Windows Azure Learning Plan - Storage</title><link>http://sqlblog.com/blogs/buck_woody/archive/2010/11/23/windows-azure-learning-plan-storage.aspx</link><pubDate>Tue, 23 Nov 2010 15:24:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30920</guid><dc:creator>BuckWoody</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/buck_woody/comments/30920.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/buck_woody/commentrss.aspx?PostID=30920</wfw:commentRss><description>&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;This is one in a series of posts on a Windows Azure Learning Plan. &lt;a href="http://sqlblog.com/b/buckwoody/archive/2010/11/16/windows-azure-learning-plan.aspx"&gt;You can find the main post here&lt;/a&gt;. This one deals with Storage for&lt;span&gt;&amp;nbsp; &lt;/span&gt;Windows Azure.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="direction:ltr;"&gt;
&lt;table cellpadding="0" cellspacing="0" style="border-collapse:collapse;direction:ltr;border:#a3a3a3 1pt solid;"&gt;

&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:700;"&gt;Overview&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Overview and general&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;information about Windows Azure Storage - what it is, how it works, and where you can learn more. &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;General Overview Whitepaper &lt;i&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;(registration of a screen name, but free)&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/understanding-data-storage-offerings-on-the-windows-azure-platform.aspx"&gt;http://social.technet.microsoft.com/wiki/contents/articles/understanding-data-storage-offerings&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Official Microsoft Site on Azure Storage&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="font-family:Calibri;font-size:11pt;margin:0in;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee924681.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee924681.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Scalability Targets for Azure Storage&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="font-family:Calibri;font-size:11pt;margin:0in;"&gt;&lt;a href="http://sqlblog.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx"&gt;http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Understanding Azure Storage by using the API&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="font-family:Calibri;font-size:11pt;margin:0in;"&gt;&lt;a href="http://sqlblog.com/b/paolos/archive/2011/02/21/yet-another-application-to-handle-windows-azure-storage-services.aspx"&gt;http://blogs.msdn.com/b/paolos/archive/2011/02/21/yet-another-application-to-handle-windows-azure-storage-services.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:700;"&gt;Blobs&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Blob Storage is a binary-level "container" that can hold one or more streams of data.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Understanding Block Blobs and Page Blobs&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee691964.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee691964.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Blob Service Concepts&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179376.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd179376.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:700;"&gt;Tables&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Tables are key-value-pair type storage, and can be in the terabyte range of size.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Understanding the Table Storage Data Model&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179338.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd179338.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Table Service Concepts&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179463.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd179463.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Querying Tables and Entities&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd894031.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd894031.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:700;"&gt;Queues&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Queues are actually more table storage - but specifically designed to allow Web and Worker Roles to communicate.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Queue Service Concepts&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179353.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd179353.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Queue Service API&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179363.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd179363.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:bold;"&gt;Azure Drive&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;An Azure Drive isn't something you mount over the web (although that's possible to do with a little code) - it's a "local" NTFS drive for Windows Azure Applications.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Windows Azure Drives white paper&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9710117"&gt;http://go.microsoft.com/?linkid=9710117&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:700;"&gt;Content Delivery Network&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;An "Edge" network of storage that buffers after the first use by a client. &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;General Overview&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://sqlblog.com/b/windowsazure/archive/2009/11/05/introducing-the-windows-azure-content-delivery-network.aspx"&gt;http://blogs.msdn.com/b/windowsazure/archive/2009/11/05/introducing-the-windows-azure-content-delivery-network.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Delivering High-Bandwidth Content with the Windows Azure CDN&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee795176.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee795176.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="font-weight:700;"&gt;Tools and Utilities&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Free and not-free tools to work with Azure Storage.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Storage SDK&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.aspx&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Benchmarks and Throughput tests&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://azurescope.cloudapp.net/BenchmarkTestCases/"&gt;http://azurescope.cloudapp.net/BenchmarkTestCases/&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Mount an Azure Drive as an NTFS Drive&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://azurescope.cloudapp.net/CodeSamples/cs/792ce345-256b-4230-a62f-903f79c63a67/"&gt;http://azurescope.cloudapp.net/CodeSamples/cs/792ce345-256b-4230-a62f-903f79c63a67/&lt;/a&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:2.35in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="text-align:right;margin:0in;font-family:Calibri;color:#4f81bd;font-size:11pt;"&gt;Command-line&amp;nbsp;and other&amp;nbsp;tools&amp;nbsp;for working with Azure Storage&lt;/p&gt;
&lt;/td&gt;
&lt;td style="width:4.543in;vertical-align:top;border:#a3a3a3 1pt solid;padding:4pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;a href="http://tinyurl.com/2acx6d8"&gt;http://tinyurl.com/2acx6d8&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/17/windows-azure-storage-explorers.aspx"&gt;http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/17/windows-azure-storage-explorers.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30920" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Link+Lists/default.aspx">Link Lists</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Learning/default.aspx">Learning</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlblog.com/blogs/buck_woody/archive/tags/Storage/default.aspx">Storage</category></item></channel></rss>