<?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; Web Services</title>
	<atom:link href="http://www.ninesys.com/category/web-services/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>Useful Charting and Visualization Tools</title>
		<link>http://www.ninesys.com/2010/09/04/useful-charting-tools/</link>
		<comments>http://www.ninesys.com/2010/09/04/useful-charting-tools/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 18:19:14 +0000</pubDate>
		<dc:creator>Nick Negulescu</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[r]]></category>

		<guid isPermaLink="false">http://www.ninesys.com/?p=241</guid>
		<description><![CDATA[Here are a few useful charting tools for the .NET platform and one statistical analysis package available on Linux. ASP.NET Charting Tools The ASP.NET controls were released in the late fall of 2008. The chart controls were finally included in the C# 4.0 release as part of the standard ASP.NET platform.  If you&#8217;re looking for reasons [...]]]></description>
			<content:encoded><![CDATA[<p>Here are a few useful charting tools for the .NET platform and one statistical analysis package available on Linux.</p>
<p><span id="more-241"></span></p>
<h3><span style="font-weight: normal;">ASP.NET Charting Tools</span></h3>
<p><a href="http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx" target="_blank">The ASP.NET controls were released in the late fall of 2008</a>. The chart controls were finally included in the C# 4.0 release as part of the standard ASP.NET platform.  If you&#8217;re looking for reasons to upgrade to C# 4.0, this three part series is a big reason to do so if you rely on reporting in your web application using SQL Reporting Service. <a href="http://weblogs.asp.net/rajbk/archive/2010/05/09/creating-an-asp-net-report-using-visual-studio-2010-part-1.aspx" target="_blank">Part 1</a>, <a href="http://weblogs.asp.net/rajbk/archive/2010/05/09/creating-a-asp-net-report-using-visual-studio-2010-part-2.aspx" target="_blank">Part 2</a>, <a href="http://weblogs.asp.net/rajbk/archive/2010/05/09/creating-a-asp-net-interactive-report-using-visual-studio-2010-part-3.aspx" target="_blank">Part 3</a>.</p>
<h3><span style="font-weight: normal;">Google Chart Tools</span></h3>
<p><a href="http://code.google.com/apis/charttools/" target="_blank">Google Chart Tools</a> comes in two flavors:  <a href="http://code.google.com/apis/chart/index.html" target="_blank">Image Charts</a> and <a href="http://code.google.com/apis/visualization/interactive_charts.html" target="_blank">Interactive Charts</a>. Both sets have some very cool features. Your application just needs access to the internet.</p>
<div class="wp-caption alignright" style="width: 260px"><img title="This is a QR Code" src="http://www.google.com/chart?cht=qr&amp;chd=t:60,40&amp;chs=250x100&amp;chl=This%20is%20a%20QR%20code" alt="This is a QR Code" width="250" height="100" /><p class="wp-caption-text">This is a QR Code (That&#39;s also the message that appears if you have a decoder)</p></div>
<p>The only issue I see with using some external charting provider like Google is that you rely on them for core aspects of understanding your business. Say, one day, Google&#8217;s server&#8217;s go down for a 3 hour period &#8212; or the route to Google&#8217;s servers is unavailable. I see that happening about as often as the power going out at home &#8212; but it does happen. What does your application do to recover? What do you show when the graphics don&#8217;t appear?</p>
<p>That  minor issue aside, there are so many cool features with the Google Charting tools, that it outweighs the downside for small the medium sized applications. The good thing is that these tools are free but I wonder how Google views &#8220;customers&#8221; of its free services with respect to long-term API support.</p>
<p><a href="http://code.google.com/p/googlechartsharp/" target="_blank">Check out the googlechartsharp project at Google Code Project Hosting</a> for a .NET implementation. <a href="http://www.mattdurrant.com/GoogleCharts.aspx" target="_blank">Matt Durrant has another version with source code available</a>.</p>
<p><strong><em>Tip: If you want to use Google Chart Tools &#8211; Image Charts &#8212; over HTTPS, you need to change the base URL from </em></strong></p>
<p><a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=https://chart.apis.google.com/chart%3F&amp;usg=AFQjCNERKB8YgMNmgDEyl8i8veIu8tP7rw" target="_blank">http://chart.apis.google.com/chart?</a></p>
<p>to</p>
<p><a rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=https://www.google.com/chart%3F&amp;usg=AFQjCNGPfW95ij2IVeDM0M8yDQ1c8auxqA" target="_blank">https://www.google.com/chart?</a>.</p>
<p>Google doesn&#8217;t have a valid SSL certificate on &#8220;chart.apis.google.com&#8221;.</p>
<p>Example:</p>
<p><a href="https://www.google.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Sample|Chart" target="_blank">https://www.google.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250&#215;100&amp;chl=Sample|Chart</a></p>
<p>Some sample Google Chart Images</p>
<div class="wp-caption aligncenter" style="width: 310px"><img title="Idea Chart - Venn Diagram Example" src="http://chart.apis.google.com/chart?chs=300x225&amp;cht=v&amp;chco=FF6342,ADDE63,63C6DE&amp;chd=t:100,80,60,30,30,30,10&amp;chdl=My+Ideas|Your+Ideas|Bob's+Ideas" alt="Venn Diagram Example" width="300" height="225" /><p class="wp-caption-text">Idea Chart - Venn Diagram Example</p></div>
<div class="wp-caption aligncenter" style="width: 450px"><img title="USA Thematic Map" src="http://chart.apis.google.com/chart?chf=bg,s,EAF7FE&amp;chs=440x220&amp;cht=t&amp;chco=F5F5F5,EDF0D4,6C9642,13390A&amp;chld=AKALARAZCACOCTDEFLGAHIIAIDILINKSKYLAMAMDMEMIMNMOMSMTNCNDNENHNJNMNVNYOHOKORPARISCSDTNTXUTVAVTWAWIWVWY&amp;chd=s:BfBBABKDCBBBAKDECSAQDBDGLLAAESJDEHGQBGCACFBBDPBH9A&amp;chtm=usa" alt="USA Thematic Map" width="440" height="220" /><p class="wp-caption-text">USA Thematic Map</p></div>
<h3>The R Project for Statistical Computing</h3>
<p><a href="http://www.r-project.org/" target="_blank">R is a Unix-based statistical analysis package that has the ability to create any type of visual representation imaginable</a>. Here&#8217;s a brief description from the About Us page at the R project</p>
<blockquote><p>R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, &#8230;) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.</p></blockquote>
<p><img class="alignleft" src="http://www.r-project.org/screenshots/ozone.png" alt="" width="600" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninesys.com/2010/09/04/useful-charting-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CloudCamp Seattle</title>
		<link>http://www.ninesys.com/2010/02/04/cloudcamp-seattle/</link>
		<comments>http://www.ninesys.com/2010/02/04/cloudcamp-seattle/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 16:23:26 +0000</pubDate>
		<dc:creator>Nick Negulescu</dc:creator>
				<category><![CDATA[Web Services]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[cloud]]></category>

		<guid isPermaLink="false">http://www.ninesys.com/?p=149</guid>
		<description><![CDATA[CloudCamp was fun, my first &#8220;unconference&#8221;. Vendors presented their services in 5 minutes or less, here were some. WebServius &#8211; 3rd party billing for your web service. Handles things like signup, metering, api key gen, quotas &#38; analytics. DynInc &#8211; Who knew DNS could be so cool? Regional DNS routing, global traffic management, geo targeting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cloudcamp.com/">CloudCamp</a> was fun, my first &#8220;unconference&#8221;. Vendors presented their services in 5 minutes or less, here were some.</p>
<ul>
<li><a href="http://www.webservius.com">WebServius</a> &#8211; 3rd party billing for your web service. Handles things like signup, metering, api key gen, quotas &amp; analytics.</li>
<li><a href="http://dyn.com/">DynInc</a> &#8211; Who knew DNS could be so cool? Regional DNS routing, global traffic management, geo targeting traffic, load balancing. This is what sys admins do when they go to heaven.</li>
<li><a href="http://www.twilio.com/">Twilio</a> &#8211; Phone API (Press 1 for &#8220;Services&#8221;, Press 2 for &#8220;Billing&#8221;). I couldn&#8217;t remember their name for the longest time until last night when they were mentioned by the speaker from WebServius. Didn&#8217;t actually present.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ninesys.com/2010/02/04/cloudcamp-seattle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SAWSUG 2/2/2010</title>
		<link>http://www.ninesys.com/2010/02/03/sawsug-222010/</link>
		<comments>http://www.ninesys.com/2010/02/03/sawsug-222010/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 16:15:30 +0000</pubDate>
		<dc:creator>Nick Negulescu</dc:creator>
				<category><![CDATA[Web Services]]></category>
		<category><![CDATA[aws]]></category>

		<guid isPermaLink="false">http://www.ninesys.com/?p=143</guid>
		<description><![CDATA[Yesterday&#8217;s SAWSUG meeting was held in the soon-to-be old Amazon building on Beacon Hill. Saw great presentations by AWS feature rollout since November (A December to remember) AWS DB offering overview (EC2 AMIs, RDS and SimpleDB). Don&#8217;t forget the 4 hour maintenance window! Rollout of 5.1.4.2 is coming soon. Senior VP Engineering Bob Wise from [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday&#8217;s <a href="http://www.sawsug.com">SAWSUG</a> meeting was held in the soon-to-be old Amazon building on Beacon Hill. Saw great presentations by</p>
<ul>
<li>AWS feature rollout since November (A December to remember)</li>
<li>AWS DB offering overview (EC2 AMIs, RDS and SimpleDB). Don&#8217;t forget the 4 hour maintenance window! Rollout of 5.1.4.2 is coming soon.</li>
<li>Senior VP Engineering Bob Wise from  <a href="http://www.nutsie.com">nuTsie.com</a> (aka <a href="http://www.melodeo.com">Melodeo</a>)</li>
<li><a href="http://www.opscode.com">OpsCode</a>&#8216;s CTO Adam Jacob and VP Engineering Christopher Brown.</li>
</ul>
<p>Take aways:</p>
<ul>
<li>Amazon&#8217;s 8th floor presentation room had some rockin&#8217; views of the sound!</li>
<li>Both presentations hinted that small AWS instances really don&#8217;t provide the best bang for your buck. Medium (High CPU) and Large sizes tend to provide better performance.</li>
<li>Didn&#8217;t know that Windows 2008 R2 was now available on AWS (haven&#8217;t checked since December).</li>
<li>CIDR addresses should be &#8220;/32&#8243; unless you know what you&#8217;re doing!</li>
<li>HIPPA compliance is at the App level, SAS 70 is at the physical layer.</li>
<li>Locking your AWS instances can prevent accidental/unintentional shutdowns.</li>
<li>memcached, memcached, memcached.</li>
<li><a href="http://www.eucalyptus.com/">Ecualyptus</a>: Your own private Idaho (in the cloud) is AWS API compatible!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ninesys.com/2010/02/03/sawsug-222010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

