<?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>Pragmatic Dictator &#187; Systems</title>
	<atom:link href="http://www.dancres.org/blitzblog/tag/systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dancres.org/blitzblog</link>
	<description></description>
	<lastBuildDate>Fri, 04 Jun 2010 11:58: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>Vital Statistics</title>
		<link>http://dancres.org/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fwww.dancres.org%2Fblitzblog%2F2008%2F08%2F14%2Fvital-statistics%2F&amp;seed_title=Vital+Statistics</link>
		<comments>http://dancres.org/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fwww.dancres.org%2Fblitzblog%2F2008%2F08%2F14%2Fvital-statistics%2F&amp;seed_title=Vital+Statistics#comments</comments>
		<pubDate>Thu, 14 Aug 2008 18:35:09 +0000</pubDate>
		<dc:creator>Dan Creswell</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[infrastructure]]></category>

		<guid isPermaLink="false">http://www.dancres.org/blitzblog/?p=231</guid>
		<description><![CDATA[How big does a website have to get before custom infrastructure becomes necessary? When a website reaches this stage, what infrastructure gets built? Before trying to answer these questions we must have some means of measuring the size of a website. I&#8217;ve settled on the number of machines as a reasonable approximation because: As a [...]]]></description>
			<content:encoded><![CDATA[<p>How big does a website have to get before custom infrastructure becomes necessary?  When a website reaches this stage, what infrastructure gets built?  Before trying to answer these questions we must have some means of measuring the size of a website.  I&#8217;ve settled on the number of machines as a reasonable approximation because:</p>
<ul>
<li>As a codebase grows it must be split up along functional boundaries, and spread across multiple processes.  More code equals more processes and more machines to run them on.</li>
<li>More customers, means more load and requires more machines to handle it.</li>
<li>More data means more storage and more processors to chew through it.</li>
</ul>
<p>Now let&#8217;s see how many machines some of the big players are running and what infrastructure they&#8217;re talking about:</p>
<p><em>TicketMaster</em> have at least <a href="http://code.google.com/p/spine-mgmt/">3000 machines and have built Spine</a> to help them manage configuration of their infrastructure.</p>
<p><em>eBay</em> have built a custom deployment tool (<a href="http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf">Roller</a>), logging infrastructure, configuration management for their software services, messaging software <a href="http://www.infoq.com/presentations/Operational-Scalability-Wayne-Fenton">and more</a>.  They&#8217;re running around <a href="http://www.ecommercetimes.com/rsstory/63922.html">15000 machines across four geographical locations</a>.</p>
<p><em>Microsoft</em> have built a custom deployment, configuration and monitoring infrastructure called <a href="http://research.microsoft.com/users/misard/abstracts/osr2007.html">Autopilot</a> focused on many thousands of machines.  <a href="http://perspectives.mvdirona.com/2008/04/02/FirstContainerizedDataCenterAnnouncement.aspx">In fact we&#8217;re talking hundreds of thousands</a>.</p>
<p><em>Google</em> are <a href="http://news.cnet.com/8301-10784_3-9955184-7.html">dealing</a> <a href="http://perspectives.mvdirona.com/2008/06/11/JeffDeanOnGoogleInfrastructure.aspx">in</a> a million or more machines and expending effort on software <a href="http://www.pmg.csail.mit.edu/iris/ajmani03scheduling-abstract.html">to</a> <a href="http://www.pmg.csail.mit.edu/pubs/ajmani06modular-abstract.html">handle</a> staged, automatic upgrades.  Of course they&#8217;ve already built <a href="http://labs.google.com/papers/gfs.html">GFS</a>, <a href="http://labs.google.com/papers/chubby.html">Chubby</a> etc.</p>
<p><em>Twitter</em> have moved beyond the half-dozen or so machines they used to have to <a href="http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter">&#8220;a lot of servers&#8221;</a> (hundreds?) and are seemingly <a href="http://twitter.com/help/jobs">still hiring</a> operations staff but have built a <a href="http://rubyforge.org/projects/starling/">custom queue server</a>.</p>
<p><em>Facebook</em> have at least <a href="http://www.paragon-cs.com/wordpress/2008/04/16/scaling-mysql-up-or-out-panel-uc/">10000 webservers, 800 MemcacheD instances and 1800 MySQL instances</a>.  They&#8217;ve built a <a href="http://lists.danga.com/pipermail/memcached/2007-May/004098.html">custom configuration-serving infrastructure, management and monitoring tools</a>.  They <a href="http://developers.facebook.com/opensource.php">also</a> contribute to MemcacheD and have built Cassandra and Thrift.  They also appear to be <a href="http://blog.facebook.com/blog.php?post=2406207130">busy building</a> their own optimized webservers and a replacement for squid.</p>
<p><em>Amazon</em> have <a href="http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html">tens of thousands of servers</a> (surely more?) and have constructed Dynamo, S3, EC2, SQS etc.</p>
<p>A few tentative conclusions:</p>
<ol>
<li>It would seem that by the time a website has moved into the thousands of boxes it will have had to address configuration and monitoring.  Which suggests development efforts started before this threshold (perhaps at a couple of hundred boxes?)</li>
<li>As the machine count moves towards the tens of thousands, automated deployment becomes essential and there&#8217;s a need to develop more service-specific infrastructure.</li>
</ol>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fdancres.org%2Ffeeder%2F%3FFeederAction%3Dclicked%26amp%3Bfeed%3DArticles%2B%2528RSS2%2529%26amp%3Bseed%3Dhttp%253A%252F%252Fwww.dancres.org%252Fblitzblog%252F2008%252F08%252F14%252Fvital-statistics%252F%26amp%3Bseed_title%3DVital%2BStatistics&amp;linkname=Vital%20Statistics"><img src="http://www.dancres.org/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://dancres.org/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Fwww.dancres.org%2Fblitzblog%2F2008%2F08%2F14%2Fvital-statistics%2F&amp;seed_title=Vital+Statistics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
