<?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>Load Balancing Digest &#187; Editorial</title>
	<atom:link href="http://lbdigest.com/category/editorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://lbdigest.com</link>
	<description>Server Load Balancing Articles and News</description>
	<lastBuildDate>Mon, 22 Aug 2011 12:16:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>They&#8217;re %@#$!ing Load Balancers</title>
		<link>http://lbdigest.com/2011/05/13/theyre-ing-load-balancers/</link>
		<comments>http://lbdigest.com/2011/05/13/theyre-ing-load-balancers/#comments</comments>
		<pubDate>Fri, 13 May 2011 06:43:01 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=552</guid>
		<description><![CDATA[For years now, the load balancing industry has been trying to shift to the new term &#8220;application delivery controllers&#8221;, or ADC. The argument is that this is a new generation...]]></description>
			<content:encoded><![CDATA[<p>For years now, the load balancing industry has been trying to shift to the new term &#8220;application delivery controllers&#8221;, or ADC. The argument is that this is a new generation of devices, and they do so much more than load balancers of the past.</p>
<p>I agree, they do more than they&#8217;ve done before. From application logic to web application firewalls to VMware integration, modern application delivery controllers do a lot. But they still also load balance.  And that&#8217;s what <em>everyone</em> calls them.</p>
<p><img class="aligncenter size-medium wp-image-554" title="shanghai.vanke-rose-all.2004.VDay" src="http://lbdigest.com/wp-content/uploads/2011/05/shanghai.vanke-rose-all.2004.VDay_-300x225.jpg" alt="" width="300" height="225" /></p>
<p style="text-align: center;"><em>A rose by any other name. Pictured: Olfactory stimulation vector</em></p>
<p>Using the term load balancer saves me the conversation: &#8220;What&#8217;s an application delivery doo-hickey?&#8221;</p>
<p>I still call them load balancers because it serves no purpose to rename them.</p>
<p>Since <em>at least</em> 2006 there&#8217;s been an effort to rebrand load balancers as application delivery controllers. Gartner has moved to the new term, as have most of the vendors. Marketing has been heavy to rename them. Some vendors even use the term load balancer as a disparaging term for their competitors.</p>
<p>But here&#8217;s the problem: We&#8217;ve had at least 5 years of marketing, press releases, and events, and still no one (outside of the vendors and specialists) seems to know what an application delivery controller is. When I teach load balancing classes, very few in the class are even aware of the term.</p>
<p>What network administrators, server administrators, and application developers do know is load balancers. When you say &#8220;load balancer&#8221;, they universally understand what they do and the benefit they provide. Generally speaking, they have no idea what an ADC is.</p>
<p>I have no problem educating on a new term, I&#8217;d even help evangelize the term if it made sense. But it doesn&#8217;t. Renaming them ADCs adds nothing substantive to the industry, only confusion and an extra conversation.</p>
<p>If I told you I got a new multi-media climate controlled dynamic geographical device, you&#8217;d think I&#8217;d be some sort of mad scientist. But no, that&#8217;s just another name for a car. Cars today do a lot more than cars 50 years ago did, but they&#8217;re still cars.</p>
<p>I understand the though behind the attempt to rename them, but I think it&#8217;s a mistake. I don&#8217;t mind mistakes, but I think its time to own up to the error and start calling them load balancers again.</p>
<p>Technology is complicated enough, we shouldn&#8217;t make it more complicated by adding in terms when none are needed.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2011/05/13/theyre-ing-load-balancers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>OCSP And You</title>
		<link>http://lbdigest.com/2011/04/06/ocsp-and-you/</link>
		<comments>http://lbdigest.com/2011/04/06/ocsp-and-you/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 21:16:14 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Feature Articles]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=533</guid>
		<description><![CDATA[As you may have heard, the SSL certificate vendor Comodo had a security breach recently which allowed a hacker to get valid, signed certificates for a number of websites including...]]></description>
			<content:encoded><![CDATA[<p>As you may have heard, the SSL certificate vendor Comodo had a security breach recently which allowed a hacker to get valid, signed certificates for a number of websites including google.com, mail.google.com, and login.skype.com. The hacker could then set up a fake web site for these domains that would look legit, and the browser bar would show the green &#8220;everything is OK&#8221;.</p>
<p>I&#8217;ll give you a minute because I assume if you were drinking a beverage, it&#8217;s now all over your computer screen.</p>
<p style="text-align: center;"><a href="http://lbdigest.com/wp-content/uploads/2011/03/stephen-colbert-spit-take.jpg"><img class="aligncenter size-full wp-image-536" title="Colbert does a spit-take as he and fellow comedian Stewart engage in a debate at the &quot;Rally to Restore Sanity and/or Fear&quot; on the National Mall in Washington" src="http://lbdigest.com/wp-content/uploads/2011/03/stephen-colbert-spit-take.jpg" alt="" width="610" height="405" /></a></p>
<p>How much damage could someone do? Take Google for example. This means they could set up a fake Gmail-looking server, and collect the username and password of a user. The user might not ever realize that the site was fake, and their passwords were compromised.</p>
<p>So now there are totally legit-looking certificates out there. Your browser, and every other browser <em>in the entire world</em> trusts them.</p>
<p>Remember, SSL gives us two things: Privacy and trust. Privacy comes though symmetric encryption, and trust is done through signed certificate chains.</p>
<p>Trust needs to start somewhere.  With your browser, whether its Firefox, Safari, IE, Chrome, Opera, whatever, they all come with pretty much the same set of root certificate that act as the start of trust.  Essentially, they come trusting several sources.</p>
<p>So what happens if this trust is broken, or if the certificate was issued under false pretenses? There needs to be a way to revoke that trust on a certificate by certificate basis. There&#8217;s only two ways to do this: A manually updated CRLs (certificate revocation list), or through the <a href="http://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol">OCSP protocol</a>.</p>
<p>CRLs aren&#8217;t a terribly good way to handle it. A CRL is simply of list of certificates that would validate the chain of trust through the regular way (Picard -&gt; LaForge -&gt; Ensign Tony), but aren&#8217;t trusted anymore. Each of your browsers have their own CRLs, and they can be updated by an OS or browser patch. This relies on you or your organization reliably updating software and/or OS, which doesn&#8217;t always happen in a timely manner. Even if it&#8217;s timely, there&#8217;s always a period of time between when the certificate is revoked and when you get that revoked certificate added to your CRL.  This could be hours, days, or even weeks where your browser would trust an otherwise bogus certificate.  This just doesn&#8217;t scale.</p>
<p>OCSP is a better approach, as it can check with a certificate authority <em>every time</em> it hits a website with an SSL certificate. So not only does the browser do the usually trust check, it double checks by checking with the source (an OCSP server hosted by the certificate authority) that the trust is still valid.</p>
<p>If my browser ran OCSP, I don&#8217;t have to worry that I might miss a revoked certificate because I haven&#8217;t updated my browser or OS.  It can also check every time, so if a cert has been revoked, my browser finds out right away.</p>
<p>So while OCSP is a better approach to CRLs, it isn&#8217;t used universally. And it isn&#8217;t &#8220;fail closed&#8221; by default on some browsers, as shown in this table from <a href="http://devcentral.f5.com/weblogs/david/archive/2011/04/03/run-the-fukushima-of-the-security-world-is-coming.aspx">David Holmes at F5</a>.</p>
<table border="1" cellspacing="0" cellpadding="2" width="600">
<tbody>
<tr>
<td width="164" valign="top"><strong>Browser</strong></td>
<td width="236" valign="top"><strong>OCSP Support</strong></td>
<td width="200" valign="top"><strong>Market Share (Mar 2011)</strong></td>
</tr>
<tr>
<td width="164" valign="top">Firefox 3+</td>
<td width="236" valign="top">Yes, Default = Yes</td>
<td width="200" valign="top">26%</td>
</tr>
<tr>
<td width="164" valign="top">IE 7+ [Vista/Win7]</td>
<td width="236" valign="top">Yes, Default = Yes, buts fails open</td>
<td width="200" valign="top">16%</td>
</tr>
<tr>
<td width="164" valign="top"><span style="color: #ff0000;">IE 6 / IE 7 [XP]</span></td>
<td width="236" valign="top"><span style="color: #ff0000;">None</span></td>
<td width="200" valign="top"><span style="color: #ff0000;">30%</span></td>
</tr>
<tr>
<td width="164" valign="top">Opera</td>
<td width="236" valign="top">Yes, but fails open</td>
<td width="200" valign="top">3%</td>
</tr>
<tr>
<td width="164" valign="top">Chrome</td>
<td width="236" valign="top">Yes, Default = Yes</td>
<td width="200" valign="top">10%</td>
</tr>
<tr>
<td width="164" valign="top">Safari</td>
<td width="236" valign="top">Yes, Default = No</td>
<td width="200" valign="top">4%</td>
</tr>
</tbody>
</table>
<p>So right now, OCSP and CRLs are no guarantee that you can trust a certificate unless you use Firefox or Chrome.</p>
<p>Wait, what? No guarantee? Shit.</p>
<p><a href="http://lbdigest.com/wp-content/uploads/2011/04/Reservoir-Dogs-1992.jpg"><img class="aligncenter size-medium wp-image-540" title="Reservoir-Dogs-1992" src="http://lbdigest.com/wp-content/uploads/2011/04/Reservoir-Dogs-1992-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p style="text-align: center;"><em>This is what happens when people don&#8217;t trust each other</em></p>
<p>There are some opinions that certificates should be handled <a href="http://www.imperialviolet.org/2011/03/18/revocation.html  ">differently than they are now</a>. He discusses some interesting ideas, but I think it&#8217;s fair to say PKI (public-key infrastructure) needs a bit of overhaul.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2011/04/06/ocsp-and-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iRules: Cold Dead Hands</title>
		<link>http://lbdigest.com/2011/03/28/irules-cold-dead-hands/</link>
		<comments>http://lbdigest.com/2011/03/28/irules-cold-dead-hands/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 20:41:13 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Feature Articles]]></category>
		<category><![CDATA[Load Balancing 101]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=523</guid>
		<description><![CDATA[One of the biggest differentiators in load balancing is whether or not the product has the ability to manipulate traffic using application logic, not just direct traffic. The best known...]]></description>
			<content:encoded><![CDATA[<p>One of the biggest differentiators in load balancing is whether or not the product has the ability to manipulate traffic using application logic, not just direct traffic.</p>
<p>The best known product for traffic manipulation is likely F5&#8242;s legendary iRules, but other vendors have similar capability such as A10&#8242;s aFlex.   Essentially, this puts an application development platform. Typically this is done with a standard programming language, such as a modified <a href="http://en.wikipedia.org/wiki/Tcl">TCL</a> for iRules and aFlex.</p>
<p>Some vendors, (Cisco I&#8217;m looking at you, as well as Brocade but I&#8217;m less familiar with them lately) lack the ability to manipulate traffic using application logic.</p>
<p>For vendors, this is a great feature to have. Its attractive to potential customers, and it makes it difficult to move to a platform that doesn&#8217;t have this feature. I call it the Charlton Heston feature, since you&#8217;ll only pull it out of a client&#8217;s cold dead hands.  Once you use it, you&#8217;re fairly dependent on it.</p>
<p style="text-align: center;"><a href="http://lbdigest.com/wp-content/uploads/2011/03/colddeadhands.jpg"><img class="aligncenter size-full wp-image-525" title="colddeadhands" src="http://lbdigest.com/wp-content/uploads/2011/03/colddeadhands.jpg" alt="" width="447" height="280" /></a><em>Get your paws off me, you damned dirty network admins!</em></p>
<p>In general, I&#8217;m a fan of iRules and their ilk. There&#8217;s just too many situations where the ability to manipulate HTTP content has saved the day.</p>
<p>So what kind of manipulation can you do?  There are rules to scrub credit card numbers, so if a web application tries to display a credit card number such as &#8220;5123-1234-1234-1234&#8243; (a big no-no according to <a href="https://www.pcisecuritystandards.org/security_standards/index.php">PCI-DSS</a>), the load balancer would do a regular expression search for that pattern, and replace it with &#8220;XXX-XXX-XXXX-1234&#8243; before sending the response off to the client.</p>
<p>With a programming language and regular expressions, just about anything is possible. And there in lies a problem.</p>
<p><em>Two Edged Sword</em></p>
<p>Having application logic on the load balancer is a double-edged sword.  One the one hand, it allows you to have very granular control over headers and content for requests and responses.  The drawback is <em>it allows you to have very granular control over headers and content for requests and responses.</em></p>
<p>The awesomeness of this manipulation is evident, but there are some caveats.</p>
<p><em>We&#8217;ll fix it in post</em></p>
<p>There&#8217;s a running joke in the film industry called &#8220;we&#8217;ll fix it in post&#8221;.  Essentially, it means who cares if we get it right here, we&#8217;ll just fix it with special effects or editing.  Except it hardly ever works.  You&#8217;ve got the same hazard in something like iRules; it can be a lousy and lazy way to fix to a problem that really should be fixed in the code.</p>
<p><em>Capacity</em></p>
<p>Of course, all this regular expressioning and application logic come at a cost in terms of CPU.  The more of it you do, the lower capacity you&#8217;ll have.  A load balancer capable of serving up 4 Gbits of second of traditional Layer 4-7 traffic may have its capacity dropped to 500 Mbps.  And there&#8217;s no way of telling what the new performance ceiling would be (until you hit it like Wile E Coyote on a rocket sled).</p>
<p><a href="http://lbdigest.com/wp-content/uploads/2011/03/wileecoyote.jpg"><img class="aligncenter size-full wp-image-526" title="wileecoyote" src="http://lbdigest.com/wp-content/uploads/2011/03/wileecoyote.jpg" alt="" width="147" height="200" /></a>This is less of an issue than it used to be, as Moore&#8217;s law has made processors faster and faster, allowing load balancers to handle increasingly difficult tasks, while bandwidth requirements have not increased nearly as dramatically. Not many organizations have more than a couple hundred megabits per second to the Internet, while load balancers are capable of handling several (even dozens) of Gigabits.</p>
<p><em>Latency</em></p>
<p>Latency is a dirty word in networks and applications, and certainly a potential issue with application logic.  If you&#8217;re going to look at a cookie, the latency imposed by a load balancer will be minimal.  If you&#8217;re going to calculate Pi to the 100th digit on every HTTP request, that&#8217;s going to add a certain amount of latency to the transaction.  Like the capacity ceiling, it&#8217;s very difficult to predict what that additional latency will be when adding more and more logic. And depending on the load profile, that latency may vary quite a bit over time.</p>
<p><em>Creep</em></p>
<p>Capacity and latency are easy enough issues to deal with, but creep is very problematic.  It&#8217;s a &#8220;Layer 8&#8243; problem, and one that can quickly spiral out of control.</p>
<p>Typically the creep comes into play when you first implement application logic, and it fixes a vexing problem. You&#8217;re the hero, and someone perks their ears up and says &#8220;wow, what else can you do with it?&#8221;</p>
<p>&#8220;Anything&#8221;, you say confidently.  And anything is what they throw at you. Add semi-colons at the end of paragraphs, replace all double-spaces after a period with single spaces, etc.</p>
<p>It can very easily spiral out of control, so you need to know when to put your foot down (hint: early).</p>
<p><em>Skills</em></p>
<p>To develop this application logic, you need to understand HTTP really well. When developing most web applications on a platform like ASP or PHP, you don&#8217;t really need to understand HTTP all that well.  But the load balancer manipulates on the HTTP level, so you&#8217;ll really need to be up on your HTTP. You also need to have the programming skills to pay the bills. Especially for a network admin, those programming muscles might not get flexed on a regular basis.</p>
<p>I&#8217;ve also heard the argument that iRules and their ilk are only there to fix problems that should have been fixed in the code. And there&#8217;s a lot of truth in that; they are typically used in situations where the problem could also be solved at the application.</p>
<p>But that&#8217;s also like saying that I shouldn&#8217;t need a lock on my door, because people should not be jerks and go around stealing stuff.</p>
<p>In IT, there are always going to be situations where its either easier to fix the problem on the load balancer, or it&#8217;s the only viable solution (code locked down, client doesn&#8217;t control the code as its a third party, developer ran away to Brazil with their secret family and won&#8217;t return calls).</p>
<p>Bottom line? I&#8217;d rather have it than not have it, but I&#8217;m very careful with it. After all, with great power comes great potential for epic fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2011/03/28/irules-cold-dead-hands/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Achilles Heal for Virtual Load Balancers: SSL</title>
		<link>http://lbdigest.com/2011/03/14/achilles/</link>
		<comments>http://lbdigest.com/2011/03/14/achilles/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 18:03:07 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Feature Articles]]></category>
		<category><![CDATA[In the Wild]]></category>
		<category><![CDATA[Load Balancing 101]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=512</guid>
		<description><![CDATA[I&#8217;m a big fan of virtualization.  There&#8217;s a lot to like about it, including consolidation (getting rid of space-heater servers that do nothing running 1% CPU and sucking up electricity...]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-516" title="maxheadroom" src="http://lbdigest.com/wp-content/uploads/2011/03/maxheadroom.jpg" alt="" width="440" height="331" /></p>
<p>I&#8217;m a big fan of virtualization.  There&#8217;s a lot to like about it, including consolidation (getting rid of space-heater servers that do nothing running 1% CPU and sucking up electricity and throwing off heat), flexibility, and management.  I&#8217;ve even gone and got my VCP4 (VMware Ceritified Professional 4) certification.  (Hear that ladies? I&#8217;m <em>certified.</em>)</p>
<p>One aspect of virtualization I&#8217;m a fan of is the appliances.  Vendors are taking physical appliances (such as a Vyatta router) and turning it into a VM appliance.  I don&#8217;t have to worry about an underlying operating system (and the requisite patches), the appliance vendor handles the software and the OS.</p>
<p>Several load balancing vendors have gotten into that virtualization game.  Vendors that have traditionally offered hardware appliances now have virtual appliances (some for years).  From From F5 to KEMP, from Coyote Point to loadbalancer.org, there are a number of virtual load balancers/ADCs to choose from.   And for the most part, they offer the same features as their hardware brethren.</p>
<p>Their throughput and performance is hampered somewhat by the fact that they&#8217;re all software and no silicon. Everything is done in the x86 virtualized CPU(s).  Still, depending on how you provision them, they can generally handle several thousand HTTP requests per second even in Layer 7 mode.</p>
<p>The one caveat to virtual load balancers is that their SSL performance is severely limited.  Even value-market load balancers that do most of their functions in a general purpose CPU will still use SSL ASICs for the asymmetric crypto (even using the general processor for the less CPU-intensive symmetric crypto).</p>
<p style="text-align: left;">The first part of every new SSL connection is a very CPU-intensive asymmetric operation (about 1000x more CPU intensive than symmetric operations).    CPUs that can normally handle tens of thousand of regular TCP connections per second can only handle a few thousand SSL connections at the most.</p>
<p>It is technically possible to do hardware SSL acceleration on a VM load balancers however.  It requires that the virtual machine host (like VMWare ESXi) have an SSL card installed, and VM Passthrough enabled (where the virtual machine can have direct access to physical hardware).</p>
<p>Unfortunately, these SSL cards are tough to come by.  Cavium is probably the most notable vendor, but cards from them aren&#8217;t exactly easy to come by, and they&#8217;re fairly expensive.  You may not have the option if you&#8217;re using blade systems.   And if you you want to leverage features like HA and DRS (using ESX hosts in a cluster), then every machine in the cluster would need to have such a card.  I&#8217;m not aware of any virtual load balancer vendor that even supports this configuration.</p>
<p>There are a lot of situations where virtual load balancers make a lot of sense, but keep in mind that the SSL performance capability is going to be fairly constrained.</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2011/03/14/achilles/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tales of Load Balancing Horror</title>
		<link>http://lbdigest.com/2009/10/29/tales-of-horrors/</link>
		<comments>http://lbdigest.com/2009/10/29/tales-of-horrors/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 21:03:33 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=434</guid>
		<description><![CDATA[It&#8217;s halloween, and I think it&#8217;s time for some scary stories.Â  I give you&#8230; TALES OF LOAD BALANCING HORRORS! For tales of persistent terror, challenging your keep-alive, I give you...]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s halloween, and I think it&#8217;s time for some scary stories.Â  I give you&#8230;</p>
<p>TALES OF LOAD BALANCING HORRORS!</p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-447" title="chassis-keeper" src="http://lbdigest.com/wp-content/uploads/2009/10/chassis-keeper1-300x224.jpg" alt="chassis-keeper" width="300" height="224" /></p>
<p>For tales of persistent terror, challenging your keep-alive, I give you the following vignettes. (Names have been changed to protect my ass, as well as to punch up some bone dry material.)</p>
<h3>The Default Gateway To The Abandoned Zone</h3>
<p>Several years ago, on a dark and stormy night, a dashingly handsome young hot-shot system administrator had just finished setting up a new web infrastructure for a client.Â  They were moving their web infrastructure from their own facility, to the co-location facility where Mr. Sysadmin worked.Â  Mr Sysadmin was also responsible for the load balancer.Â  Running bravely into the load balancing realm while both the other sysadmins and the network admins dared not tread.</p>
<p>&#8220;It&#8217;s cursed!&#8221; They said.Â  Or maybe they used curse words to describe it.Â  It was a long time ago.</p>
<p>He powered up the system, tested the traffic, and cried out into the night &#8220;It&#8217;s alive! It&#8217;s pushing traffic!&#8221;Â  Overly pleased with his unnatural creation, he emailed the client to tell them their configuration was ready.Â  They moved in, with administrator access to all systems.</p>
<p>At first, the infrastructure worked as promised.Â  Sites were served, and loads were balanced.Â  Then, a call came from beyond the datacenter.</p>
<p>&#8220;The load balancer is screwing up. The site is down.&#8221; said the customer.Â  From beyond the data center.</p>
<p>Our hero was not convinced.Â  Many plagues have been blamed upon the load balancer, only to later find out the culprit was elsewhere.Â  So he punched up the website, and sure enough, nothing. He logged into the load balancer, and found it to be operating correctly, with no changes from when it was working.Â  He then checked the servers.Â  And there was the problem.</p>
<p>He shot up from his haunted Aeron chair.Â  &#8220;By Zeus, the default gateway has been changed!&#8221;</p>
<p>For you see, as traffic comes into the load balancer, it must also return through the load balancer on the way out.Â  This is the way of things.Â  This can be done a number of ways, and the method chosen for this infrastructure was by making the load balancer the default gateway.Â  But when someone changes the default gateway to a device other than the load balancer, the packets are doomed to wander the network, never to find their destination.Â  They were damend to the bit bucket.</p>
<p>So our mad sysadmin (he was pretty mad,Â  as he had specifically instructed them not to change the default gateway) changed the default gateways correctly, so that more packets would not suffer the same ghastly fate.Â  Once this task had been completed, the packets found their way back the client, and all worked.Â Â  (The lost packets still haunt the data center to this day!)</p>
<p>Teh End&#8230;</p>
<p>or is it?</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2009/10/29/tales-of-horrors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Your Epic Fail:  Fast or Slow?</title>
		<link>http://lbdigest.com/2009/10/11/your-epic-fail-fast-or-slow/</link>
		<comments>http://lbdigest.com/2009/10/11/your-epic-fail-fast-or-slow/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 00:10:11 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Feature Articles]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Pontification]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=412</guid>
		<description><![CDATA[In the load balancing world, many vendors have the concept of &#8220;sorry servers&#8221;, or &#8220;backup server farms/pools&#8221;.Â  Essentially, if most or all of your primary servers are down, traffic is...]]></description>
			<content:encoded><![CDATA[<p>In the load balancing world, many vendors have the concept of &#8220;sorry servers&#8221;, or &#8220;backup server farms/pools&#8221;.Â  Essentially, if most or all of your primary servers are down, traffic is redirected to a backup server(s) containing either reinforcements of the same web application, or a &#8220;sorry&#8221; page.</p>
<p>The idea is that if everything goes terribly wrong, at least your visitors will see something, instead of nothing.</p>
<p>Which begs the question: How do you like to fail?Â  Fail fast or fail slow? Would it be better to fail slow, where your site becomes slower and slower, or possibly just unresponsive, or would it be better to put up a quick-serving sorry page if the infrastructure melts?<img class="size-medium wp-image-414 alignright" style="margin: 4px;" title="technical_difficulties" src="http://lbdigest.com/wp-content/uploads/2009/10/technical_difficulties-300x216.jpg" alt="technical_difficulties" width="300" height="216" /></p>
<p>A wildly successful website can easily become a victim of its own success.Â  Take the case of two sites that experienced exponential growth in a relatively short period of time:Â  Twitter.com and Myspace.com.</p>
<p>They took two different paths in the realm of failure.Â  One failed fast, and one failed slow.</p>
<p>Although Myspace has lost most of its lead to Facebook, it&#8217;s still a wildly popular social media site.Â  They had exponential growth from their start in 2003, and there were many periods of time when Myspace.com was just&#8230; slow.Â  Really really slow. You can&#8217;t really blame them.Â  It&#8217;s tough when users come faster than you can install servers and provision bandwidth.Â  It&#8217;s a happy problem to have usually, but it&#8217;s still a logistical challenge.</p>
<p><img class="size-medium wp-image-413 alignleft" style="margin: 5px;" title="Fail Whale" src="http://lbdigest.com/wp-content/uploads/2009/10/fail_whale-300x225.jpg" alt="Fail Whale" width="300" height="225" /></p>
<p>Twitter.com came around a bit later, but it also had exponential growth and problems coping.Â  But for the most part, they failed in a different way:Â  Fail Whale. When something went terribly awry, instead of a slow site, you&#8217;d get a very quick fail whale image.</p>
<p>Perhaps this is a matter of personal opinion, but I think if you&#8217;re going to fail, it&#8217;s better to fail quick than fail slow.Â  That is, have a sorry page or sorry site that comes up quick, rather than a site that is too slow for anyone to use.</p>
<p>The quick sorry page can be done with many of the load balancing/ADC vendors by using the backup/sorry serverfarm feature.Â  Keeping a group of reserve servers, serving up only a &#8220;oops, sorry about that&#8221; type of page, your own fail whale, can be better than having a really slow or unresponsive web site.</p>
<p>Of course, you won&#8217;t always be able to choose the method of your failure.Â  If your upstream ISP goes dark, there&#8217;s not much you can do (unless you have an offsite fail site).Â  But I personally think having a fail site is a more &#8220;professional&#8221; way to fail than having a slow or unresponsive site when things go belly up (and we all know they will).</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2009/10/11/your-epic-fail-fast-or-slow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moore&#8217;s Law and Bandwidth Consumption</title>
		<link>http://lbdigest.com/2009/05/27/moores-law-and-bandwidth-consumption/</link>
		<comments>http://lbdigest.com/2009/05/27/moores-law-and-bandwidth-consumption/#comments</comments>
		<pubDate>Wed, 27 May 2009 07:26:22 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Buyer's Guide]]></category>
		<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Feature Articles]]></category>
		<category><![CDATA[Load Balancing 101]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=379</guid>
		<description><![CDATA[Most in IT are familiar with the concept of Moore&#8217;s Law, whereby processor capability tends to double about every two years.Â  To a certain extent, this happens with networking equipment,...]]></description>
			<content:encoded><![CDATA[<p>Most in IT are familiar with the concept of Moore&#8217;s Law, whereby processor capability tends to double about every two years.Â  To a certain extent, this happens with networking equipment, with their capacity increasing at a steady rate, although probably not the same rate at processors.</p>
<p>Benefiting from Moore&#8217;s Law to a great extent are load balancers/ADCs, where the lowest end device from just about every vendor can handle traffic loads in the 50-100 Mbps range.Â  Of course, throughput isn&#8217;t a terrible way of measuring performance capability of a load balancer (100 Mbps of large file downloads is a heckuva lot easier than 100 Mbps of tiny file connections), but it does relate well to one very important factor in web site serving:</p>
<p>How big is your pipe?</p>
<p>Businesses of all sizes have seen steady increases in their available bandwidth to be sure, but while the growth may be steady, for the most part it tends to be a slower growth rate.Â  Much slower than doubling every 18 months, like in Moore&#8217;s Law.Â Â  The result is that increasingly that the lower end offerings from vendors are more than sufficient to run a larger share of web sites out there.</p>
<p>There are a number of reasons for this.Â  We&#8217;re no longer experiencing the exponential accross-the-board growth rates in users that occurred during the dot-com boom.Â  While there are some sites going through a growth explosion, for most websites in this economic environment, growth rates of any kind are fairly extraordinary.Â  So extra bandwidth isn&#8217;t in as high demand. Secondly, if you&#8217;re hosting your own data center as many large businesses do, getting extra bandwidth is often time consuming.Â  Moving from a single DS3 (45 Mbps) to an OC-3 (155 Mbps) is going to take some time to get that order fulfilled.</p>
<p>Cisco&#8217;s ACE 4710 appliance comes with a default license of 1 Gbps of throughput.Â  F5&#8242;s entry-level BIG-IP 1600 LTM maxes out at 1 Gbps.Â Â  In the Enterprise market, 500-Mbps to 1 Gbps is about the rock bottom in terms of performance capability.Â  Yet many of the high-end clients of these vendors don&#8217;t push nearly that much traffic.</p>
<p>Companies that aren&#8217;t media or mega-content providers (such as Google, Youtube, Yahoo!, Facebook, etc.) that have web applications serving customers or businesses typically don&#8217;t go above 100-200 Mbps in traffic, even for some Fortune 500 companies.Â   Of course, there are exceptions, and there are quite a few factors involved in determining the traffic characteristics of a site. Companies that are offering media such as streaming video or audio often use third-party content providers, such as Youtube or Akami, so as to keep that bandwidth off their own pipe.</p>
<p>So we&#8217;ve got all this idle CPU time, so why not make use of it?Â  That&#8217;s what many vendors are doing, in both the enterprise and value markets. With the steady rise in CPU power while bandwidth consumption lags behind, vendors are throwing more and more capabilities into these devices to take advantage of the unused CPU cycles, such as caching, compression, Layer-7 inspection, etc.Â  Vendors are offering more functionality with the greater power they have available to them.</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2009/05/27/moores-law-and-bandwidth-consumption/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Someone Is Wrong On The Internet&#8230;</title>
		<link>http://lbdigest.com/2009/04/28/someone-is-wrong-on-the-internet/</link>
		<comments>http://lbdigest.com/2009/04/28/someone-is-wrong-on-the-internet/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 22:30:16 +0000</pubDate>
		<dc:creator>tony</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://lbdigest.com/?p=332</guid>
		<description><![CDATA[I&#8217;d read the O3 Magazine article by John Buswell with great interest, as well as Lori MacVittie&#8217;s response article.Â  I thought they both made great points as I said in...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d read the O3 Magazine article by John Buswell with great interest, as well as Lori MacVittie&#8217;s response article.Â  I thought they both made great points as I said in my previous post, and I was content to leave it at that.</p>
<p>Then I read the <a href="http://o3magazine.blogspot.com/2009/04/ssl-accelerator-strikes-nerve-with-f5.html">follow-up response</a> over at the 03 blog.Â  And I got that pang.Â  You know the one.</p>
<p><a href="http://xkcd.com/386/">Someone is wrong on the Internet</a>.</p>
<p style="text-align: center;"><a href="http://xkcd.com"><img class="aligncenter" title="Someone Is Wrong on the Internet" src="http://imgs.xkcd.com/comics/duty_calls.png" alt="" width="300" height="330" /></a></p>
<p>He made a number of errors about F5&#8242;s capabilities, and they were cleared up by Lori in her response.Â  But there are a couple of items I wanted to address.Â  Take this quote from his<a href="http://o3magazine.blogspot.com/2009/04/ssl-accelerator-strikes-nerve-with-f5.html"> blog post</a>:</p>
<blockquote><p>She claims that L7 is expensive, sure it takes extra processing, but if you read the article, you&#8217;d see that <em>I drop hints that Nginx has a very superior way of handling I/O</em>.</p></blockquote>
<p>Maybe it&#8217;s just me, but &#8220;oh, I dropped hints!&#8221; seems to be talking down to your audience.Â  At best, it&#8217;s condescending to your audience.Â  At worst, it&#8217;s a shallow and transparent attempt to show a depth of knowledge in an area you actually know only superficially.Â  Either detail the &#8220;very superior way of handling I/O&#8221;, or post a link to something detailing as such, or get off the pot.</p>
<p>There&#8217;s also his claim of being able to do over 25,000 TPS, which Lori rightfully called into question.</p>
<blockquote><p>My personal favourite is that she quotes a 3 year old article to try to claim that the Opteron can handle &#8220;around 1500&#8243; 1024-bit RSA operations per second, I don&#8217;t think she understands what is written in that report, as she has mis-quoted it, and picked a report thats over 3 years old. Lets play far shall we, I know marketing people are used to trying to skew reports, but you try that with me, I&#8217;m going to call you on it. Yet we have a running test that shows that machine is handling requests on-par with the F5 solution.</p></blockquote>
<p>I found a more <a href="http://www.phoronix.com/scan.php?page=article&amp;item=os_threeway_2008&amp;num=5">updated article</a> on a processor very similar to the one used in the original O3 article.Â  For a 4096-bit operation, the value was 343.12 decrypt RSA operations for 8 cores (dual quad-core Opteron 2356, a similar CPU to the one he used).Â  4096-bit RSA of course being much more expensive than 1024-bit, but by a predictable amount.Â  Mulitply by about 32, and you get the number of 1024-bit operations (used in most SSL certificates).Â  The value comes to about 11,000 for 8-cores, which is inline with what she states, and a lot less than his stated 26,000 connections per second.Â  And as Lori pointed out, 11,000 would be possible if the system were only doing this SSL work.Â  He also didn&#8217;t refute that he used 512-bit certs.</p>
<p>It&#8217;d be easy enough for him to test.Â  The command to test the system&#8217;s SSL capabilities with 8 cores is:</p>
<pre>openssl speed rsa -multi 8</pre>
<p>So he either really did use 512-bit certs, or he&#8217;s actually not measuring TPS correctly.Â  When an SSL vendor measures SSL, they typically use the term TPS, or transactions per second.Â  This typically refers to the rate at which the system can accept new SSL sessions, with each new connection requiring an asymmetric encryption operation.Â  Â  SSL/TLS uses two encryption technologies: Symmetric and Asymmetric.Â  The asymmetric encryption is relatively expensive on a general purpose CPU like an Opteron (about 1,000 times as CPU intensive as symmetric encryption).Â  That&#8217;s why devices like the F5 and other vendors include SSL accelerator cards, which are special processors that keep the encryption operations off the main CPU.Â  A device with an SSL accelerator won&#8217;t &#8220;feel&#8221; the impact of an SSL connection any different than a non-SSL connection.</p>
<p>What I&#8217;m guessing (and it&#8217;s just a guess, since he didn&#8217;t state how he did his tests) is that he measured <em>HTTP requests per second</em>, which is a bit different than TPS.Â  If he used HTTP 1.1 connection persistence, he could do 10 or more requests with only one asymmetric operation. Â  While that&#8217;s an absolutely fair measure of HTTP/S performance, it is not TPS, at least not in the generally accepted way.Â  If you measured an F5 the same way (multiple HTTP requests through a single SSL connection), the F5 (or any other vendor advertising in TPS) would be able to push far beyond 25,000.</p>
<p>If that is the case, then he could do a comparative TPS test by using HTTP 1.0 mode, where each HTTP request required it&#8217;s own TCP connection (and thus asymmetric operation).</p>
<p>And finally, we have this.</p>
<blockquote><p>1. No offense but covering the beat doesn&#8217;t exactly equate to 9 years experience with the technology. Sure you look at the trends, products and evaluations, but this is within a sandbox, not day to day real world experience. I&#8217;ve got 2 years experience working with Alteon as a customer back in 1998, working on the bleeding edge at the time of L4 switching. I kept F5 out of the customer site where I was working, simply because Alteon offered a much better and more innovative hardware platform. The web guys liked F5 because it did fancy graphs, Alteon got the job done in terms of performance and scalability. Following that, I spent over 6 years working as a Sustaining Engineer for Nortel / Alteon, responsible for thousands of bug fixes, and beating F5 on many occasions. After that I spent about 18 months working on Open Source App Delivery before returning to Nortel to work on their next-gen platform and help Sustain the Application Switch line. So as you can see, not all experience is equal. <img src='http://lbdigest.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></blockquote>
<p>He should really have done more research on Lori.Â  There aren&#8217;t a lot of people in the world with a wider breadth of knowledge in the Layer-7/ADC/load balancing world as Lori (and he ain&#8217;t among them).Â  He makes the mistake of dismissing her as &#8220;covering the beat&#8221;, referring to her time at Network World Computing, as if her job there only involved sitting through power point presentations and hitting the occasional power switch.Â  Just looking at her F5 devcentral posts, she has an impressive knowledge from such aspects of the technology as <a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/23/jedi-mind-tricks-http-request-smuggling.aspx">HTTP security</a>, <a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/14/why-not-network-side-pre-fetching.aspx">application acceleration</a>, <a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/02/http-pipelining-a-security-risk-without-real-performance-benefits.aspx">and finer aspects of the HTTP protocol</a>, to application-specific issues such as <a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/25/3559.aspx">SOA</a>, <a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/12/3609.aspx">XML security</a>, and <a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/01/the-web-2.0-api-from-collaborating-to-compromised.aspx">APIs</a>.Â Â  I&#8217;ve never met her, but I&#8217;ve spoken with her on a number of occasions, and she&#8217;s the real deal.</p>
]]></content:encoded>
			<wfw:commentRss>http://lbdigest.com/2009/04/28/someone-is-wrong-on-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

