<?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>ninesys by nick negulescu &#187; General</title>
	<atom:link href="http://www.ninesys.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ninesys.com</link>
	<description></description>
	<lastBuildDate>Mon, 12 Dec 2011 18:23:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Amazon Dynamo paper</title>
		<link>http://www.ninesys.com/2010/09/07/amazon-dynamo/</link>
		<comments>http://www.ninesys.com/2010/09/07/amazon-dynamo/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 06:27:35 +0000</pubDate>
		<dc:creator>Nick Negulescu</dc:creator>
				<category><![CDATA[Application Software]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://www.ninesys.com/?p=436</guid>
		<description><![CDATA[Werner Vogels, CTO at Amazon.com, posted a paper on Amazon&#8217;s internal called &#8220;Dynamo&#8221; about two year ago that was selected to be presented at the 21st ACM Symposium on Operating Systems Principles. Dynamo is Amazon&#8217;s internal cluster software platform. It is really their operating system since they add &#8220;hot swappable&#8221; commodity hardware to the system in [...]]]></description>
			<content:encoded><![CDATA[<p>Werner Vogels, CTO at Amazon.com, <a href="http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html" target="_blank">posted a paper on Amazon&#8217;s internal called &#8220;Dynamo&#8221;</a> about two year ago that was selected to be presented at the <a href="http://www.sosp2007.org/" target="_blank">21st ACM Symposium on Operating Systems Principles</a>. Dynamo is Amazon&#8217;s internal cluster software platform. It is really their operating system since they add &#8220;hot swappable&#8221; commodity hardware to the system in plug-and-play fashion as needed.</p>
<p>I know I&#8217;m late to finding this particular paper since it was first published about two years ago. Better late than never!</p>
<p><span id="more-436"></span></p>
<p>I found it interesting that Amazon uses a service-orientated-architecture of about 150 services to compose any one page. I just drew a few boxes on this page to illustrate some obvious ones that the end user sees. I&#8217;m sure there are other services working in the background that track how many times you&#8217;ve viewed the page, what parts of the page you scroll to and what buttons you click on to name just a few.</p>
<p><a href="http://www.ninesys.com/wp-content/uploads/2010/09/page_screenshot.png"><img class="aligncenter size-full wp-image-609" title="Sample Amazon Page Screen Shot" src="http://www.ninesys.com/wp-content/uploads/2010/09/page_screenshot.png" alt="Sample Amazon Page Screen Shot" width="450" height="2761" /></a></p>
<p>The paper goes on to describe four &#8220;other key principles&#8221; which I think are important architectural keys when building a SOA-based system.</p>
<ul>
<li><strong>Incremental scalability</strong> &#8211; As new systems are added to the overall fabric of Dynamo, it increases the overall capability of the system.</li>
<li><strong>Symmetry</strong> &#8211; Except for processing capacity and hardware vintage, all nodes act the same.</li>
<li><strong>Decentralization</strong> &#8211; Peering instead of master-slave. The &#8220;master&#8221; will always become a bottleneck!</li>
<li><strong>Heterogeneity</strong> &#8211; Basically the Dynamo system allows the workload to scale out onto whatever type of server is available as long as the platform is the same. I bet that allows Amazon the flexibility of &#8220;purchasing and forgetting&#8221; hardware. The commodity hardware spans several generations of hardware improvements as servers are added and retired.</li>
</ul>
<p>Some interesting solutions for large-scale systems:</p>
<ul>
<li>DHTs - <a href="http://en.wikipedia.org/wiki/Distributed_hash_table" target="_blank">Distributed Hash Tables</a></li>
<li><a href="http://en.wikipedia.org/wiki/Consistent_hashing" target="_blank">Consistent Hashing</a></li>
<li><a href="http://en.wikipedia.org/wiki/Vector_clock" target="_blank">Vector clocks</a></li>
<li><a href="http://en.wikipedia.org/wiki/Quorum_(Distributed_Systems)" target="_blank">Quorum</a></li>
<li>anti-entropy based recovery &#8211; Couldn&#8217;t find a link for this concept.</li>
</ul>
<p>Thanks to Werner Vogels for publishing the paper!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninesys.com/2010/09/07/amazon-dynamo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTC HD2 is not the best, but tethering rocks</title>
		<link>http://www.ninesys.com/2010/09/05/htc-hd2-is-not-the-best-but-tethering-rocks/</link>
		<comments>http://www.ninesys.com/2010/09/05/htc-hd2-is-not-the-best-but-tethering-rocks/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 23:57:18 +0000</pubDate>
		<dc:creator>Nick Negulescu</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[None of the above]]></category>
		<category><![CDATA[htc hd2]]></category>

		<guid isPermaLink="false">http://www.ninesys.com/?p=389</guid>
		<description><![CDATA[I&#8217;ve got a laundry list of issues with my HTC HD2 (Twitter OAuth fix is a no-show so far, Windows Phone random reboots, no Windows Phone 7 planned, slowest music player ever &#8212; that&#8217;s just getting started) but the one bright spot is the ability to tether over a USB connection to T-Mobile&#8217;s 3G network. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a laundry list of issues with my HTC HD2 (<a href="http://blog.twitter.com/2010/08/twitter-applications-and-oauth.html" target="_blank">Twitter OAuth fix is a no-show so far</a>, Windows Phone random reboots, no Windows Phone 7 planned, slowest music player ever &#8212; that&#8217;s just getting started) but the one bright spot is the ability to tether over a USB connection to T-Mobile&#8217;s 3G network. I just ran a speed test and here are the results: 3.82 MB/s download and 0.63 MB/s upstream. Sure beats 56K!</p>
<p><img class="alignnone size-full wp-image-393" title="Speakeasy.net T-Mobile 3G speed test" src="http://www.ninesys.com/wp-content/uploads/2010/09/speakeasy_tmobile_speedtest1.png" alt="Speakeasy.net T-Mobile 3G speed test" width="541" height="446" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninesys.com/2010/09/05/htc-hd2-is-not-the-best-but-tethering-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launching new site</title>
		<link>http://www.ninesys.com/2010/01/28/hello-world/</link>
		<comments>http://www.ninesys.com/2010/01/28/hello-world/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 12:42:23 +0000</pubDate>
		<dc:creator>Nick Negulescu</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[hello world]]></category>

		<guid isPermaLink="false">http://www.ninesys.com/wp/?p=1</guid>
		<description><![CDATA[Welcome to the recently redesigned ninesys.com. It&#8217;s been a few years so I thought I would refresh the look and roll out a few more pages and functionality.]]></description>
			<content:encoded><![CDATA[<p>Welcome to the recently redesigned ninesys.com. It&#8217;s been a few years so I thought I would refresh the look and roll out a few more pages and functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninesys.com/2010/01/28/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

