<?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>t h e D a v i d A i k e n &#187; Rant</title>
	<atom:link href="http://www.davidaiken.com/tag/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidaiken.com</link>
	<description>Not Statistically Significant</description>
	<lastBuildDate>Wed, 16 Nov 2011 04:04:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Scaling out Azure</title>
		<link>http://www.davidaiken.com/2010/04/19/scaling-out-azure/#utm_source=feed&#038;utm_medium=feed&#038;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>theDavidAiken</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  [...]]]></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>
	</channel>
</rss>

