<?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>Kommentare zu: DIY dark-launching feature toggle in 16 lines of Ruby</title>
	<atom:link href="http://blog.hendrikbeck.com/2015/02/02/ruby-rails-dark-launch-feature-toggle-diy/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hendrikbeck.com/2015/02/02/ruby-rails-dark-launch-feature-toggle-diy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ruby-rails-dark-launch-feature-toggle-diy</link>
	<description>Tech Startup Craftsmanship</description>
	<lastBuildDate>Sun, 03 Apr 2016 21:59:00 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.1</generator>
	<item>
		<title>Von: Fredrik Wendt</title>
		<link>http://blog.hendrikbeck.com/2015/02/02/ruby-rails-dark-launch-feature-toggle-diy/#comment-75</link>
		<dc:creator><![CDATA[Fredrik Wendt]]></dc:creator>
		<pubDate>Sun, 03 Apr 2016 21:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.hendrikbeck.com/?p=695#comment-75</guid>
		<description><![CDATA[Well, I&#039;ve seen code _very_ similar to that work just fine. The biggest challenge I&#039;ve seen with toggles is knowing what you&#039;ve tested, since all those flippers/switches/toggles/gates can be ... toggled/switched on/off and typically at runtime. So what code paths did we actually massage in our pipeline(s) - where they relevant to what we&#039;ll have running in production? (Second biggest issue is maintenance and knowing when to remove switches, but that&#039;s highly tied to the context and whether you have control of all production sites or not (not = you deliver to other organisations who in turn develop software based on what you&#039;ve built).)

I think the point of &quot;dark launching&quot; is that whatever you just deployed (let&#039;s call it &quot;next&quot; version), is actually taking on load from real production data (calls, requests, queues, ...) so you can observe the &quot;next&quot; version&#039;s behavior without exposing it publicly (so, &quot;in the dark&quot;). (Thus, if the code deployed is not processing production data, I wouldn&#039;t call it a &quot;dark launch&quot;.) This way, you could say that the problem above - &quot;what did we test, and does it say anything about what will run in production?&quot; - is handled by letting the &quot;next&quot; version run along side the &quot;current&quot;, until we&#039;re sufficiently happy that it will work and perform as needed.

Does this makes sense to you?]]></description>
		<content:encoded><![CDATA[<p>Well, I&#8217;ve seen code _very_ similar to that work just fine. The biggest challenge I&#8217;ve seen with toggles is knowing what you&#8217;ve tested, since all those flippers/switches/toggles/gates can be &#8230; toggled/switched on/off and typically at runtime. So what code paths did we actually massage in our pipeline(s) &#8211; where they relevant to what we&#8217;ll have running in production? (Second biggest issue is maintenance and knowing when to remove switches, but that&#8217;s highly tied to the context and whether you have control of all production sites or not (not = you deliver to other organisations who in turn develop software based on what you&#8217;ve built).)</p>
<p>I think the point of &#8220;dark launching&#8221; is that whatever you just deployed (let&#8217;s call it &#8220;next&#8221; version), is actually taking on load from real production data (calls, requests, queues, &#8230;) so you can observe the &#8220;next&#8221; version&#8217;s behavior without exposing it publicly (so, &#8220;in the dark&#8221;). (Thus, if the code deployed is not processing production data, I wouldn&#8217;t call it a &#8220;dark launch&#8221;.) This way, you could say that the problem above &#8211; &#8220;what did we test, and does it say anything about what will run in production?&#8221; &#8211; is handled by letting the &#8220;next&#8221; version run along side the &#8220;current&#8221;, until we&#8217;re sufficiently happy that it will work and perform as needed.</p>
<p>Does this makes sense to you?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: hendrikbeck</title>
		<link>http://blog.hendrikbeck.com/2015/02/02/ruby-rails-dark-launch-feature-toggle-diy/#comment-72</link>
		<dc:creator><![CDATA[hendrikbeck]]></dc:creator>
		<pubDate>Sun, 03 Apr 2016 21:16:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.hendrikbeck.com/?p=695#comment-72</guid>
		<description><![CDATA[Hey Fredrik,

thanks for your comment. 

I don&#039;t actually want to try too hard to defend what I did here, wasn&#039;t really my finest hour and more of a little hack than anything serious. 

But since for the sake of the argument: I would say you could use the toggle to limit access to new features on different levels. For example, the pieces of code that receive calls can be open and let load onto the system while at the same time limiting certain UI features that give users access to the new data. In that case it would satisfy your definition of dark launching, wouldn&#039;t it?

So, my point is that it&#039;s rather up to how you use it whether it&#039;s dark launching or just toggling a few lines of code. What do you think?

Cheers
Hendrik]]></description>
		<content:encoded><![CDATA[<p>Hey Fredrik,</p>
<p>thanks for your comment. </p>
<p>I don&#8217;t actually want to try too hard to defend what I did here, wasn&#8217;t really my finest hour and more of a little hack than anything serious. </p>
<p>But since for the sake of the argument: I would say you could use the toggle to limit access to new features on different levels. For example, the pieces of code that receive calls can be open and let load onto the system while at the same time limiting certain UI features that give users access to the new data. In that case it would satisfy your definition of dark launching, wouldn&#8217;t it?</p>
<p>So, my point is that it&#8217;s rather up to how you use it whether it&#8217;s dark launching or just toggling a few lines of code. What do you think?</p>
<p>Cheers<br />
Hendrik</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Fredrik Wendt</title>
		<link>http://blog.hendrikbeck.com/2015/02/02/ruby-rails-dark-launch-feature-toggle-diy/#comment-71</link>
		<dc:creator><![CDATA[Fredrik Wendt]]></dc:creator>
		<pubDate>Sun, 03 Apr 2016 19:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.hendrikbeck.com/?p=695#comment-71</guid>
		<description><![CDATA[Hi Hendrik!
I wouldn&#039;t call this Dark launching, as the new code is not exercised. I would call this simply (binary) a feature toggle. For it to be a Dark launch, I expect the new system or code to receive calls, so that you can observe whether the &quot;dark&quot; system/code will handle the load it will receive once public, and the correctness of the results it produces. These results, however, aren&#039;t made public. Hence the system operates in the &quot;dark&quot;, in the shadows of the real system that the public can see.]]></description>
		<content:encoded><![CDATA[<p>Hi Hendrik!<br />
I wouldn&#8217;t call this Dark launching, as the new code is not exercised. I would call this simply (binary) a feature toggle. For it to be a Dark launch, I expect the new system or code to receive calls, so that you can observe whether the &#8220;dark&#8221; system/code will handle the load it will receive once public, and the correctness of the results it produces. These results, however, aren&#8217;t made public. Hence the system operates in the &#8220;dark&#8221;, in the shadows of the real system that the public can see.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
