<?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>Laughing Meme &#187; scaling</title>
	<atom:link href="http://laughingmeme.org/tag/scaling/feed/" rel="self" type="application/rss+xml" />
	<link>http://laughingmeme.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 02 Apr 2012 20:12:19 +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>Fred&#8217;s wrong (or quoted out of context)</title>
		<link>http://laughingmeme.org/2010/07/22/freds-wrong-or-quoted-out-of-context/</link>
		<comments>http://laughingmeme.org/2010/07/22/freds-wrong-or-quoted-out-of-context/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 11:25:07 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[just ship]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=4696</guid>
		<description><![CDATA[[Twitter breaks] because “it wasn’t built right — Twitter was built kind of as a hack and they didn’t really architect it to scale and they’ve never been able to catch up.” &#8211; Fred Wilson This is wrong. Twitter wasn&#8217;t built as a hack, it was just built. The way you or I might build [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
  <p>[Twitter breaks] because “it wasn’t built right — Twitter was built kind of as a hack and they didn’t really architect it to scale and they’ve never been able to catch up.” &#8211; <a href="http://gigaom.com/2010/07/21/fred-wilson-apple-is-evil-and-facebook-is-a-photo-sharing-site/">Fred Wilson</a></p>
</blockquote>

<p>This is wrong.  </p>

<p><a href="http://twitter.com">Twitter</a> wasn&#8217;t built as a hack, it was just built.  The way you or I might build something new, in a couple of weeks, with some databases, and a couple of cron jobs, and a daemon or three.  If they had built it [portentous voice]TO BE TWITTER[/portentous voice] they would have failed.</p>

<p><a href="http://laughingmeme.org/2007/04/12/twitter-ruby-and-scaling/">Scaling is always a catch up game</a>. Only way its ever worked.  If you never catch up then something isn&#8217;t working, but it isn&#8217;t original sin.</p>
]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2010/07/22/freds-wrong-or-quoted-out-of-context/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why I love everything you hate about Java «  Magic Scaling Sprinkles</title>
		<link>http://laughingmeme.org/2010/02/09/why-i-love-everything-you-hate-about-java-%c2%ab-magic-scaling-sprinkles/</link>
		<comments>http://laughingmeme.org/2010/02/09/why-i-love-everything-you-hate-about-java-%c2%ab-magic-scaling-sprinkles/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 00:39:28 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scaling]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=4482</guid>
		<description><![CDATA[NK: &#8220;All that boilerplate is really important when you work at massive scale and where efficiency really matters.&#8221; More meditations on the coding for scale question and the role of cleverness and abstractions. That said I think the factories actually hide the hard learning that&#8217;s gone into those pool size choices.]]></description>
			<content:encoded><![CDATA[<p>NK: <em>&#8220;All that boilerplate is really important when you work at massive scale and where efficiency really matters.&#8221;</em> More meditations on the coding for scale question and the role of cleverness and abstractions.  That said I think the factories actually hide the hard learning that&#8217;s gone into those pool size choices.</p>
<p><a href='http://magicscalingsprinkles.wordpress.com/2010/02/08/why-i-love-everything-you-hate-about-java/'>http://magicscalingsprinkles.wordpress.com/2010/02/08/why-i-love-everything-you-hate-about-java/</a></p>]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2010/02/09/why-i-love-everything-you-hate-about-java-%c2%ab-magic-scaling-sprinkles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Second Life can teach about scaling</title>
		<link>http://laughingmeme.org/2010/02/03/what-second-life-can-teach-about-scaling/</link>
		<comments>http://laughingmeme.org/2010/02/03/what-second-life-can-teach-about-scaling/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 01:00:07 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[scaling]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=4458</guid>
		<description><![CDATA[Just read Ian Wilkes&#8217; What Second Life can teach your datacenter about scaling Web apps article. It&#8217;s packed full of really great radically pragmatic advice. Go read it. Couple of times I literally shouted out &#8220;Yes!&#8221;, so I pulled a few choice quotes out. herein lies a trap for smaller ones: the belief that you [...]]]></description>
			<content:encoded><![CDATA[<p>Just read Ian Wilkes&#8217; <a href="http://arstechnica.com/business/data-centers/2010/02/what-second-life-can-teach-all-companies-about-scaling-web-apps.ars/">What Second Life can teach your datacenter about scaling Web apps</a> article.  </p>

<p>It&#8217;s packed full of really great radically pragmatic advice.  Go read it.  Couple of times I literally shouted out &#8220;Yes!&#8221;, so I pulled a few choice quotes out.</p>

<blockquote>
  <p><em>herein lies a trap for smaller ones: the belief that you can &#8220;do it right the first time.&#8221; </em></p>
</blockquote>

<p>Wanted to jump up and down when I read this.  Building it &#8220;right&#8221; the first time is one of the best guarantees of failure I know. <a href="http://laughingmeme.org/2007/04/12/twitter-ruby-and-scaling/">Scaling is always a catch up game</a>.</p>

<blockquote>
  <p><em>a recurring billing system needs to touch each user annually, and the product is only available to Internet users in the US and Europe, and by the biggest estimates will achieve no more than 10% penetration, then it needs to handle about 2-3 events per second (1bn * 75% * 10% / (365 * 86,400)). Conversely, a chat system with a similar userbase averaging 10 messages/day, concentrated during work hours, might need to handle 20,000 messages per second or more.</em></p>
</blockquote>

<p>Events per second is usually the first and more important metric I calculate when designing a system.  Even if you only have the roughest of notions, orders of magnitude are important. (and remember you&#8217;re the cynical geek on the team, there are folks on the team paid to dream of world domination, don&#8217;t let them influence your numbers too much)</p>

<blockquote>
  <p><em>can the system be shut down at regular intervals? </em></p>
</blockquote>

<p>Because change is inevitable, and anything resembling perfect uptime is more expensive then you can afford.</p>

<blockquote>
  <p><em>Another often-overlooked component of a scaling strategy is the makeup and attitude of the team &#8230; the entire development team needs to be aware of at least the basic implications of working on a large system &#8230; . This is especially a risk if a centralized resource (say, a database) is heavily abstracted and somewhat invisible to the developer (by, say, an ORM).</em></p>
</blockquote>

<p>So true! Abstractions kill.</p>

<blockquote>
  <p><em>the ultimate solution is typically to partition databases into horizontal slices of the data set (typically by user), but this approach can be very expensive to implement. </em></p>
</blockquote>

<p>Not sure why partitioning is thought of as so expensive.  It&#8217;s annoying, and <a href="http://laughingmeme.org/2009/09/29/try-coding-dear-boy/">not for the lazy</a>, but it&#8217;s not that difficult/expensive.</p>

<blockquote>
  <p><em>Instrument, propagate, and isolate errors</em></p>
</blockquote>

<p>Flickr&#8217;s mantra is graph, graph, graph everything that moves.</p>

<blockquote>
  <p><em>It pays to thoroughly embrace the exception model</em></p>
</blockquote>

<p>I can only say I wish I had this, haven&#8217;t scaled it, but living without it is instructive.  And painful.</p>

<blockquote>
  <p><em>&#8220;Fix all the bugs&#8221; is rarely a realistic plan.</em></p>
</blockquote>

<p>Similarly advice to &#8220;close bugs first&#8221; will leave your product dead in the water.</p>

<blockquote>
  <p><em>Batch jobs: the silent killer</em></p>
</blockquote>

<p>Yup.</p>

<blockquote>
  <p><em>Beware the grand re-write</em></p>
</blockquote>

<p>Oh my yes.</p>

<blockquote>
  <p><em>Have a Plan B</em></p>
</blockquote>

<p>Someday I&#8217;ll publish some of our &#8220;plan B&#8221; documents.  Plan Bs are critical to moving fast. </p>

<blockquote>
  <p><em>Don&#8217;t be afraid to change the product. Sometimes, a small number of features are responsible for the lion&#8217;s share of bottlenecks.</em></p>
</blockquote>

<p>Twitter is the master of this.</p>

<p>All around great pragmatic advice.</p>
]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2010/02/03/what-second-life-can-teach-about-scaling/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Facebook: &#8220;our engineering team is relatively small — there are over one million users to every engineer&#8221;</title>
		<link>http://laughingmeme.org/2010/02/02/facebook-our-engineering-team-is-relatively-small-%e2%80%94-there-are-over-one-million-users-to-every-engineer/</link>
		<comments>http://laughingmeme.org/2010/02/02/facebook-our-engineering-team-is-relatively-small-%e2%80%94-there-are-over-one-million-users-to-every-engineer/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 20:38:58 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[rpe]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=4455</guid>
		<description><![CDATA[Throw away line in the Facebook HipHop post gives us the Facebook RPE, 1mil vs Flickr&#8217;s 2.5mil.]]></description>
			<content:encoded><![CDATA[<p>Throw away line in the Facebook HipHop post gives us the <a href="http://laughingmeme.org/2010/01/22/counting-things-and-rpes/">Facebook RPE</a>, 1mil vs Flickr&#8217;s 2.5mil.</p>
<p><a href='http://developers.facebook.com/news.php?blog=1&amp;story=358'>http://developers.facebook.com/news.php?blog=1&amp;story=358</a></p>]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2010/02/02/facebook-our-engineering-team-is-relatively-small-%e2%80%94-there-are-over-one-million-users-to-every-engineer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>random($foo): Internet Asshattery, Armchair Scaling Experts Edition</title>
		<link>http://laughingmeme.org/2008/04/25/randomfoo-internet-asshattery-armchair-scaling-experts-edition/</link>
		<comments>http://laughingmeme.org/2008/04/25/randomfoo-internet-asshattery-armchair-scaling-experts-edition/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 14:11:27 +0000</pubDate>
		<dc:creator>Kellan</dc:creator>
				<category><![CDATA[Aside]]></category>
		<category><![CDATA[fluffy clouds]]></category>
		<category><![CDATA[lhl]]></category>
		<category><![CDATA[reporting]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[techcrunch]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[upcoming]]></category>

		<guid isPermaLink="false">http://laughingmeme.org/?p=3807</guid>
		<description><![CDATA[I miss Leonard, Gordon, and Andy. But now that they&#8217;ve dispersed from Big Purple it&#8217;s nice to see all three of them schooling the internet in what real tech reporting might look like. You almost forget how bad it&#8217;s gotten until you see someone with a clue do it. Talk about amateur hour being over.]]></description>
			<content:encoded><![CDATA[<p>I miss <a href="http://randomfoo.net">Leonard</a>, <a href="http://getluky.net">Gordon</a>, and <a href="http://waxy.org">Andy</a>.  But now that they&#8217;ve dispersed from <a href="http://yahoo.com">Big Purple</a> it&#8217;s nice to see all three of them schooling the internet in what <em>real</em> tech reporting might look like.  You almost forget how bad it&#8217;s gotten until you see someone with a clue do it.  Talk about amateur hour being over.</p>
<p><a href='http://randomfoo.net/blog/id/4171'>http://randomfoo.net/blog/id/4171</a></p>]]></content:encoded>
			<wfw:commentRss>http://laughingmeme.org/2008/04/25/randomfoo-internet-asshattery-armchair-scaling-experts-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

