<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GigaOM &#187; distributed-systems</title>
	<atom:link href="http://gigaom.com/tag/distributed-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://gigaom.com</link>
	<description></description>
	<lastBuildDate>Tue, 21 May 2013 04:28:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gigaom.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/0db8f6557d022075dbbf010c54d46d93?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>GigaOM &#187; distributed-systems</title>
		<link>http://gigaom.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gigaom.com/osd.xml" title="GigaOM" />
	<atom:link rel='hub' href='http://gigaom.com/?pushpress=hub'/>
		<item>
		<title>Netflix open sources tool for making cloud services play nice</title>
		<link>http://gigaom.com/2012/11/26/netflix-open-sources-tool-for-making-cloud-services-play-nice/</link>
		<comments>http://gigaom.com/2012/11/26/netflix-open-sources-tool-for-making-cloud-services-play-nice/#comments</comments>
		<pubDate>Mon, 26 Nov 2012 18:24:51 +0000</pubDate>
		<dc:creator>Derrick Harris</dc:creator>
				<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[application development]]></category>
		<category><![CDATA[AWS: Reinvent]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[distributed-systems]]></category>
		<category><![CDATA[fault tolerance]]></category>
		<category><![CDATA[iaas]]></category>
		<category><![CDATA[Netflix]]></category>

		<guid isPermaLink="false">http://gigaom.com/?p=587918</guid>
		<description><![CDATA[Netflix has forged a cottage industry building tools to fill gaps in Amazon's cloud infrastructure or otherwise add value to it. Now the company is open sourcing its Hystrix libraries, which manage interactions between the myriad distributed services that power its applications.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=587918&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Netflix, it seems, is to cloud computing what Google and Facebook are to distributed systems, generally. Today, Netflix has open sourced its latest technology for keeping its cloud-hosted applications running &#8212; a set of libraries, called Hystrix, that is designed to manage interactions between the myriad services that comprise the company&#8217;s distributed architecture. If you&#8217;re building service-oriented architectures in the Amazon Web Services cloud, it might be worth a look.</p>
<p>Netflix Engineer Ben Christensen <a href="http://techblog.netflix.com/2012/11/hystrix.html">explained Hystrix thusly in a blog post on Monday</a>:</p>
<blockquote><p>Hystrix is a library designed to control the interactions between these distributed services providing greater tolerance of latency and failure. Hystrix does this by isolating points of access between the services, stopping cascading failures across them, and providing fallback options, all of which improve the system&#8217;s overall resiliency.</p></blockquote>
<p>Hystrix actually stems from earlier work to add resilience to the Netflix API, the means by which many customer-facing applications access the services they need to run. As Christensen<a href="http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html"> explained in a February 2012 blog post,</a> services are distributed across thousands of instances in AWS, and if there are problems with those services &#8212; such as high latency or failed connections between them &#8212; it can wreak havoc on the Netflix API and seriously affect the performance of all the applications that depend on it.</p>
<div id="attachment_587953" class="wp-caption aligncenter" style="width: 614px"><a href="http://gigaom2.files.wordpress.com/2012/11/nflx-api.jpg"><img  title="nflx api" alt="" src="http://gigaom2.files.wordpress.com/2012/11/nflx-api.jpg?w=604&#038;h=511" height="511" width="604" class="size-large wp-image-587953" /></a><p class="wp-caption-text">Source: Netflix (<a href="https://speakerdeck.com/benjchristensen/performance-and-fault-tolerance-for-the-netflix-api-august-2012" rel="nofollow">https://speakerdeck.com/benjchristensen/performance-and-fault-tolerance-for-the-netflix-api-august-2012</a>)</p></div>
<p>And, as he notes in that February post, &#8220;Intermittent failure is guaranteed with this many variables, even if every dependency itself has excellent availability and uptime &#8230; Thus, it is a requirement of high volume, high availability applications to build fault tolerance into their architecture and not expect infrastructure to solve it for them.&#8221;</p>
<p><a href="http://gigaom.com/cloud/how-to-deal-with-cloud-failure-live-learn-fix-repeat/">Distributed systems are hard work to build and manage</a> &#8212; ask anyone at Yahoo, <a href="http://gigaom.com/cloud/how-google-is-using-openflow-to-lower-its-network-costs/">Google</a> or <a href="http://gigaom.com/cloud/how-facebook-brings-a-new-data-center-online/">Facebook</a> &#8212; and building distributed, service-oriented applications <em>on top</em> of those systems is probably no less difficult. Netflix has an even more-novel challenge because it opted to host all of its applications and services in the cloud, which provides some great tools for maximizing uptime but also some new layers of complexity in application architecture. The company&#8217;s focus on building resilient apps has been core to <a href="http://gigaom.com/cloud/once-again-netflix-shows-how-to-avoid-a-cloud-meltdown/">its ability to survive most of AWS&#8217;s cloud outages</a> with little or no significant downtime.</p>
<p>In fact, Obama for America CTO Harper Reed <a href="http://gigaom.com/cloud/how-obamas-tech-team-helped-deliver-the-2012-election/">told me during a post-election interview</a> that Netflix tools and techniques helped the president&#8217;s AWS-hosted applications stay up and running even during three outages between late June and Nov. 6. Netflix has also open-sourced its <a href="http://gigaom.com/cloud/netflix-open-sources-eureka-to-fill-gap-in-amazons-cloud/">Eureka load-balancing technology</a>, its Edda <a href="http://gigaom.com/cloud/netflix-open-sources-dynamic-query-goodness-for-amazon-cloud/">dynamic querying tool</a>, its <a href="http://gigaom.com/cloud/netflix-open-sources-asgard-cloud-deployment-smarts/">Asgard management console</a> and <a href="http://gigaom.com/cloud/netflix-open-sources-cloud-testing-chaos-monkey/">its lauded Chaos Monkey</a> for testing application resilience.</p>
<p>It&#8217;s no surprise then that Netflix is something of a shining star at the <a href="https://reinvent.awsevents.com/">AWS: Reinvent</a> user conference in Las Vegas this week (CEO Reed Hastings will take the stage long with numerous engineers), prompting some to refer to it jokingly as a Netflix technology conference. Not that it&#8217;s an insult to anybody &#8212; Amazon and other infrastructure-as-a-service providers rent virtual servers, networks and management tools, but it takes cutting-edge users to engineer apps that can make the most of them.</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=587918&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" /><p><a href="http://pubads.g.doubleclick.net/gampad/jump?iu=/1008864/GigaOM_RSS_300x250&#038;sz=300x250&#038;c=93441"><img src="http://pubads.g.doubleclick.net/gampad/ad?iu=/1008864/GigaOM_RSS_300x250&#038;sz=300x250&#038;c=93441" /></a></p><p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=587918+netflix-open-sources-tool-for-making-cloud-services-play-nice&utm_content=dharrisstructure">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2012/04/infrastructure-q1-cloud-and-big-data-woo-the-enterprise/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=587918+netflix-open-sources-tool-for-making-cloud-services-play-nice&utm_content=dharrisstructure">Infrastructure Q1: Cloud and big data woo enterprises</a></li><li><a href="http://pro.gigaom.com/2012/06/cloud-computing-infrastructure-2012-and-beyond/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=587918+netflix-open-sources-tool-for-making-cloud-services-play-nice&utm_content=dharrisstructure">Cloud computing infrastructure: 2012 and beyond</a></li><li><a href="http://pro.gigaom.com/2012/01/how-amazons-dynamodb-is-rattling-the-big-data-and-cloud-markets/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=587918+netflix-open-sources-tool-for-making-cloud-services-play-nice&utm_content=dharrisstructure">Amazon’s DynamoDB: rattling the cloud market</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/2012/11/26/netflix-open-sources-tool-for-making-cloud-services-play-nice/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://gigaom2.files.wordpress.com/2012/11/hystrix-logo.png?w=150" />
		<media:content url="http://gigaom2.files.wordpress.com/2012/11/hystrix-logo.png?w=150" medium="image">
			<media:title type="html">hystrix-logo</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/9e48ffa0913f65c577727457dd63023f?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">dharrisstructure</media:title>
		</media:content>

		<media:content url="http://gigaom2.files.wordpress.com/2012/11/nflx-api.jpg?w=604" medium="image">
			<media:title type="html">nflx api</media:title>
		</media:content>
	</item>
		<item>
		<title>Like modern web apps, start-ups are distributed systems</title>
		<link>http://gigaom.com/2012/06/03/like-modern-web-apps-start-ups-are-distributed-systems/</link>
		<comments>http://gigaom.com/2012/06/03/like-modern-web-apps-start-ups-are-distributed-systems/#comments</comments>
		<pubDate>Sun, 03 Jun 2012 19:00:40 +0000</pubDate>
		<dc:creator>Alex Benik, Battery Ventures</dc:creator>
				<category><![CDATA[distributed-systems]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://gigaom.com/?p=527946</guid>
		<description><![CDATA[Modern web-scale applications like Google, Twitter, Netflix, LinkedIn, and others are implemented as distributed systems as opposed to single monolithic codebases. Surprisingly, modern startups are generally built the same way. So what can startups learn from web apps?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=527946&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_527980" class="wp-caption alignleft" style="width: 310px"><a href="http://gigaom2.files.wordpress.com/2012/06/2564912437_05095569c1_z.jpg"><img  title="2564912437_05095569c1_z" src="http://gigaom2.files.wordpress.com/2012/06/2564912437_05095569c1_z.jpg?w=300&#038;h=200" alt="" width="300" height="200" class="size-medium wp-image-527980" /></a><p class="wp-caption-text">Another highly distributed system.</p></div>
<p>I’ve been thinking about <a href="http://code.google.com/edu/parallel/">distributed systems</a>a lot lately. While the last decent code I wrote was in Logo, it suddenly dawned on me that I deal with a particular type of distributed system every day: start-ups. Let’s examine a few of the similarities.</p>
<p>Modern web-scale applications like Google, Twitter, Netflix, LinkedIn, etc. are implemented as distributed systems as opposed to single monolithic codebases. This means that they are composed of tens or hundreds of services that communicate asynchronously with each other, ultimately delivering a response to the end-user.</p>
<p>Google.com is composed of <a href="http://www.stanford.edu/class/ee380/Abstracts/101110.html">more than 200 services</a>, according to a talk by Jeff Dean in 2010. Some of these services are external facing, spell checker, instant search, etc., while others are only for internal consumption and not visible to users. Not to get too meta, but most of these individual services are in fact distributed systems themselves.</p>
<h2>Philosophical and physical distribution rules at startups</h2>
<div id="attachment_247848" class="wp-caption alignright" style="width: 310px"><a href="http://gigaom.files.wordpress.com/2008/08/istock_000006912738xsmall.jpg"><img  title="istock_000006912738xsmall" src="http://gigaom.files.wordpress.com/2008/08/istock_000006912738xsmall.jpg?w=300&#038;h=161" alt="" width="300" height="161" class="size-medium wp-image-247848" /></a><p class="wp-caption-text">Develop at your own speed.</p></div>
<p>One of the reasons the service-oriented approach has become dominant is that each service can be developed, managed, and scaled independently. It also allows teams to iterate and update individual services at their own pace.</p>
<p>Here, there is a direct parallel to the functional structure of start-ups and large companies. Engineering, marketing, sales, and finance are their own disciplines, have their own teams, and move with their own cadence. Actual organizational power, decision-making and relationships are complex and seldom map to the org chart. Similarly, what a web-scale application really looks like is a messy set of interconnections, seldom mapping to the 3-tier architecture diagram.</p>
<p>Start-ups are also becoming more physically distributed. Engineering in Israel, sales in the U.S., or the rock star developer who lives in Boulder/Tahoe/Iowa because he/she can. This is so common as to barely merit mention. Overcoming physically distributed teams is easier than it has ever has been assuming a commitment to communications.</p>
<p>Skype, Chatter, Jive, IRC, IM, etc. can all enable distributed companies to scale. Over communicate but also know the limits over technology and be realistic about what needs to be done face-to-face. A great read on this topic from Basho who are experts in distributed systems and whose company is a distributed system can be found <a href="http://basho.com/blog/technical/2011/06/27/Building-and-Maintaining-Internal-Community-And-Culture/">here</a>.</p>
<h2>Everything&#8217;s federated: From social buttons to SaaS</h2>
<p>Most web pages now contain content that comes from a variety of third-party entities. Examples of this behavior include content delivery networks, performance monitoring tools, and ad networks. Start-ups are very similar here, as well.</p>
<p>There are a variety of third party SaaS services required to run their businesses, ranging from Github to Salesforce.com to Marketo. Failures in any of these internal or external business services can impact the business in a similar way that a third-party party ad network can slow down your page load times.</p>
<h2>Scaling: It&#8217;s hard for sys admins and for startups</h2>
<p><a href="http://gigaom2.files.wordpress.com/2012/04/istock_000008435236small.jpg"><img  title="iStock_000008435236Small" src="http://gigaom2.files.wordpress.com/2012/04/istock_000008435236small.jpg?w=708" alt=""   class="size-full wp-image-512765" /></a><br />
Large-scale distributed system like Twitter, Google or Facebook, have evolved their software architectures significantly to deal with the challenges of scaling. The path from hosting a site in your bedroom, to Amazon Web Services, to a col-location space, to a data center you own requires bringing in new skills that were previously not relevant to help along the way.</p>
<p>Mirroring that, the organizational structure of a start-up will change significantly as it grows. From the early days of product development, through learning how to sell and adding a customer-facing team to replicate early wins, each stage will require organizational changes and evolution. In both cases, changes need to be made on the fly and require careful planning and execution. Even then this can be painful; the often-used “change the engine while the airplane is in flight” analogy.</p>
<h2>Herding cats might be more predictable</h2>
<p>Both start-ups and distributed systems can have unique, unpredictable, even <a href="http://en.wikipedia.org/wiki/Byzantine_fault_tolerance">Byzantine failure modes</a>. In each scenario because of the complexity of interactions, there are bound to be situations that can’t be tested or even anticipated.</p>
<p>This is further complicated by a complex set of dependencies on actors you don’t directly control such as the third-party services mentioned above. Even though services are developed independently, connecting them all together often results in failures that have a way of cascading. This is easy to see in the <a href="http://aws.amazon.com/message/65648/">service interruption of a highly complex distributes system</a> like Amazon’s EBS service a few years back.</p>
<p>In start-ups, the “failures” or “outages” can be things like a product release slipping, a disgruntled employee negatively impacting culture, sales ramping slower than expected, or fund raising taking longer than expected. Many of these can be recovered from, some cannot. I’ll cover start-up failure modes, disaster porn, and how to avoid them in a subsequent article.</p>
<p>Scaling distributed systems and organizations is hard. My dime store organizational behavior observations aside, I’d love to hear about other similarities and difference that come to mind.</p>
<p><em>Alex Benik is a principal at Battery Ventures who invests in enterprise and web infrastructure start-ups. You can find him on Twitter at <a href="https://twitter.com/#!/abenik">@abenik</a> </em></p>
<p><em>Ant image <a href="&lt;/em&gt;http://creativecommons.org/licenses/by/2.0/deed.en">courtesy</a> of <a href="http://www.flickr.com/photos/66176388@N00/2564912437/sizes/z/in/photostream/">Flickr user me&#8217;nthedogs</a>.</em></p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=527946&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" /><p><a href="http://pubads.g.doubleclick.net/gampad/jump?iu=/1008864/GigaOM_RSS_300x250&#038;sz=300x250&#038;c=179169"><img src="http://pubads.g.doubleclick.net/gampad/ad?iu=/1008864/GigaOM_RSS_300x250&#038;sz=300x250&#038;c=179169" /></a></p><p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=527946+like-modern-web-apps-start-ups-are-distributed-systems&utm_content=gigaguest">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2012/05/the-importance-of-putting-the-u-and-i-in-visualization/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=527946+like-modern-web-apps-start-ups-are-distributed-systems&utm_content=gigaguest">The importance of putting the U and I in visualization</a></li><li><a href="http://pro.gigaom.com/2012/03/a-near-term-outlook-for-big-data/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=527946+like-modern-web-apps-start-ups-are-distributed-systems&utm_content=gigaguest">A near-term outlook for big data</a></li><li><a href="http://pro.gigaom.com/2012/03/six-security-dangers-web-startups-should-know-and-how-to-counter-them/?utm_source=cloud&utm_medium=editorial&utm_campaign=auto3&utm_term=527946+like-modern-web-apps-start-ups-are-distributed-systems&utm_content=gigaguest">Web startups: How to guard against security breaches</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/2012/06/03/like-modern-web-apps-start-ups-are-distributed-systems/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:thumbnail url="http://gigaom2.files.wordpress.com/2012/06/2564912437_05095569c1_z.jpg?w=150" />
		<media:content url="http://gigaom2.files.wordpress.com/2012/06/2564912437_05095569c1_z.jpg?w=150" medium="image">
			<media:title type="html">2564912437_05095569c1_z</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/4411542bbd7a2a9a2fc2a1b38809e45c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">gigaguest</media:title>
		</media:content>

		<media:content url="http://gigaom2.files.wordpress.com/2012/06/2564912437_05095569c1_z.jpg?w=300" medium="image">
			<media:title type="html">2564912437_05095569c1_z</media:title>
		</media:content>

		<media:content url="http://gigaom.files.wordpress.com/2008/08/istock_000006912738xsmall.jpg?w=300" medium="image">
			<media:title type="html">istock_000006912738xsmall</media:title>
		</media:content>

		<media:content url="http://gigaom2.files.wordpress.com/2012/04/istock_000008435236small.jpg" medium="image">
			<media:title type="html">iStock_000008435236Small</media:title>
		</media:content>
	</item>
	</channel>
</rss>
