<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Configuration management: push vs. pull</title>
	<atom:link href="http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/</link>
	<description></description>
	<lastBuildDate>Tue, 07 Sep 2010 06:35:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mark Burgess</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-156287</link>
		<dc:creator>Mark Burgess</dc:creator>
		<pubDate>Tue, 16 Mar 2010 10:55:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-156287</guid>
		<description>There are certainly unscalable aspects of push and pull, but in fact they have different optimizations. Push is easier on the server, since it can more easily manage its resource caching, but it is highly unpredictable as you don&#039;t know whether the clients are available or not. Moreover, a server is usually equipped to deal with the load where as a client isn&#039;t. With push you are letting one system drive the availability of many, which makes adaptation and fault tolerance very difficult. Pull can automatically perform distributed load balancing and each machine can download stuff at its convenience. This especially applies to hosts that are down at the moment of push.

Another problem with push is that the clients have no say in what they get from the &quot;pusher&quot;. This is a potential security disaster waiting to happen. Clients are in a better position to decide when and what to download than a central pusher is to decide when and what they need from its single viewpoint. So adaptive behaviour makes a strong case for pull based (subscription based) services.

As for the rest, Cfengine introduced pull and is of course far superior to Puppet both in capabilities and implementation ;-)</description>
		<content:encoded><![CDATA[<p>There are certainly unscalable aspects of push and pull, but in fact they have different optimizations. Push is easier on the server, since it can more easily manage its resource caching, but it is highly unpredictable as you don&#8217;t know whether the clients are available or not. Moreover, a server is usually equipped to deal with the load where as a client isn&#8217;t. With push you are letting one system drive the availability of many, which makes adaptation and fault tolerance very difficult. Pull can automatically perform distributed load balancing and each machine can download stuff at its convenience. This especially applies to hosts that are down at the moment of push.</p>

<p>Another problem with push is that the clients have no say in what they get from the &#8220;pusher&#8221;. This is a potential security disaster waiting to happen. Clients are in a better position to decide when and what to download than a central pusher is to decide when and what they need from its single viewpoint. So adaptive behaviour makes a strong case for pull based (subscription based) services.</p>

<p>As for the rest, Cfengine introduced pull and is of course far superior to Puppet both in capabilities and implementation ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155831</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Fri, 12 Mar 2010 19:52:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155831</guid>
		<description>Your example makes more sense to me than most use cases I&#039;ve heard.  The way [Paul Smith mentions](#comment-155587) that EC2 instances can be started with a script to be run on boot seems kind of like a hybrid.  It&#039;s not exactly push, as the commands are executed offline on restart.  But it&#039;s not pull, in that everything is initiated when the server is requisitioned, and initiated by the requisitioner.  I guess it&#039;s async push...?</description>
		<content:encoded><![CDATA[<p>Your example makes more sense to me than most use cases I&#8217;ve heard.  The way <a href="#comment-155587">Paul Smith mentions</a> that EC2 instances can be started with a script to be run on boot seems kind of like a hybrid.  It&#8217;s not exactly push, as the commands are executed offline on restart.  But it&#8217;s not pull, in that everything is initiated when the server is requisitioned, and initiated by the requisitioner.  I guess it&#8217;s async push&#8230;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris AtLee</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155829</link>
		<dc:creator>Chris AtLee</dc:creator>
		<pubDate>Fri, 12 Mar 2010 19:17:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155829</guid>
		<description>A pull-based system is useful for test machines that constantly reboot to ensure a clean test environment.  Wouldn&#039;t it be easier to have the machine come up, pull its configuration, start testing than to have it come up, and wait for another server to configure it and start the tests?</description>
		<content:encoded><![CDATA[<p>A pull-based system is useful for test machines that constantly reboot to ensure a clean test environment.  Wouldn&#8217;t it be easier to have the machine come up, pull its configuration, start testing than to have it come up, and wait for another server to configure it and start the tests?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jorge Vargas</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155773</link>
		<dc:creator>Jorge Vargas</dc:creator>
		<pubDate>Thu, 11 Mar 2010 23:30:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155773</guid>
		<description>Totally agree. This is the main reason I was first turned on to toppcloud/silverlining having push combined with &quot;a setup that does one thing and does it well&quot; is an excellent combination. Will it scale? we&#039;ll see that when we need it. For now we are more than happy for running each app entirely on one box.</description>
		<content:encoded><![CDATA[<p>Totally agree. This is the main reason I was first turned on to toppcloud/silverlining having push combined with &#8220;a setup that does one thing and does it well&#8221; is an excellent combination. Will it scale? we&#8217;ll see that when we need it. For now we are more than happy for running each app entirely on one box.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jorge Vargas</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155771</link>
		<dc:creator>Jorge Vargas</dc:creator>
		<pubDate>Thu, 11 Mar 2010 23:27:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155771</guid>
		<description>It&#039;s in the docs http://cloudsilverlining.org/design.html#fabric 

IMO Fabric&#039;s problem is that it expect you to run a lot of stuff on the server which makes it a messier approach.</description>
		<content:encoded><![CDATA[<p>It&#8217;s in the docs <a href="http://cloudsilverlining.org/design.html#fabric" rel="nofollow">http://cloudsilverlining.org/design.html#fabric</a> </p>

<p>IMO Fabric&#8217;s problem is that it expect you to run a lot of stuff on the server which makes it a messier approach.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155767</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Thu, 11 Mar 2010 22:27:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155767</guid>
		<description>http://cloudsilverlining.org/design.html#fabric</description>
		<content:encoded><![CDATA[<p><a href="http://cloudsilverlining.org/design.html#fabric" rel="nofollow">http://cloudsilverlining.org/design.html#fabric</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grig Gheorghiu</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155765</link>
		<dc:creator>Grig Gheorghiu</dc:creator>
		<pubDate>Thu, 11 Mar 2010 22:02:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155765</guid>
		<description>Interesting Usenix paper from 1998. They swear by the pull mechanism too:

http://www.infrastructures.org/papers/bootstrap/bootstrap.html</description>
		<content:encoded><![CDATA[<p>Interesting Usenix paper from 1998. They swear by the pull mechanism too:</p>

<p><a href="http://www.infrastructures.org/papers/bootstrap/bootstrap.html" rel="nofollow">http://www.infrastructures.org/papers/bootstrap/bootstrap.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Luijk</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155756</link>
		<dc:creator>Simon Luijk</dc:creator>
		<pubDate>Thu, 11 Mar 2010 20:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155756</guid>
		<description>Sorry about being slightly off topic, but how do you view Silver lining&#039;s overlap with fabric?</description>
		<content:encoded><![CDATA[<p>Sorry about being slightly off topic, but how do you view Silver lining&#8217;s overlap with fabric?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155754</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Thu, 11 Mar 2010 19:32:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155754</guid>
		<description>I think I was pretty clear that Silver Lining is a very simple and limited approach to the problem of configuration management.  It actually &quot;handles&quot; things like dependencies and starting services in the right order, because Ubuntu and Debian maintainers have been doing that work for ages now, and Silver Lining uses that work.  If you are willing to use and trust a quality distribution like Ubuntu, then configuration management becomes a much more approachable project.  If you want to be distribution- or OS-agnostic, or you disagree with the way the packagers arranged those packages, then you have to do a lot more work.  Puppet does that work.  I don&#039;t consider the tradeoff worth it, but I can understand why some people would feel differently.  That&#039;s a [different argument](http://blog.ianbicking.org/2010/02/10/why-toppcloud-not-agnostic/) for a different time.

Puppet *also* uses a pull model.  It would be entirely possible to use a push model to the same effect.</description>
		<content:encoded><![CDATA[<p>I think I was pretty clear that Silver Lining is a very simple and limited approach to the problem of configuration management.  It actually &#8220;handles&#8221; things like dependencies and starting services in the right order, because Ubuntu and Debian maintainers have been doing that work for ages now, and Silver Lining uses that work.  If you are willing to use and trust a quality distribution like Ubuntu, then configuration management becomes a much more approachable project.  If you want to be distribution- or OS-agnostic, or you disagree with the way the packagers arranged those packages, then you have to do a lot more work.  Puppet does that work.  I don&#8217;t consider the tradeoff worth it, but I can understand why some people would feel differently.  That&#8217;s a <a href="http://blog.ianbicking.org/2010/02/10/why-toppcloud-not-agnostic/">different argument</a> for a different time.</p>

<p>Puppet <em>also</em> uses a pull model.  It would be entirely possible to use a push model to the same effect.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grig Gheorghiu</title>
		<link>http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/comment-page-1/#comment-155741</link>
		<dc:creator>Grig Gheorghiu</dc:creator>
		<pubDate>Thu, 11 Mar 2010 15:09:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/?p=180#comment-155741</guid>
		<description>Also, speaking of large scale file synchronization problems, here&#039;s how twitter does it: http://github.com/lg/murder + Capistrano. Interesting use of BitTorrent.</description>
		<content:encoded><![CDATA[<p>Also, speaking of large scale file synchronization problems, here&#8217;s how twitter does it: <a href="http://github.com/lg/murder" rel="nofollow">http://github.com/lg/murder</a> + Capistrano. Interesting use of BitTorrent.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.532 seconds -->
