<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DavidAiken &#187; Windows Azure</title>
	<atom:link href="http://www.davidaiken.com/category/windows-azure/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidaiken.com</link>
	<description>Windows Azure Development</description>
	<lastBuildDate>Wed, 21 Jul 2010 22:45:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to deploy an ASP.NET web site to Windows Azure!</title>
		<link>http://www.davidaiken.com/2010/07/14/how-to-deploy-an-asp-net-web-site-to-windows-azure/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/07/14/how-to-deploy-an-asp-net-web-site-to-windows-azure/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 00:51:27 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/07/14/how-to-deploy-an-asp-net-web-site-to-windows-azure/</guid>
		<description><![CDATA[Note I say web site – rather than web application. If you have a web site, which is just a folder of files and stuff rather than a full blown VS project, you can easily deploy into Windows Azure without having to convert to a web app. (Of course you should really think about converting]]></description>
			<content:encoded><![CDATA[<p>Note I say <u><strong>web site</strong></u> – rather than <strong><u>web application</u></strong>.</p>
<p>If you have a web site, which is just a folder of files and stuff rather than a full blown VS project, you can easily deploy into Windows Azure without having to convert to a web app. (Of course you should really think about <a href="http://blogs.msdn.com/b/webdevtools/archive/2009/10/29/converting-a-web-site-project-to-a-web-application-project.aspx" target="_blank">converting it</a> because you get a better tool experience, debugging etc.)</p>
<p>I’m going to assume you have the <a href="http://www.microsoft.com/web/downloads/platform.aspx" target="_blank">Windows Azure SDK installed</a>.</p>
<p>So the first thing is to get your files laid out on disk correctly. For our purposes I have a really simple web site containing a single default.aspx file. This is in a folder named ASPNetRole.</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image5.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb5.png" width="644" height="199" /></a> </p>
<p>Next you need to create the cscfg and csdef files that Windows Azure requires to build a package. In the folder above I created the 2 files:</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image6.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb6.png" width="644" height="256" /></a> </p>
<p>ServiceConfig.cscfg looks like this:</p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">&lt;?</span><span style="color: #800000">xml</span> <span style="color: #ff0000">version</span><span style="color: #0000ff">=&quot;1.0&quot;</span>?<span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">ServiceConfiguration</span> <span style="color: #ff0000">serviceName</span><span style="color: #0000ff">=&quot;myaspapp&quot;</span> <span style="color: #ff0000">xmlns</span><span style="color: #0000ff">=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>   <span style="color: #0000ff">&lt;</span><span style="color: #800000">Role</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ASPNetRole&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     <span style="color: #0000ff">&lt;</span><span style="color: #800000">ConfigurationSettings</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Instances</span> <span style="color: #ff0000">count</span><span style="color: #0000ff">=&quot;2&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>   <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Role</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">ServiceConfiguration</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></div>
</div>
<p>ServiceDefinition.csdef looks like this</p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">&lt;?</span><span style="color: #800000">xml</span> <span style="color: #ff0000">version</span><span style="color: #0000ff">=&quot;1.0&quot;</span> <span style="color: #ff0000">encoding</span><span style="color: #0000ff">=&quot;utf-8&quot;</span>?<span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">ServiceDefinition</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;myaspapp&quot;</span> <span style="color: #ff0000">xmlns</span><span style="color: #0000ff">=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>   <span style="color: #0000ff">&lt;</span><span style="color: #800000">WebRole</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ASPNetRole&quot;</span> <span style="color: #ff0000">vmsize</span><span style="color: #0000ff">=&quot;Small&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     <span style="color: #0000ff">&lt;</span><span style="color: #800000">InputEndpoints</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>       <span style="color: #008000">&lt;!-- Must use port 80 for http and port 443 for https when running in the cloud --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>       <span style="color: #0000ff">&lt;</span><span style="color: #800000">InputEndpoint</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;HttpIn&quot;</span> <span style="color: #ff0000">protocol</span><span style="color: #0000ff">=&quot;http&quot;</span> <span style="color: #ff0000">port</span><span style="color: #0000ff">=&quot;80&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">InputEndpoints</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>     <span style="color: #0000ff">&lt;</span><span style="color: #800000">ConfigurationSettings</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>   <span style="color: #0000ff">&lt;/</span><span style="color: #800000">WebRole</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">ServiceDefinition</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></div>
</div>
<p>&#160;</p>
<p>Make sure the role names match what you want to call your role. </p>
<p>Now you have these 2 files you are all ready to go!</p>
<p>There are 3 tasks you may want to do.</p>
<p>1. Package the web site to run in the local developer fabric.</p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #006080">&quot;c:\Program Files\Windows Azure SDK\v1.2\bin\cspack.exe&quot;</span> <span style="color: #006080">&quot;ServiceDefinition.csdef&quot;</span> /role:ASPNetRole;ASPNetRole; /copyOnly</pre>
<p><!--CRLF--></div>
</div>
<p>2. Run the local developer fabric package:</p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #006080">&quot;C:\Program Files\Windows Azure SDK\v1.2\bin\csrun.exe&quot;</span> <span style="color: #006080">&quot;ServiceDefinition.csx&quot;</span> <span style="color: #006080">&quot;ServiceConfig.cscfg&quot;</span> /launchBrowser</pre>
<p><!--CRLF--></div>
</div>
<p>3. Package ready to deploy to Windows Azure.</p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #006080">&quot;c:\Program Files\Windows Azure SDK\v1.2\bin\cspack.exe&quot;</span> <span style="color: #006080">&quot;ServiceDefinition.csdef&quot;</span> /role:ASPNetRole;ASPNetRole;</pre>
<p><!--CRLF--></div>
</div>
</p>
</p>
</p>
<p>When you run the last script it will generate the package you need to deploy to Windows Azure. I usually pop the above into 3 script files named prefabric.cmd, runfabric.cmd and buildpackage.cmd.</p>
<p>Have fun.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/07/14/how-to-deploy-an-asp-net-web-site-to-windows-azure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting Started with Windows Azure</title>
		<link>http://www.davidaiken.com/2010/07/12/getting-started-with-windows-azure/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/07/12/getting-started-with-windows-azure/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 04:14:56 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Getting Started]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/07/12/getting-started-with-windows-azure/</guid>
		<description><![CDATA[A few folks today have been asking about how to get started with Windows Azure and/or SQL Azure. So here is my quick 3 steps to get you going. Make sure you have an OS that supports development! You can use Vista, Windows 7, Server 2008 or Server 2008 R2. My recommendation is Windows 7]]></description>
			<content:encoded><![CDATA[<p>A few folks today have been asking about how to get started with Windows Azure and/or SQL Azure. So here is my quick 3 steps to get you going.</p>
<ol>
<li>Make sure you have an OS that supports development!<br />
You can use Vista, Windows 7, Server 2008 or Server 2008 R2. My recommendation is Windows 7 64bit.</li>
<li>Install the Microsoft Web Platform Installer from <a href="http://www.microsoft.com/web/downloads/platform.aspx">http://www.microsoft.com/web/downloads/platform.aspx</a> .</li>
<li>Once the installer loads – click Options:<br />
<a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="display: inline; border: 0px;" title="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb.png" border="0" alt="image" width="244" height="182" /></a></li>
<li>Click Developer Tools:<br />
<a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image1.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="display: inline; border: 0px;" title="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb1.png" border="0" alt="image" width="244" height="167" /></a></li>
<li>Then click OK. You should now have the Developer Tools Tab:<br />
<a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image2.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="display: inline; border: 0px;" title="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb2.png" border="0" alt="image" width="244" height="182" /></a></li>
<li>Under Visual Studio Tools, click Customize, then click Windows Azure Tools for Microsoft Visual Studio 2010 v1.2 and Visual Web Developer 2010 Express:<br />
<a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image3.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="display: inline; border: 0px;" title="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb3.png" border="0" alt="image" width="244" height="182" /></a></li>
<li>Now click the Web Platform tab, and under database, click customize. Make sure SQL Server 2008 R2 Management Studio Express is clicked:<br />
<a href="http://www.davidaiken.com/wp-content/uploads/2010/07/image4.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="display: inline; border: 0px;" title="image" src="http://www.davidaiken.com/wp-content/uploads/2010/07/image_thumb4.png" border="0" alt="image" width="244" height="182" /></a></li>
<li>Now Click install and confirm any options. Not only will the tools you selected be installed, the installer will also install any dependant bits too!</li>
<li>While that is installing, navigate to here <a href="here#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_blank">http://hmbl.me/1ITJKZ</a> or <a title="here" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;displaylang=en" target="_blank">here</a>, download and install the latest version of the Windows Azure Platform Training Kit. There are some cool videos to watch to give you an overview.</li>
<li>Once everything is installed, open the training kit and work through both the Introduction to Windows Azure and Introduction to SQL Azure lab.</li>
</ol>
<p>Once you have that, the top resources to keep an eye on are <a href="http://www.microsoft.com/windowsazure">http://www.microsoft.com/windowsazure</a>, the awesome <a title="http://channel9.msdn.com/shows/Cloud+Cover/" href="http://channel9.msdn.com/shows/Cloud+Cover/">http://channel9.msdn.com/shows/Cloud+Cover/</a> and <a title="http://blogs.msdn.com/b/windowsazure/" href="http://blogs.msdn.com/b/windowsazure/">http://blogs.msdn.com/b/windowsazure/</a>.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/07/12/getting-started-with-windows-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speed up your workers with .net 4.0 parallel extensions</title>
		<link>http://www.davidaiken.com/2010/06/09/speed-up-your-workers-with-net-4-0-parallel-extensions/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/06/09/speed-up-your-workers-with-net-4-0-parallel-extensions/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 15:06:56 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[.Net 4.0]]></category>
		<category><![CDATA[Parallel]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/06/09/speed-up-your-workers-with-net-4-0-parallel-extensions/</guid>
		<description><![CDATA[Now you can use .net 4.0 in Windows Azure, it opens up some possibilities to get even more out of your workers. If you have workers that read messages from queues, then do some processing against storage, you may want to consider converting your message processing loops into parallel loops. Here is the shell of]]></description>
			<content:encoded><![CDATA[<p>Now you can use .net 4.0 in Windows Azure, it opens up some possibilities to get even more out of your workers. If you have workers that read messages from queues, then do some processing against storage, you may want to consider converting your message processing loops into parallel loops.</p>
<p>Here is the shell of some code and a typical pattern:</p>
<pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">foreach</span> (var s <span style="color: #0000ff">in</span> masterList)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #008000">// Do some work with s</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>You can very easily convert this to use the parallel extensions by using the following code:</p>
<pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Parallel.ForEach(masterList, s =&gt;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #008000">// Do some work with s</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">);</pre>
</pre>
<p>So the code change is easy, but what is the difference? </p>
<p>Well you should certainly consider how much work you are doing for each message – short simple tasks probably won’t benefit from being parallel.</p>
<p>You should also consider how much IO is performed against storage etc. – the more IO performed the more you will benefit from using the extensions.</p>
<p>But David PLEASE GIVE ME SOME FIGURES.</p>
<p>Ok – here is the low down.</p>
<p>The code I have reads some data from a collection (loaded from a blob) then writes a row into table storage for each item in the collection. There is a total of 748 items in the collection spread across 7 partitions.</p>
<p>Without the parallel extension the results look like this across 3 identical runs:</p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">1</td>
<td valign="top" width="100">2</td>
<td valign="top" width="100">3</td>
</tr>
<tr>
<td valign="top" width="100">Start Time</td>
<td valign="top" width="100">13:55:01.4366386</td>
<td valign="top" width="100">14:04:59.5006458</td>
<td valign="top" width="100">14:08:37.6709250</td>
</tr>
<tr>
<td valign="top" width="100">End Time</td>
<td valign="top" width="100">13:55:36.2911237</td>
<td valign="top" width="100">14:05:28.4387517</td>
<td valign="top" width="100">14:09.20.3591933</td>
</tr>
</tbody>
</table>
<p>No I don’t know what happened to the last one, but its around ~35 seconds or about 21 entities per second.</p>
<p>With the parallel extensions the results are:</p>
<table border="1" cellspacing="0" cellpadding="2" width="500">
<tbody>
<tr>
<td valign="top" width="125">&#160;</td>
<td valign="top" width="125">1</td>
<td valign="top" width="125">2</td>
<td valign="top" width="125">3</td>
</tr>
<tr>
<td valign="top" width="125">Start Time</td>
<td valign="top" width="125">14:23:51.2536114</td>
<td valign="top" width="125">14:28:54.6648367</td>
<td valign="top" width="125">14:31:58.3643092</td>
</tr>
<tr>
<td valign="top" width="125">End Time</td>
<td valign="top" width="125">14:24.03.0634712</td>
<td valign="top" width="125">14:29:08.3145661</td>
<td valign="top" width="125">14:32:10.2021354</td>
</tr>
</tbody>
</table>
<p>That is a tad faster at ~14 seconds or about 53 entities per second (probably faster as I’m being generous here).</p>
<p>The tests were all done using a small VM size (1 core) and the tables etc. were deleted between tests. It’s not terribly scientific, but its good enough to show its worth looking into.</p>
<p>For a simple code change, that is not a bad days work.</p>
<p>You can find out some more about the extensions at <a title="http://msdn.microsoft.com/en-us/library/dd460693.aspx" href="http://msdn.microsoft.com/en-us/library/dd460693.aspx">http://msdn.microsoft.com/en-us/library/dd460693.aspx</a> as well as the C9 10-4 show at <a title="http://channel9.msdn.com/shows/10-4/10-4-Episode-6-Parallel-Extensions/" href="http://channel9.msdn.com/shows/10-4/10-4-Episode-6-Parallel-Extensions/">http://channel9.msdn.com/shows/10-4/10-4-Episode-6-Parallel-Extensions/</a>.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS, NOBODY EVER READS THIS BIT EITHER SO I DON’T EVEN KNOW WHY I BOTHER SOMETIMES</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/06/09/speed-up-your-workers-with-net-4-0-parallel-extensions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows Azure Platform Training Kit &#8211; June Update</title>
		<link>http://www.davidaiken.com/2010/06/07/windows-azure-platform-training-kit-june-update/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/06/07/windows-azure-platform-training-kit-june-update/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 16:15:30 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Training Kit]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/?p=152</guid>
		<description><![CDATA[I’m pleased to announce the June update for the Windows Azure Platform training kit. You can download it from here. The training kit has everything you need to get started and then dig deep on the Windows Azure platform, including Windows Azure, SQL Azure, “Dallas”, Identity and the Windows Azure Platform AppFabric. We have some]]></description>
			<content:encoded><![CDATA[<p>I’m pleased to announce the June update for the Windows Azure Platform training kit.</p>
<p>You can download it from <a href="http://hmbl.me/1V48CC" target="_blank">here</a>.</p>
<p>The training kit has everything you need to get started and then dig deep on the Windows Azure platform, including Windows Azure, SQL Azure, “Dallas”, Identity and the Windows Azure Platform AppFabric.</p>
<p>We have some minor updates to the training presentations and some new &amp; updated hands on labs since the December release.</p>
<p>If you have used this content as a base for your own PLEASE take a look at the updated decks. I still see content from POST-PDC 09 that is now technically wrong.</p>
<p>Here is what is new in the kit:</p>
<ul>
<li>Introduction to Windows Azure &#8211; VS2010 version</li>
<li>Intro To SQL Azure &#8211; VS2010 version</li>
<li>Intro Service Bus &#8211; VS2010 version</li>
<li>Intro To Dallas &#8211; VS2010 version</li>
<li>Intro Access Control Service &#8211; VS2010 version</li>
<li>Web Services and Identity in the Cloud</li>
<li>Exploring Windows Azure Storage
<ul>
<li>VS2010 version</li>
<li>+ new Exercise: “Working with Drives”</li>
</ul>
</li>
<li>Windows Azure Deployment
<ul>
<li>VS2010 version</li>
<li>+ new Exercise: “Securing Windows Azure with SSL”</li>
</ul>
</li>
<li>Minor fixes to presentations – mainly timelines, pricing, new features etc.</li>
</ul>
<p>We are currently working on updating the presentations and demos in the training kit. These will form the basis of a new 3 day course which digs much deeper into the platform – watch out for this update during July.</p>
<p>If you have any ideas on how we should improve the kit, please drop me an email. My email address is my firstname.lastname at microsoft.com.</p>
<p>Thanks</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/06/07/windows-azure-platform-training-kit-june-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Security Best Practices for Developing Windows Azure Applications</title>
		<link>http://www.davidaiken.com/2010/06/02/security-best-practices-for-developing-windows-azure-applications/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/06/02/security-best-practices-for-developing-windows-azure-applications/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 17:49:49 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/06/02/security-best-practices-for-developing-windows-azure-applications/</guid>
		<description><![CDATA[Update (June 4th): There are a few errors in the guide which are being fixed by the authors. I&#8217;ll update this post again once they are fixed. This is worth a read &#60;link removed&#62; This paper focuses on the security challenges and recommended approaches to design and develop more secure applications for Microsoft’s Windows Azure]]></description>
			<content:encoded><![CDATA[<p><strong>Update (June 4th): There are a few errors in the guide which are being fixed by the authors. I&#8217;ll update this post again once they are fixed.</strong></p>
<p>This is worth a read &lt;link removed&gt;</p>
<blockquote><p>This paper focuses on the security challenges and recommended approaches to design and develop more secure applications for Microsoft’s Windows Azure platform. Microsoft Security Engineering Center (MSEC) and Microsoft’s Online Services Security &amp; Compliance (OSSC) team have partnered with the Windows Azure team to build on the same security principles and processes that Microsoft has developed through years of experience managing security risks in traditional development and operating environments.</p></blockquote>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/06/02/security-best-practices-for-developing-windows-azure-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remember to update your DiagnosticsConnectionString before deploying</title>
		<link>http://www.davidaiken.com/2010/05/28/remember-to-update-your-diagnosticsconnectionstring-before-deploying/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/05/28/remember-to-update-your-diagnosticsconnectionstring-before-deploying/#comments</comments>
		<pubDate>Fri, 28 May 2010 22:47:03 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Busy]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/05/28/remember-to-update-your-diagnosticsconnectionstring-before-deploying/</guid>
		<description><![CDATA[In the ServiceConfiguration.cscfg file, you have a DiagnosticsConnectionString which as a default is linked to local storage. &#160;&#160;&#160; &#60;Setting name=&#34;DiagnosticsConnectionString&#34; value=&#34;UseDevelopmentStorage=true&#34; /&#62; When you deploy your package it will never start correctly (stuck in Busy/Initializing), because you could will be trying to log to the local storage, which doesn’t exist in the cloud. Fixing this]]></description>
			<content:encoded><![CDATA[<p>In the ServiceConfiguration.cscfg file, you have a DiagnosticsConnectionString which as a default is linked to local storage.</p>
<p>&#160;&#160;&#160; &lt;Setting name=&quot;DiagnosticsConnectionString&quot; value=&quot;UseDevelopmentStorage=true&quot; /&gt;     </p>
<p>When you deploy your package it will never start correctly (stuck in Busy/Initializing), because you could will be trying to log to the local storage, which doesn’t exist in the cloud.</p>
<p>Fixing this is easy:</p>
<ol>
<li>Create a storage account if you don’t already have one. </li>
<li>In Visual Studio, bring up the properties of your project, then click settings. </li>
<li>Click on the … next to the DiagnosticsConnectionString.<a href="http://www.davidaiken.com/wp-content/uploads/2010/05/image3.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/05/image3_thumb.png" width="565" height="125" /></a> </li>
<li>Enter your storage details in the dialog.<a href="http://www.davidaiken.com/wp-content/uploads/2010/05/image8.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/05/image8_thumb.png" width="566" height="351" /></a> </li>
<li>Save then deploy. </li>
</ol>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/05/28/remember-to-update-your-diagnosticsconnectionstring-before-deploying/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>address is not the same as Address</title>
		<link>http://www.davidaiken.com/2010/05/04/address-is-not-the-same-as-address/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/05/04/address-is-not-the-same-as-address/#comments</comments>
		<pubDate>Tue, 04 May 2010 18:17:16 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/05/04/address-is-not-the-same-as-address/</guid>
		<description><![CDATA[When using Windows Azure table storage – keep in mind the property names are case sensitive! Yesterday one of our developers was working on refactoring some code. As is standard practice, they changed the class properties on the table storage entity classes from a lower case address to an upper case Address. This worked fine]]></description>
			<content:encoded><![CDATA[<p>When using Windows Azure table storage – keep in mind the property names are case sensitive!</p>
<p>Yesterday one of our developers was working on refactoring some code. As is standard practice, they changed the class properties on the table storage entity classes from a lower case address to an upper case Address. This worked fine in the developer fabric, but when we pushed to the cloud the app broke. Upon investigation it turned out each entity now had an address property as well as the new Address property.</p>
<p>Easy fix, we changed everything back to lower case.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS EVEN IF YOU HAVE A NOTE FROM YOUR MUM</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/05/04/address-is-not-the-same-as-address/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design to fail</title>
		<link>http://www.davidaiken.com/2010/04/20/design-to-fail/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/20/design-to-fail/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 20:43:35 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Fail]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/20/design-to-fail/</guid>
		<description><![CDATA[I was chatting to a customer earlier about a solution they had built for Azure. They had implemented a thingythangy that stored a few hundred requests in memory, before dumping it into a blob. My immediate reaction was – “What happens when your role gets recycled, do you loose the cached requests?” Windows Azure does]]></description>
			<content:encoded><![CDATA[<p>I was chatting to a customer earlier about a solution they had built for Azure. They had implemented a thingythangy that stored a few hundred requests in memory, before dumping it into a blob. My immediate reaction was – “What happens when your role gets recycled, do you loose the cached requests?”</p>
<p>Windows Azure does not have an SLA for restarting your service, but if it did it would be 100%. Restarting is just a reality. Hardware fails, OS’s get patched, etc. At some point you will be restarted, maybe with a warning, but maybe not.</p>
<p>This by the way is no different from when you run your service on the server under your desk. At some point it will get restarted, loose power or some other such calamity.</p>
<p>One thing you need to think about when writing good code for the cloud is how to deal with this. There are a few choices to think about:</p>
<p><strong>Ignore it and carry on</strong></p>
<p>My Dad used to say “nothing to see here, move along” – sometimes it really doesn’t matter. You can ignore some things that happen twice. As an example if you were counting web site hits, and extra “count” here or there isn’t really going to change the outcome or purpose, however if the action is generating a patients prescription, that extra <a href="http://en.wikipedia.org/wiki/Hydrocodone">Hydrocodone</a> tablet will probably make a significant difference.</p>
<p><strong>Write code to handle failure</strong></p>
<p>Write code to detect if the action has already been completed as well as write code to recover in-complete actions. You can do things like:</p>
<ul>
<li>Check how many times a message has been dequeued – a message that has been dequeued more than once is either a poison message, or was the subject of a failure (or both.</li>
<li>Check the eTag &amp; timestamp on data from Windows Azure storage. Has it been updated recently, is the message you are trying to process older than the last update?</li>
</ul>
<p>Essentially you are trying to write code that is idempotent. Idempotent code is code that can be executed multiple times without changing the outcome. There are a bunch of techniques which I’ll cover over the coming weeks (with code), but the bottom line is:</p>
<blockquote><p><em>Your code will fail – make sure you handle that.</em></p>
</blockquote>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS, EVEN IF YOU SAY PLEASE<a href="http://www.davidaiken.com/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/20/design-to-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scaling out Azure</title>
		<link>http://www.davidaiken.com/2010/04/19/scaling-out-azure/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/19/scaling-out-azure/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 08:00:00 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Scaling Out]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/19/scaling-out-azure/</guid>
		<description><![CDATA[&#60;Rant Warning/&#62; In previous blog posts, I’ve talked about some of the patterns you can use to build your apps for the cloud, including Task-Queue-Task and de-normalizing your data using that pattern. But now something on scaling out. When you are building apps in the cloud, you have to remember you are running in a]]></description>
			<content:encoded><![CDATA[<p>&lt;Rant Warning/&gt;</p>
<p>In previous blog posts, I’ve talked about some of the patterns you can use to build your apps for the cloud, including <a href="http://www.davidaiken.com/2010/04/12/web-queue-task-queue-task/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Task-Queue-Task</a> and <a href="http://www.davidaiken.com/2010/04/13/de-normalizing-your-data/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">de-normalizing your data</a> using that pattern. But now something on scaling out.</p>
<p>When you are building apps in the cloud, you have to remember you are running in a shared environment and have no control over the hardware. </p>
<p>Let’s think about that for a moment.</p>
<p>In Windows Azure and SQL Azure we run you on hardware. Information on roughly what to expect can be found <a href="http://www.microsoft.com/windowsazure/offers/popup.aspx?lang=en&amp;locale=en-US&amp;offer=MS-AZR-0003P#">here</a> (scroll down and expand compute instances), but here is a table of the compute part of Windows Azure:</p>
<div class="innerWrapper">
<div id="ctl01_OfferPanel">
<div id="ctl01_OfferText">
<div class="expandoList allCollapsed">
<div class="expandoItem expanded" jquery1271374317851="23">
<div style="display: block" class="content" jquery1271374317851="4">
<table class="fiveColumns" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th class="col01">Compute Instance Size</th>
<th class="col02">CPU</th>
<th class="col03">Memory</th>
<th class="col04">Instance Storage</th>
<th class="col05">I/O Performance</th>
</tr>
<tr>
<td>Small</td>
<td>1.6 GHz</td>
<td>1.75 GB</td>
<td>225 GB</td>
<td>Moderate</td>
</tr>
<tr>
<td>Medium</td>
<td>2 x 1.6 GHz</td>
<td>3.5 GB</td>
<td>490 GB</td>
<td>High</td>
</tr>
<tr>
<td>Large</td>
<td>4 x 1.6 GHz</td>
<td>7 GB</td>
<td>1,000 GB</td>
<td>High</td>
</tr>
<tr>
<td>Extra large</td>
<td>8 x 1.6 GHz</td>
<td>14 GB</td>
<td>2,040 GB</td>
<td>High</td>
</tr>
</tbody>
</table></div>
</p></div>
</p></div>
</p></div>
</p></div>
</p></div>
<p>So how fast is the memory? What kind of CPU caching do we have? How fast are the drives? What about the network?</p>
<p>For SQL Azure we don’t even tell you what it’s running on, although you can watch <a href="http://microsoftpdc.com/Sessions/SVC12">this</a> to get a better idea of how “shared” you are.</p>
<p>The point I’m going to make is that when you control the hardware, you can figure out lots of things like the throughput of disk controllers, CPU &amp; Memory and based on that knowledge create filegroups for databases that span multiple drives, install more cores, faster drives, more memory, faster networking – all to improve performance. You are scaling up.</p>
<p>In the cloud, things work differently – you have to scale out. You have lots of little machines doing little chunks of work. No more 32-way servers at your disposal to crank through that huge workload. Instead you need 32 x 1 way servers to crank through that workload. There are no file groups, no 15,000 rpm drives. Just lots of cheap little servers ready for you whenever you need them. </p>
<p>I get a lot of questions about the performance of this, that and the other and while I understand that information can be useful, I think they somewhat miss one of the points and the potential of using the cloud.</p>
<p>I don’t need 15,000rpm drives and 8 cores to handle my anticipated peak workload. Instead I can have 20 servers working my data at peak times, and 5 servers the rest of the time. So stop thinking about how fast the memory is, and start figuring out how you can use as many servers as you need – when you need it. </p>
<p>Remember OUT not UP.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS, EVEN IF YOU SAY PLEASE<a href="http://www.davidaiken.com/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/19/scaling-out-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remember to check your framework version</title>
		<link>http://www.davidaiken.com/2010/04/15/remember-to-check-your-framework-version/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/15/remember-to-check-your-framework-version/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 18:50:05 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Visual Studio 2010 Express]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/15/remember-to-check-your-framework-version/</guid>
		<description><![CDATA[I’ve just recently installed the final version of Microsoft Visual Web Developer 2010 Express – which is my tool of choice for building for Windows Azure. When you open a project from an older version, you get the option to upgrade the projects. My default response to this dialog box is to click on Finish]]></description>
			<content:encoded><![CDATA[<p>I’ve just recently installed the final version of <a href="http://www.microsoft.com/express/Web/">Microsoft Visual Web Developer 2010</a> Express – which is my tool of choice for building for Windows Azure.</p>
<p>When you open a project from an older version, you get the option to upgrade the projects. My default response to this dialog box is to click on Finish and not walk through the wizard. Now one thing that I notice is that if there are any web projects, you will be asked if you want to leave them as framework 3.5 projects, or upgrade them. Right now Windows Azure does not support .net 4 applications – so you should choose to leave them at framework 3.5.</p>
<p>This is great, but if you have any class libraries or other projects, those seem to get upgraded automatically to framework 4.0. The easy fix is to check the project properties of each project and make sure the framework version is set to 3.5. Fortunately most of the projects I&#8217;ve converted have thrown up warnings – but it’s always good to check.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS<a href="http://www.davidaiken.com/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/15/remember-to-check-your-framework-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De-Normalizing your data</title>
		<link>http://www.davidaiken.com/2010/04/13/de-normalizing-your-data/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/13/de-normalizing-your-data/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 15:00:00 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Bid Now Sample]]></category>
		<category><![CDATA[Cloud Patterns]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[Table Storage]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/13/de-normalizing-your-data/</guid>
		<description><![CDATA[I mentioned yesterday about how we use some trickery to maintain the top views table in Bid Now. Items are stored in a table, but to generate a quick top views view, we maintain a separate table. This is done using the Task/Queue/Task pattern described yesterday here. Since TOP isn’t a keyword that Windows Azure]]></description>
			<content:encoded><![CDATA[<p>I mentioned yesterday about how we use some trickery to maintain the top views table in <a href="http://code.msdn.microsoft.com/BidNowSample">Bid Now</a>.</p>
<p>Items are stored in a table, but to generate a quick top views view, we maintain a separate table. This is done using the Task/Queue/Task pattern described yesterday <a href="http://www.davidaiken.com/2010/04/12/web-queue-task-queue-task/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">here</a>.</p>
<p>Since TOP isn’t a keyword that Windows Azure table storage deals with, we have to use some trickery.</p>
<p>Items are stored in the AuctionItems table. But when you visit the home page, you get several different lists of items. Each of these items are in fact separate tables, which are kept up to date using the Task/Queue/Task pattern.</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/04/image2.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image_thumb.png" width="644" height="335" /></a> </p>
<p>For the Most Viewed list – we use the MostViewedItems table. The table contains PartitionKey, RowKey, TimeStamp, Title, EndDate, ItemId, PhotoUrl, ShortDescription &amp; ThumbnailUrl. In fact just enough information to display the list and enable a click through to the item details.</p>
<p>The query to return the top 5 items is simple – we simply return the first 5 items from that table – which is super fast. How you say. Well we use the PartitonKey to order the table!</p>
<p>Take a look at the Most Viewed from the home page.</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/04/image3.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image_thumb1.png" width="231" height="418" /></a> </p>
<p>Here is the MostViewItems table. Note the partition key is numerical. Every time an item is viewed we read the row, decrement the number in the partition key, save the new row and delete the old one. (since you cannot update the partition key).</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/04/image4.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image_thumb2.png" width="644" height="162" /></a> </p>
<p>Note Football is 2nd from the bottom. If we view football, the update works and we end up with this on the home page.</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/04/image5.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image_thumb3.png" width="238" height="422" /></a> </p>
<p>And an update to the partition key. Note the number has been decremented by one.</p>
<p><a href="http://www.davidaiken.com/wp-content/uploads/2010/04/image6.png#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image_thumb4.png" width="644" height="158" /></a> </p>
</p>
</p>
<p>You can use this pattern to keep your own data de-normalized and provide super fast queries.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS<a href="http://www.davidaiken.com/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/13/de-normalizing-your-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Web Queue Task Queue Task</title>
		<link>http://www.davidaiken.com/2010/04/12/web-queue-task-queue-task/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/12/web-queue-task-queue-task/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 21:02:33 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Bid Now Sample]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/12/web-queue-task-queue-task/</guid>
		<description><![CDATA[As part of my firestarter talk on building applications from the cloud, I talked about decoupling the tasks worker roles had to perform using Queues. Here is the basic pattern: This is a pattern you should follow when building new applications and services for the cloud. Why should you think this way? There are several]]></description>
			<content:encoded><![CDATA[<p>As part of my <a href="http://www.msdnevents.com/firestarter/">firestarter</a> talk on building applications from the cloud, I talked about decoupling the tasks worker roles had to perform using Queues.</p>
<p>Here is the basic pattern:</p>
<p><img style="display: inline; border: 0px;" title="Web Q Task Q Task diagram" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image1.png" border="0" alt="Web Q Task Q Task diagram" width="524" height="79" /></p>
<p>This is a pattern you should follow when building new applications and services for the cloud.</p>
<p>Why should you think this way?</p>
<p>There are several reasons:</p>
<ol>
<li><strong>De-Normalizing data for Windows Azure table storage</strong>. If you are using table storage, you could well be using a worker role to keep the data de-normalized. As an example, in the <a href="http://code.msdn.microsoft.com/BidNowSample">Bid Now sample application</a> there is a view of the data that is the most viewed items. This table is updated by a worker. When you view an item on the site, a message is placed on a queue which instructs the worker to update the data in the most viewed items table.</li>
<li><strong>Scale out</strong>. Some tasks take longer and/or more resources than others. Some tasks need to be done quicker than others. As an example, it doesn’t matter how quickly we update the most viewed items table, but we had better update the table containing the winning bid very quickly. Breaking out tasks into different workers allows you to scale up and down in the right place.</li>
<li><strong>Failover</strong>. At some point, your worker will effectively restart. (could be hardware failure, OS patching etc.) The more work a worker has to do in any one task, the longer it will take to redo this after a failure. It also has a much greater chance of leaving your system in a mid-way state.</li>
<li><strong>Isolation/Layering</strong>. You can easily add improvements and deploy fixes into individual instances if they are separated out without any down time.</li>
</ol>
<p>This has to be the first rule of building cloud apps, but what about a sample that shows it?</p>
<p>If you look at the Bid Now sample app, you will see that although we have a single worker role – the app is in fact implemented using the strategy above. We use a single worker as I didn’t figure you would want to run 6 worker roles for a sample app!</p>
<p>If you want to walk through an example of this, take a look at the following places in Bid Now:</p>
<ul>
<li><strong>Buy/AuctionDetails.aspx.cs</strong> in the project <strong>BidNow.Web</strong>, line 164-168. If the item is viewed, call <strong>service.IncreaseAuctionItemViews</strong>, which if you follow the link will take you to</li>
<li><strong>AuctionService.cs</strong> in the project <strong>BidNow.Services</strong>, line 266-269. Here we add a message to a queue.</li>
<li><strong>ViewItemHandler.cs</strong> in the project <strong>BidNow.Handlers</strong>, starting at line 51, reads the message from the queue and increments it up the list. It performs a delete and an add to do this as the view table is ordered by the partition key (more on this in a later post).</li>
</ul>
<p>You can grab the latest Bid Now Sample from <a title="http://code.msdn.microsoft.com/BidNowSample" href="http://code.msdn.microsoft.com/BidNowSample">http://code.msdn.microsoft.com/BidNowSample</a>.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS<a title="http://www.davidaiken.com/" href="http://www.davidaiken.com/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/12/web-queue-task-queue-task/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows Azure FireStarter Deck</title>
		<link>http://www.davidaiken.com/2010/04/09/windows-azure-firestarter-deck/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/09/windows-azure-firestarter-deck/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 22:00:00 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Deck]]></category>
		<category><![CDATA[FireStarter]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/09/windows-azure-firestarter-deck/</guid>
		<description><![CDATA[A couple of folks have asked about my deck from this weeks event, so&#160; here it is THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS]]></description>
			<content:encoded><![CDATA[<p>A couple of folks have asked about my deck from this weeks event, so&#160;
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:55577dcc-08f5-4189-89d2-39b40fcec734" class="wlWriterEditableSmartContent">
<div><a href="http://www.davidaiken.com/wp-content/uploads/2010/04/Windows_Azure_Firestarter_Building_Cloud_Applications_Final.pptx#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_self">here it is</a></div>
</p>
</div>
</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/09/windows-azure-firestarter-deck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Cover Episode 8 &#8211; Shared Access Signatures</title>
		<link>http://www.davidaiken.com/2010/04/09/cloud-cover-episode-8-shared-access-signatures/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/09/cloud-cover-episode-8-shared-access-signatures/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 17:22:39 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Blob Storage]]></category>
		<category><![CDATA[CloudCoverShow]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/09/cloud-cover-episode-8-shared-access-signatures/</guid>
		<description><![CDATA[The latest episode of Cloud Cover is now live on Channel 9 at http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-8-Shared-Access-Signatures/, or watch it below. The guys are taking a 2 week mid-season break, but will be back soon. THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS]]></description>
			<content:encoded><![CDATA[<p>The latest episode of Cloud Cover is now live on Channel 9 at <a title="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-8-Shared-Access-Signatures/" href="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-8-Shared-Access-Signatures/">http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-8-Shared-Access-Signatures/</a>, or watch it below.</p>
<p>The guys are taking a 2 week mid-season break, but will be back soon.</p>
<p><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"><param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer10_01_18.xap" /><param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/ch9/2/8/4/2/4/5/CloudCoverEp09_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/2/8/4/2/4/5/CloudCoverEp09_512_ch9.png, postid=542482" /><param name="background" value="#00FFFFFF" /><a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /> </a> </object></p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/09/cloud-cover-episode-8-shared-access-signatures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ecn.channel9.msdn.com/o9/ch9/2/8/4/2/4/5/CloudCoverEp09_2MB_ch9.wmv" length="700740529" type="video/x-ms-wmv" />
		</item>
		<item>
		<title>New Bid Now Sample on Code Gallery</title>
		<link>http://www.davidaiken.com/2010/04/08/new-bid-now-sample-on-code-gallery/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/08/new-bid-now-sample-on-code-gallery/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 00:27:50 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Bid Now Sample]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/08/new-bid-now-sample-on-code-gallery/</guid>
		<description><![CDATA[I’ve just posted the latest version of Bid Now on code gallery at http://code.msdn.microsoft.com/BidNowSample! On code gallery you will find the code, as well as some guidance on how to get Bid Now running on your machine, as well as how you can deploy it to the cloud. A few days back I presented at]]></description>
			<content:encoded><![CDATA[<p>I’ve just posted the latest version of Bid Now on code gallery at <a title="http://code.msdn.microsoft.com/BidNowSample" href="http://code.msdn.microsoft.com/BidNowSample">http://code.msdn.microsoft.com/BidNowSample</a>! On code gallery you will find the code, as well as some guidance on how to get Bid Now running on your machine, as well as how you can deploy it to the cloud.</p>
<p>A few days back I presented at the <a href="http://www.msdnevents.com/firestarter/">Windows Azure fire starter</a> event here in Redmond. (More on that in a few days when the videos are posted.) This is one of the demos I showed during my talk.</p>
<p>The demo is built on Windows Azure, and uses Windows Azure table and blob storage for data. There are some great things to look at in the code, such as the decoupling of functionality and use of Windows Azure Queues. It is also a great example of how you can build complex data applications using Windows Azure table storage. Think nosql here.</p>
<p>If you look at the homepage you can see there are several “views” of the data. As an example the <em>boots</em> below are shown in both the “Bids ending soon!” and “Hottest” sections. This data is pulled from different Windows Azure tables as all the data has been de-normalized.</p>
<p><img style="display: inline; border: 0px;" title="image" src="http://www.davidaiken.com/wp-content/uploads/2010/04/image.png" border="0" alt="image" width="642" height="362" /></p>
<p>Over the next few days I’ll be posting more details on how we built this app, some of the do’s and don’ts as well as how you can use it for your own demos/projects.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/08/new-bid-now-sample-on-code-gallery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cloud Cover Episode 7 &#8211; Dallas</title>
		<link>http://www.davidaiken.com/2010/04/02/cloud-cover-episode-7-dallas/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/04/02/cloud-cover-episode-7-dallas/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 15:00:16 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[CloudCoverShow]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/04/02/cloud-cover-episode-7-dallas/</guid>
		<description><![CDATA[Cloud Cover Episode 7 is now available on C9 at http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-7-Dallas/, or watch it below. In this episode Dunn &#38; Marx cover: the new information marketplace for producer and consumers called Codename &#34;Dallas&#34; A PowerShell one-liner for monitoring your instances in Windows Azure. How to build and deploy to the cloud from Visual Studio using]]></description>
			<content:encoded><![CDATA[<p>Cloud Cover Episode 7 is now available on C9 at <a title="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-7-Dallas/" href="http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-7-Dallas/">http://channel9.msdn.com/shows/Cloud+Cover/Cloud-Cover-Episode-7-Dallas/</a>, or watch it below.</p>
<p>In this episode <a href="http://dunnry.com/blog/">Dunn</a> &amp; <a href="http://blog.smarx.com/">Marx</a> cover:</p>
<ul>
<li>the new information marketplace for producer and consumers called Codename &quot;Dallas&quot; </li>
<li>A PowerShell one-liner for monitoring your instances in Windows Azure. </li>
<li>How to build and deploy to the cloud from Visual Studio using MSBuild tasks &#8211; all automated! </li>
</ul>
<p> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"><param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer10_01_18.xap" /><param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/ch9/4/2/7/0/4/5/CloudCoverEp07_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/4/2/7/0/4/5/CloudCoverEp07_512_ch9.png, postid=540724" /><param name="background" value="#00FFFFFF" /><a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /> </a> </object>
<p>&#160;</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/04/02/cloud-cover-episode-7-dallas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ecn.channel9.msdn.com/o9/ch9/4/2/7/0/4/5/CloudCoverEp07_2MB_ch9.wmv" length="285711111" type="video/x-ms-wmv" />
		</item>
		<item>
		<title>Upgrade your Windows Azure CTP Account Right Now</title>
		<link>http://www.davidaiken.com/2010/01/05/upgrade-your-windows-azure-ctp-account-right-now/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/01/05/upgrade-your-windows-azure-ctp-account-right-now/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:31:32 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2010/01/05/upgrade-your-windows-azure-ctp-account-right-now/</guid>
		<description><![CDATA[You can now update your CTP accounts for Azure to paid commercial subscriptions. You should do this right now! Why: You will still be free until the end of Jan You will be able to see your usage charge You will avoid any unnecessary hick-ups when CTP accounts are made READ ONLY on Feb 1st.]]></description>
			<content:encoded><![CDATA[<p>You can now update your CTP accounts for Azure to paid commercial subscriptions. </p>
<p><strong>You should do this right now!</strong></p>
<p>Why:</p>
<ul>
<li>You will still be free until the end of Jan</li>
<li>You will be able to see your usage charge</li>
<li>You will avoid any unnecessary hick-ups when CTP accounts are made READ ONLY on Feb 1st.</li>
</ul>
<p>Find out more by visiting the <a href="http://blogs.msdn.com/windowsazure/archive/2010/01/04/sign-up-for-a-windows-azure-platform-offer-today-and-get-visibility-into-your-usage.aspx">Windows Azure Blog</a>, see the offers page on <a title="offer page" href="http://www.microsoft.com/windowsazure/offers/">offer page</a>, or follow the links from the developer portal.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/01/05/upgrade-your-windows-azure-ctp-account-right-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Azure Lessons Learned Series</title>
		<link>http://www.davidaiken.com/2010/01/05/windows-azure-lessons-learned-series/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2010/01/05/windows-azure-lessons-learned-series/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 16:00:00 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Channel 9]]></category>
		<category><![CDATA[Customers]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2009/12/28/windows-azure-lessons-learned-series/</guid>
		<description><![CDATA[Ben Riga has been working with the Windows Azure Evangelism team over the last few months leading up to PDC. Ben was charged with working with several of our partners to get them ready for PDC ‘09. Ben also took the opportunity to chat with some of our partners about adopting Azure and the experiences]]></description>
			<content:encoded><![CDATA[<p>Ben Riga has been working with the Windows Azure Evangelism team over the last few months leading up to PDC. Ben was charged with working with several of our partners to get them ready for PDC ‘09. Ben also took the opportunity to chat with some of our partners about adopting Azure and the experiences they had. The results are now on Channel 9 and are worth checking out:</p>
<p><a href="http://channel9.msdn.com/posts/benriga/Azure-Lessons-Learned-Kelley-Blue-Book/">Kelly Blue Book</a> – great story of migrating apps to the cloud. KBB are looking to use Windows Azure to handle spikes and failover.</p>
<p><a href="http://channel9.msdn.com/posts/benriga/Azure-Lessons-Learned-Outback-Steakhouse-Facebook-App/">Thuzi&#8217;s Outback Steakhouse Facebook App</a> – the app behind the free Bloomin&#8217; Onion is built on Windows Azure to handle spikes</p>
<p><a href="http://channel9.msdn.com/posts/benriga/Azure-Lessons-Learned-Quark-Software/">Quark Software</a> – are using Windows Azure to build a multi-tenant service.</p>
<p><a href="http://channel9.msdn.com/posts/benriga/Azure-Lessons-Learned-Embarcadero/">Embarcadero</a> – have integrated SQL Azure into their cross-DBMS product.</p>
<p><a href="http://channel9.msdn.com/posts/benriga/Windows-Azure-Lessons-Learned-Invensys/">Invensys</a> – are using the AppFabric Service Bus to connect devices for the power industry.</p>
<p><a href="http://channel9.msdn.com/posts/benriga/Windows-Azure-Lessons-Learned-GoGrid/">GoGrid</a> – see how GoGrid are using Windows Azure to allow hybrid hosting/cloud services for development and testing.</p>
<p>There are many more to come over the next few weeks &#8211; check out <a href="http://channel9.msdn.com/tags/Azure-Lessons-Learned/">http://channel9.msdn.com/tags/Azure-Lessons-Learned/</a> for updates.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2010/01/05/windows-azure-lessons-learned-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Training kit for the Holidays</title>
		<link>http://www.davidaiken.com/2009/12/23/new-training-kit-for-the-holidays/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2009/12/23/new-training-kit-for-the-holidays/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 00:00:00 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Training Kit]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2009/12/23/new-training-kit-for-the-holidays/</guid>
		<description><![CDATA[I’m pleased to announce we have the latest Windows Azure Training Kit available for download. If you want to get started on the Windows Azure platform, the training kit is a great resource check out the videos and hands on labs to get you going. If you want to do your own presentations for your]]></description>
			<content:encoded><![CDATA[<p>I’m pleased to announce we have the latest <a href="http://go.microsoft.com/fwlink/?LinkID=130354">Windows Azure Training Kit available for download</a>. If you want to get started on the Windows Azure platform, the training kit is a great resource check out the videos and hands on labs to get you going.</p>
<p>If you want to do your own presentations for your company or user group, you will also find some presentations and demo/walkthroughs that you can use straight from the “box” or customize to suit your needs.</p>
<p>If you want to give us feedback – you can email the team direct at azcfeed at microsoft.com.</p>
<p>December Training Kit Contents</p>
<p><strong>Hands On Labs</strong></p>
<ul>
<li>Introduction to Windows Azure</li>
<li>Exploring Windows Azure Storage</li>
<li>Deploying and Monitoring Applications in Windows Azure</li>
<li>Windows Azure: Worker Role Communication</li>
<li>Federated Authentication in a Windows Azure Web Role Application</li>
<li>Building ASP.NET Web Form Applications with Windows Azure</li>
<li>Introduction to SQL Azure</li>
<li>Migrating Databases to SQL Azure</li>
<li>SQL Azure: Tips and Tricks</li>
<li>Intro to Dallas</li>
<li>Introduction to the .NET Service Bus</li>
<li>Introduction to the .NET Access Control Service</li>
<li>Service Remoting with Service Bus</li>
<li>Eventing with the Service Bus</li>
</ul>
<p><strong>Presentations and Videos</strong></p>
<ul>
<li>Windows Azure Platform Overview (C9 &#8211; VIDEO)</li>
<li>What is Windows Azure? (C9 &#8211; VIDEO)</li>
<li>Windows Azure Storage Overview (C9 &#8211; VIDEO)</li>
<li>Deploying Applications on Windows Azure (C9 &#8211; VIDEO)</li>
<li>Windows Azure Compute (C9 &#8211; VIDEO)</li>
<li>Introduction to Windows Azure (PPTX)</li>
<li>Building Services with Windows Azure (PPTX)</li>
<li>What is SQL Azure? (C9 &#8211; VIDEO)</li>
<li>Introduction to SQL Azure (PPTX)</li>
<li>Building Applications using SQL Azure (PPTX)</li>
<li>Scaling out with SQL Azure</li>
<li>What is Microsoft Codename &#8220;Dallas&#8221;? (C9 &#8211; VIDEO)</li>
<li>Introduction to Microsoft Codename &#8220;Dallas&#8221; (PPTX)</li>
<li>What is the Access Control Service (C9 &#8211; VIDEO)</li>
<li>Introduction to the Service Bus (C9 &#8211; VIDEO)</li>
</ul>
<p><strong>Demos</strong></p>
<ul>
<li>Deploying Windows Azure Services</li>
<li>Hello Windows Azure</li>
<li>Windows Azure Guestbook Demo</li>
<li>Windows Azure Logging and Configuration Demo</li>
<li>Windows Azure using Blobs Demo</li>
<li>Windows Azure Worker Role Demo</li>
<li>Windows Azure Using Queues Demo</li>
<li>Windows Azure Using Tables Demo</li>
<li>Preparing your SQL Azure Account</li>
<li>Connecting to SQL Azure</li>
<li>Managing Logins and Security in SQL Azure</li>
<li>Creating Objects in SQL Azure</li>
<li>Migrating a Database Schema to SQL Azure</li>
<li>Moving Data Into and Out Of SQL Azure using SSIS</li>
<li>Building a Simple SQL Azure App</li>
<li>Scaling Out SQL Azure with Database Sharding</li>
<li>AppFabric Service Bus Direct Connection Demo</li>
<li>AppFabric Service Bus webHttpRelayBinding</li>
<li>AppFabric Service Bus Publish and Subscribe</li>
<li>AppFabric Service Bus Service Registry</li>
<li>AppFabric Service Bus NetOneWayRelayBinding</li>
</ul>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2009/12/23/new-training-kit-for-the-holidays/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Create a x509 Certificate for the Windows Azure Management API</title>
		<link>http://www.davidaiken.com/2009/12/21/how-to-create-a-x509-certificate-for-the-windows-azure-management-api/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://www.davidaiken.com/2009/12/21/how-to-create-a-x509-certificate-for-the-windows-azure-management-api/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 22:08:33 +0000</pubDate>
		<dc:creator>DavidAiken</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[x509]]></category>

		<guid isPermaLink="false">http://www.davidaiken.com/2009/12/21/how-to-create-a-x509-certificate-for-the-windows-azure-management-api/</guid>
		<description><![CDATA[Cut to the chase. Here is how you do it. Load the IIS 7 management console. I’m assuming here you have IIS7 installed since its required for the Windows Azure SDK. Click on your Server. Double Click Server Certificates in the IIS Section in the main panel. Click Create Self-Signed Certificate… in the Actions panel.]]></description>
			<content:encoded><![CDATA[<p>Cut to the chase. Here is how you do it.</p>
<ol>
<li><strong>Load the IIS 7 management console</strong>. I’m assuming here you have IIS7 installed since its required for the Windows Azure SDK. </li>
<li><strong>Click on your Server</strong>. </li>
<li><strong>Double Click Server Certificates in the IIS Section in the main panel</strong>. </li>
<li><strong>Click Create Self-Signed Certificate… in the Actions panel</strong>. </li>
<li><strong>Give it a Friendly Name</strong>. </li>
<li><strong>Close IIS Manager</strong>. </li>
<li><strong>Open Certificate Manager</strong> (Start-&gt;Run-&gt;certmgr.msc) </li>
<li><strong>Open Trusted Root Certification Authorities, then Certificates.</strong> </li>
<li><strong>Look for your certificate</strong> (Tip: Look in the Friendly Name column). </li>
<li><strong>Right Click your certificate, then choose All Tasks, then Export…</strong> </li>
<li><strong>In the Wizard, choose No, do not export the private key, then choose the DER file format.</strong> </li>
<li><strong>Give your cert a name.</strong> (remember to call it something.cer). </li>
<li><strong>Navigate to the Windows Azure Portal</strong> – <a href="http://windows.azure.com">http://windows.azure.com</a> </li>
<li><strong>Click the Account Tab, then click Manage My API Certificates.</strong> </li>
<li><strong>Browse to the certificate file you created earlier and upload it</strong>. </li>
<li><strong>Done!</strong> </li>
</ol>
<p>Want to use the API, check out these&#160; <a title="Windows Azure Service Management CmdLets" href="http://dunnry.com/blog/WindowsAzureServiceManagementCmdLets.aspx">Windows Azure Service Management CmdLets</a> on code gallery &#8211; <a title="http://code.msdn.microsoft.com/azurecmdlets" href="http://code.msdn.microsoft.com/azurecmdlets">http://code.msdn.microsoft.com/azurecmdlets</a> and script your upgrades.</p>
<p>THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidaiken.com/2009/12/21/how-to-create-a-x509-certificate-for-the-windows-azure-management-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
