<?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>The Barking Seal &#187; Infrastructure</title>
	<atom:link href="http://www.barkingseal.com/category/infrastructure/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.barkingseal.com</link>
	<description>Applied Trust off-leash: IT infrastructure, security, and performance</description>
	<lastBuildDate>Thu, 29 Jul 2010 03:40:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Slow network performance for Windows Server 2008 guest on vmware ESXi 4.1</title>
		<link>http://www.barkingseal.com/2010/07/slow-network-performance-for-windows-2008-on-vmware-esxi/</link>
		<comments>http://www.barkingseal.com/2010/07/slow-network-performance-for-windows-2008-on-vmware-esxi/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 03:40:12 +0000</pubDate>
		<dc:creator>trent</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1398</guid>
		<description><![CDATA[The older I get, the more lessons I seem to learn (or, not learn) over and over.  Have you ever seen TCP offload work correctly?  Of course not!  I&#8217;ve been bitten by a TCP offload (aka TCP Offload Engine or TOE) problem in just about every environment I&#8217;ve touched in the last 20 years, and [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1402" class="wp-caption alignnone" style="width: 235px"><a href="http://www.barkingseal.com/wp-content/uploads/2010/07/tcp-lego-header.jpg"><img class="size-medium wp-image-1402" title="tcp lego header" src="http://www.barkingseal.com/wp-content/uploads/2010/07/tcp-lego-header-225x300.jpg" alt="tcp lego header" width="225" height="300" /></a><p class="wp-caption-text">TCP header, Lego (tm) style</p></div>
<p>The older I get, the more lessons I seem to learn (or, not learn) over and over.  Have you ever seen TCP offload work correctly?  Of course not!  I&#8217;ve been bitten by a TCP offload (aka TCP Offload Engine or TOE) problem in just about every environment I&#8217;ve touched in the last 20 years, and sadly this week was no exception.</p>
<p>To make a long story short, we have a production vmware ESXi 4.1 host with both Linux (CentOS) and Windows Server 2008 guests.  No problems were reported (or measured) with the Linux guests, but the Win 2008 guests suffered from <span style="text-decoration: underline;">extremely</span> choppy network connections, for common services like Remote Desktop and backups (including lost connections).  As you probably know, I&#8217;m big into actually investigating the underlying cause of a problem rather than randomly throwing darts at it, and as such I grabbed some packet traces with wireshark.  Check this out:</p>
<p><span id="more-1398"></span></p>
<div id="attachment_1400" class="wp-caption alignnone" style="width: 670px"><a href="http://www.barkingseal.com/wp-content/uploads/2010/07/offload-bad1.jpg"><img class="size-full wp-image-1400" title="TCP offload bad" src="http://www.barkingseal.com/wp-content/uploads/2010/07/offload-bad1.jpg" alt="TCP offload bad" width="660" height="478" /></a><p class="wp-caption-text">wireshark analysis of poor TCP connection</p></div>
<p>Ouch! That is super ugly (this is across a LAN, btw)!  How can you screw up a single TCP connection so badly in 6 feet of cable?  Probably not the cable (or network), sherlock.  It appears this is a &#8220;known problem.&#8221;    While this problem (described in the vmware article as &#8220;Network performance is very slow and connections drop intermittently&#8221;) seems contrained in the article to vmware guests running on a Windows host, I can attest to this occuring on both ESXi 4.0 Update 1 and ESXi 4.1 hosts with Windows guests.  After following the instructions in this <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1006619" target="_blank">vmware article</a> to remedy the situation by disabling TCP offload on the Win 2008 guests, they exhibit downright snappy network performance.  Check out the improved trace results:</p>
<div id="attachment_1401" class="wp-caption alignnone" style="width: 672px"><a href="http://www.barkingseal.com/wp-content/uploads/2010/07/offload-good.jpg"><img class="size-full wp-image-1401" title="TCP offload good" src="http://www.barkingseal.com/wp-content/uploads/2010/07/offload-good.jpg" alt="TCP offload good" width="662" height="362" /></a><p class="wp-caption-text">wireshark analysis after disabling TCP offload</p></div>
<p>Moral of the story:  TCP offload always sucks.  Turn it off on Windows Server 2008 vmware guests.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/07/slow-network-performance-for-windows-2008-on-vmware-esxi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Barking Seal Q3 2010 is Here and Filled with Goodies!</title>
		<link>http://www.barkingseal.com/2010/07/the-barking-seal-q3-2010-is-here-and-filled-with-goodies/</link>
		<comments>http://www.barkingseal.com/2010/07/the-barking-seal-q3-2010-is-here-and-filled-with-goodies/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 15:57:22 +0000</pubDate>
		<dc:creator>katief</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[applied trust]]></category>
		<category><![CDATA[AppliedTrust]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[version-control]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1381</guid>
		<description><![CDATA[The latest version of The Barking Seal is here , and it is filled with a variety of applicable and accessible treats.  Want some? Keep reading for a taste&#8230; Goodie #1: Learn why version control is important for all businesses across the board. Goodie #2: Get some assistance in deciding “Git or Subversion? Git or Subversion? [...]]]></description>
			<content:encoded><![CDATA[<p>The latest version of The Barking Seal is here , and it is filled with a variety of applicable and accessible treats.  Want some? Keep reading for a taste&#8230;</p>
<p><a href="http://www.appliedtrust.com/q3-2010"><img class="alignleft size-medium wp-image-1383" style="margin-left: 10px; margin-right: 10px;" title="platter_large_dessert-basket" src="http://www.barkingseal.com/wp-content/uploads/2010/07/platter_large_dessert-basket-300x212.jpg" alt="" width="300" height="212" /></a>Goodie #1: Learn why version control is important for all businesses across the board.</p>
<p>Goodie #2: Get some assistance in deciding “Git or Subversion? Git or Subversion? Git…?”</p>
<p>Goodie #3 (otherwise known as the cherry on top): Meet Jim Turpin, one of our fabulous network engineers, who embodies the concept of multi-discipline to a T both inside and outside of the office.</p>
<p><a href="http://www.appliedtrust.com/q3-2010">Click here to read Q3 2010</a>, and, as always, enjoy the treat!</p>
<p>We&#8217;d love to hear from you, so please post your comments and questions here.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F&amp;title=The+Barking+Seal+Q3+2010+is+Here+and+Filled+with+Goodies%21" title="Slashdot It!"><img src="/wp-content/plugins/slashdot.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F&amp;title=The+Barking+Seal+Q3+2010+is+Here+and+Filled+with+Goodies%21" title="Digg This Story"><img src="/wp-content/plugins/digg.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F&amp;title=The+Barking+Seal+Q3+2010+is+Here+and+Filled+with+Goodies%21" title="Reddit"><img src="/wp-content/plugins/reddit.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F&amp;title=The+Barking+Seal+Q3+2010+is+Here+and+Filled+with+Goodies%21" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F&amp;title=The+Barking+Seal+Q3+2010+is+Here+and+Filled+with+Goodies%21', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="/wp-content/plugins/delicious.gif" width="16" height="16" alt="[del.icio.us]" /></a>

<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F" title="Add to my Technorati Favorites"><img src="/wp-content/plugins/technorati.ico" width="16" height="16" alt="[Technorati]" /></a>

<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fthe-barking-seal-q3-2010-is-here-and-filled-with-goodies%2F&amp;title=The+Barking+Seal+Q3+2010+is+Here+and+Filled+with+Goodies%21" title="Stumble it!"><img src="/wp-content/plugins/stumbleupon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/07/the-barking-seal-q3-2010-is-here-and-filled-with-goodies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Gentle Infrastructure Monitoring Reminder</title>
		<link>http://www.barkingseal.com/2010/07/a-gentle-infrastructure-monitoring-reminder/</link>
		<comments>http://www.barkingseal.com/2010/07/a-gentle-infrastructure-monitoring-reminder/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 18:57:51 +0000</pubDate>
		<dc:creator>ned</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1373</guid>
		<description><![CDATA[The fine folks at Twitter Engineering recently posted about the performance issues they have had over the holiday weekend. Since Saturday, the site has been slow for users and API calls. While AppliedTrust hasn&#8217;t (yet) made the leap to Twitter, we recognize how important it is for delivering World Cup news. I give Twitter Engineering tons [...]]]></description>
			<content:encoded><![CDATA[<p>The fine folks at <a href="http://engineering.twitter.com/2010/06/perfect-stormof-whales.html" target="_blank">Twitter Engineering recently posted about the performance issues</a> they have had over the holiday weekend. Since Saturday, the site has been slow for users and API calls. While AppliedTrust hasn&#8217;t (yet) made the leap to Twitter, we recognize how important it is for delivering World Cup news. I give Twitter Engineering tons of credit for being so transparent about the details of the problem &#8211; they say:</p>
<table border="1">
<tbody>
<tr>
<td>
<div id="_mcePaste"><span style="font-size: x-small;"><span style="font-size: small;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"><span style="font-size: x-small;"><strong>In brief, we made three mistakes:</strong></span></span></span></span></div>
<div id="_mcePaste"><span style="font-size: x-small;"><span style="font-size: small;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"><span style="font-size: x-small;"><strong>* We put two critical, fast-growing, high-bandwith components on the same segment of our internal network.</strong></span></span></span></span></div>
<div id="_mcePaste"><span style="font-size: x-small;"><span style="font-size: small;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"><span style="font-size: x-small;"><strong>* Our internal network wasn&#8217;t appropriately being monitored.</strong></span></span></span></span></div>
<div id="_mcePaste"><span style="font-size: x-small;"><span style="font-size: small;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"><span style="font-size: x-small;"><strong>* Our internal network was temporarily misconfigured.</strong></span></span></span></span></div>
</td>
</tr>
</tbody>
</table>
<p>
<p>Twitter is well known for great application-layer monitoring and instrumentation, so this gap in monitoring is a surprise. It exposes a common misconception among social software companies &#8211; that their server and network infrastructure is &#8220;covered&#8221; by their hosting provider.  As web applications scale to even 1/1000 the size of Twitter, software becomes critically interdependent on the underlying network. Infrastructure should be instrumented and monitored at least as closely as the software that depends on it.</p>
<p>For more The Barking Seal articles on monitoring and troubleshooting, see:</p>
<div id="_mcePaste">
<ul>
<li><a href="http://www.barkingseal.com/2009/08/monitoring-site-to-site-vpns-on-a-cisco-asa/" target="_blank"><span style="color: #000000;">Monitoring Site to Site VPNs</span></a></li>
<li><a href="http://www.barkingseal.com/2008/12/interpreting-packet-traces-with-wireshark-part-1-of-n/" target="_blank"><span style="color: #000000;">Interpreting Packet Traces</span></a></li>
<li><a href="/2008/10/walk-then-run-thoughts-about-event-value/" target="_blank"><span style="color: #000000;">Thoughts on Monitoring Event Value</span></a></li>
</ul>
</div>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F&amp;title=A+Gentle+Infrastructure+Monitoring+Reminder" title="Slashdot It!"><img src="/wp-content/plugins/slashdot.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F&amp;title=A+Gentle+Infrastructure+Monitoring+Reminder" title="Digg This Story"><img src="/wp-content/plugins/digg.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F&amp;title=A+Gentle+Infrastructure+Monitoring+Reminder" title="Reddit"><img src="/wp-content/plugins/reddit.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F&amp;title=A+Gentle+Infrastructure+Monitoring+Reminder" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F&amp;title=A+Gentle+Infrastructure+Monitoring+Reminder', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="/wp-content/plugins/delicious.gif" width="16" height="16" alt="[del.icio.us]" /></a>

<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F" title="Add to my Technorati Favorites"><img src="/wp-content/plugins/technorati.ico" width="16" height="16" alt="[Technorati]" /></a>

<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F07%2Fa-gentle-infrastructure-monitoring-reminder%2F&amp;title=A+Gentle+Infrastructure+Monitoring+Reminder" title="Stumble it!"><img src="/wp-content/plugins/stumbleupon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/07/a-gentle-infrastructure-monitoring-reminder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppliedTrust Goes Drupal!</title>
		<link>http://www.barkingseal.com/2010/06/appliedtrust-goes-drupal/</link>
		<comments>http://www.barkingseal.com/2010/06/appliedtrust-goes-drupal/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 00:21:23 +0000</pubDate>
		<dc:creator>ned</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[applied trust]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[platform security]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1340</guid>
		<description><![CDATA[This month, AppliedTrust re-launched our web site on the CMS called Drupal. Although the &#8220;look and feel&#8221; of the site hasn&#8217;t changed much, this upgrade has been a breakthrough in terms of both performance and manageability. I would give our previous CMS, Joomla, a grade of a B- in comparison to Drupal&#8217;s solid A. Here [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barkingseal.com/wp-content/uploads/2010/06/drupal_drop.jpg"><img class="alignleft size-full wp-image-1367" style="margin-left: 5px; margin-right: 5px;" title="drupal_drop" src="http://www.barkingseal.com/wp-content/uploads/2010/06/drupal_drop.jpg" alt="" width="86" height="99" /></a>This month, <a href="http://www.appliedtrust.com">AppliedTrust re-launched our web site</a> on the CMS called <a href="http://drupal.org" target="_blank">Drupal</a>. Although the &#8220;look and feel&#8221; of the site hasn&#8217;t changed much, this upgrade has been a breakthrough in terms of both performance and manageability. I would give our previous CMS, <a href="http://www.joomla.org/" target="_blank">Joomla</a>, a grade of a B- in comparison to Drupal&#8217;s solid A. Here are six reasons why Drupal is a great fit for <a href="http://www.appliedtrust.com/">www.appliedtrust.com</a>:</p>
<p><span id="more-1340"></span></p>
<div id="_mcePaste">
<ol>
<li><strong>Performance: </strong>In our migration from Joomla to Drupal, we tried to keep as many things constant as possible. We tried to keep our look and feel similar (we didn&#8217;t kill ourselves to replicate every detail, but it&#8217;s very close). We are hosting the site on the same server, with the same database and version of PHP. We didn&#8217;t add or remove any significant functionality. This is definitely not a scientific comparison of Joomla and Drupal performance, but it saved www.appliedtrust.com a full second in load time, which is a 33% reduction and <a href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html" target="_blank">important for our Google ranking</a>. We just love performance tuning and are very excited! (This is data from <a href="http://browsermob.com">BrowserMob</a> &#8211; the red circles indicate outages during the site cutover).<a href="http://www.barkingseal.com/wp-content/uploads/2010/06/browsermob_before_after.png" target="_blank"><img class="size-full wp-image-1344 alignright" title="browsermob_before_after" src="http://www.barkingseal.com/wp-content/uploads/2010/06/browsermob_before_after.png" alt="" width="472" height="186" /></a></li>
<li><strong>The &#8220;Boboli&#8221; approach to features: </strong>Most CMSs are like a frozen pizza &#8211; you can usually find one you want, but it&#8217;s never perfect. The &#8220;Boboli&#8221; approach is to separate the tasty dough from the toppings &#8211; you get exactly what you want. Drupal is pretty much the same; it provides a robust &#8220;Drupal Core&#8221; with a minimal set of functionality. You can <a href="http://drupal.org/project/Modules" target="_blank">add only the features you want</a>, just like fresh pizza toppings from throughout the grocery store. This is a win for security <em>and</em> performance. Most CMSs and blogging systems include a large bundle of built-in functionality &#8211; much more like a frozen pizza.</li>
<li><strong>Command-line management:</strong> Drupal offers a <a href="http://drupal.org/project/drush">command-line tool called drush</a>. While many administrators will prefer the nice web-based management interface, old UNIX cowboys will find the drush shell super efficient. You can download, install, and enable modules or themes in just two commands! Drush is also useful for scheduling tasks out of cron, and for general troubleshooting and administration.</li>
<li><strong>Content and menu customization</strong><strong>:</strong> One of the worse &#8220;features&#8221; of Joomla is that it imposes a weird relationship between content (web pages) and menu item links. For a web page to be accessible, it has to be linked to a menu. On our old Joomla site, we constantly had to police for cases where duplicate URLs linked to a single page. Drupal, on the other hand, completely decouples content (and URLs) from menus. If you have ever managed Joomla, I am confident you know what I&#8217;m talking about!</li>
<li><strong>Dogmatic architecture and implementation</strong><strong>:</strong> When I first opened one of Drupal&#8217;s source code files (it&#8217;s written in PHP), I was shocked to see more comments than code! This is something every Computer Science 101 professor covers &#8211; &#8220;comment your code&#8221; &#8211; but is rarely executed well in practice. The Drupal community follows <a href="http://drupal.org/coding-standards">high quality coding standards</a>, and uses a rigorous peer review process for &#8220;the core&#8221;. As a security professional, I especially love their <a href="http://drupal.org/node/101497" target="_blank">policy for security vulnerabilities</a>: if the module developers don&#8217;t start working on important vulnerabilities within a month, the software is removed from the Drupal web site. Can you name a software company that would stop selling their products until an important patch is released? (hint: it&#8217;s not Sun, Microsoft, Oracle, or Google!)</li>
</ol>
</div>
<p>I should emphasize that this was our experience, and your mileage may vary. AppliedTrust is not a web design firm &#8211; we pride ourselves on infrastructure (servers, networks, security, performance, etc.). Still, I am tremendously impressed with Drupal and you are probably making a mistake if you are building a complex web site and haven&#8217;t considered it.</p>
<p>Looking back, since 2001 we have transitioned from static HTML (managed with GoLive), to Joomla, to WordPress (which we continue to use for this blog), to Drupal. Each transition has been a marked improvement, and today, I can&#8217;t imagine using anything except Drupal (for complex sites) or WordPress (for simple ones). In closing, here is a visual history of AppliedTrust&#8217;s web platform &#8220;evolution&#8221;:</p>
<p><a href="http://www.barkingseal.com/wp-content/uploads/2010/06/AT_EvolutionOfWebPlatforms_06-20101.png" target="_blank"><img class="alignnone size-full wp-image-1342" title="AT_EvolutionOfWebPlatforms_06-2010" src="http://www.barkingseal.com/wp-content/uploads/2010/06/AT_EvolutionOfWebPlatforms_06-20101.png" alt="" width="481" height="265" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/06/appliedtrust-goes-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppliedTrust featured on One Day, One Job!</title>
		<link>http://www.barkingseal.com/2010/04/appliedtrust-featured-on-one-day-one-job/</link>
		<comments>http://www.barkingseal.com/2010/04/appliedtrust-featured-on-one-day-one-job/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 15:39:08 +0000</pubDate>
		<dc:creator>ned</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[Recruiting]]></category>
		<category><![CDATA[applied trust]]></category>
		<category><![CDATA[boulder]]></category>
		<category><![CDATA[popular]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1313</guid>
		<description><![CDATA[I&#8217;m very excited to announce that AppliedTrust is being featured today on One Day, One Job, the popular site that highlights a different hiring employer every day.  Created by Willy Franzen, One Day, One Job is a unique resource for college students beginning their careers.  This is awesome exposure for our company and a great opportunity for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barkingseal.com/wp-content/uploads/2010/04/One-Day-One-Job-logo.gif"><img class="alignleft size-full wp-image-1314" title="One-Day-One-Job-logo" src="http://www.barkingseal.com/wp-content/uploads/2010/04/One-Day-One-Job-logo.gif" alt="" width="169" height="140" /></a> I&#8217;m very excited to announce that <a href="http://www.onedayonejob.com/jobs/applied-trust/" target="_blank">AppliedTrust is being featured</a> today on <a href="http://www.onedayonejob.com/" target="_blank">One Day, One Job</a>, the popular site that highlights a different hiring employer every day.  Created by Willy Franzen, <a href="http://www.onedayonejob.com/" target="_blank">One Day, One Job</a> is a <a href="http://www.businessweek.com/innovate/content/apr2010/id20100426_642810.htm" target="_blank">unique resource</a> for college students beginning their careers.  This is awesome exposure for our company and a great opportunity for us to find the perfect new Seal to join our team!</p>
<p>As our regular readers know, <a href="http://www.appliedtrust.com" target="_blank">AppliedTrust</a> is <a href="http://www.appliedtrust.com/jobs/infrastructureengineer" target="_blank">looking for a great infrastructure engineer</a> who wants to work in Boulder, Colorado. This role is a &#8220;Jack of all trades&#8221; within the broad field of Information Technology &#8211; they get to play with networks, servers, software, and security.  One ideal candidate for this job would be a graduating Computer Science or Engineering major who has experience with Windows and Linux system administration and doesn&#8217;t want to spend all day programming.  We would definitely also consider someone with more work experience.  If you are interested, or know of a good candidate, please check out our jobs page: <a href="http://www.appliedtrust.com/jobs/infrastructureengineer">http://www.appliedtrust.com/jobs</a></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F&amp;title=AppliedTrust+featured+on+One+Day%2C+One+Job%21" title="Slashdot It!"><img src="/wp-content/plugins/slashdot.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F&amp;title=AppliedTrust+featured+on+One+Day%2C+One+Job%21" title="Digg This Story"><img src="/wp-content/plugins/digg.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F&amp;title=AppliedTrust+featured+on+One+Day%2C+One+Job%21" title="Reddit"><img src="/wp-content/plugins/reddit.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F&amp;title=AppliedTrust+featured+on+One+Day%2C+One+Job%21" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F&amp;title=AppliedTrust+featured+on+One+Day%2C+One+Job%21', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="/wp-content/plugins/delicious.gif" width="16" height="16" alt="[del.icio.us]" /></a>

<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F" title="Add to my Technorati Favorites"><img src="/wp-content/plugins/technorati.ico" width="16" height="16" alt="[Technorati]" /></a>

<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fappliedtrust-featured-on-one-day-one-job%2F&amp;title=AppliedTrust+featured+on+One+Day%2C+One+Job%21" title="Stumble it!"><img src="/wp-content/plugins/stumbleupon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/04/appliedtrust-featured-on-one-day-one-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>issues.apache.org compromised by XSS vulnerability</title>
		<link>http://www.barkingseal.com/2010/04/apache-org-compromised-by-xss-vulnerability/</link>
		<comments>http://www.barkingseal.com/2010/04/apache-org-compromised-by-xss-vulnerability/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 23:01:31 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1303</guid>
		<description><![CDATA[As discussed in detail by the Apache infrastructure team, a cross-site scripting vulnerability in Atlassian&#8217;s JIRA led to a full root account compromise on the ASF&#8217;s issue and request tracking server. If you don&#8217;t care to read the full story from the infrastructure team, the following sequence of events led to the compromise: Attackers opened [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barkingseal.com/wp-content/uploads/2010/04/feather.gif"><br />
</a><a href="http://www.barkingseal.com/wp-content/uploads/2010/04/apache_logo.png"><img class="aligncenter size-full wp-image-1307" title="apache_logo" src="http://www.barkingseal.com/wp-content/uploads/2010/04/apache_logo.png" alt="" width="200" height="178" /></a></p>
<p>As discussed <a href="https://blogs.apache.org/infra/entry/apache_org_04_09_2010">in detail</a> by the Apache infrastructure team, a cross-site scripting vulnerability in Atlassian&#8217;s JIRA led to a full root account compromise on the ASF&#8217;s issue and request tracking server. If you don&#8217;t care to read the full story from the infrastructure team, the following sequence of events led to the compromise:</p>
<ol>
<li>Attackers opened a new JIRA issue with a malicious tinyurl.com link that led to the JIRA page with an XSS vulnerability</li>
<li>Simultaneously, attackers launched a brute force attack on the JIRA login form</li>
<li>Several administrators clicked the tinyurl link, which compromised their cookies (giving the attackers JIRA admin access)</li>
<li>Attackers uploaded malicious a JAR file that collected JIRA passwords at login. One of the compromised passwords had also been used for a local account with full sudo privileges.</li>
</ol>
<p>There&#8217;s more to the story, but those points capture the bulk of the attack.</p>
<p>This compromise interests me because it&#8217;s an explicit, targeted, successful attack against a security conscious and capable next-generation web technology team. Several techniques were used in this attack:</p>
<ul>
<li>Social engineering. The attackers opened an issue as if they were a trusted source posting a legitimate link. The Apache administrators trusted them.</li>
<li>Web application security flaw. XSS is #2 on the <a href="http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project">OWASP top 10 list</a>.</li>
<li>Lack of vigilance. As the infrastructure team points out, the same password was used in a number of cases, and the JIRA user was overly privileged.</li>
</ul>
<p>I hear a lot of grumbling when I highlight XSS vulnerabilities in a penetration testing report. &#8220;Is this really a serious problem?&#8221; and &#8220;we&#8217;re not a target&#8221; and &#8220;it doesn&#8217;t matter if they steal the cookie&#8221; are common complaints. Let&#8217;s face it &#8211; if the Apache team can be powned, we should all be wary.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F&amp;title=issues.apache.org+compromised+by+XSS+vulnerability" title="Slashdot It!"><img src="/wp-content/plugins/slashdot.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F&amp;title=issues.apache.org+compromised+by+XSS+vulnerability" title="Digg This Story"><img src="/wp-content/plugins/digg.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F&amp;title=issues.apache.org+compromised+by+XSS+vulnerability" title="Reddit"><img src="/wp-content/plugins/reddit.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F&amp;title=issues.apache.org+compromised+by+XSS+vulnerability" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F&amp;title=issues.apache.org+compromised+by+XSS+vulnerability', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="/wp-content/plugins/delicious.gif" width="16" height="16" alt="[del.icio.us]" /></a>

<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F" title="Add to my Technorati Favorites"><img src="/wp-content/plugins/technorati.ico" width="16" height="16" alt="[Technorati]" /></a>

<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F04%2Fapache-org-compromised-by-xss-vulnerability%2F&amp;title=issues.apache.org+compromised+by+XSS+vulnerability" title="Stumble it!"><img src="/wp-content/plugins/stumbleupon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/04/apache-org-compromised-by-xss-vulnerability/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Don’t Forget to Vote to Bring Google Fiber to Boulder by March 21!</title>
		<link>http://www.barkingseal.com/2010/03/don%e2%80%99t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21/</link>
		<comments>http://www.barkingseal.com/2010/03/don%e2%80%99t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 22:45:03 +0000</pubDate>
		<dc:creator>beth</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Ramblings]]></category>
		<category><![CDATA[boulder]]></category>
		<category><![CDATA[fiber]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1256</guid>
		<description><![CDATA[In case you haven’t heard, Google is offering to build an experimental network in a community with speeds up to 100 times faster than current Internet speeds, and at an affordable price.  This new network is expected to radically change how communities access information and interact with the world. Boulder is one of many communities [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://boulderfiber.com/" target="_blank"><img class="alignleft size-full wp-image-1262" style="margin-left: 10px; margin-right: 10px;" title="2010-03-18_boulderfiber" src="http://www.barkingseal.com/wp-content/uploads/2010/03/2010-03-18_boulderfiber.png" alt="" width="180" height="148" /></a>In case you haven’t heard, Google is offering to build an experimental network in a community with speeds up to 100 times faster than current Internet speeds, and at an affordable price.  This new network is expected to radically change how communities access information and interact with the world.</p>
<p>Boulder is one of many communities vying to be the lucky recipient of this experimental network. As a city known for its smart people, progressive policies, and high tech companies, we are a great fit for a project like this. To capitalize on this, <a href="http://boulderfiber.com/" target="_blank">the City has stepped up efforts</a> to get as many people as possible to vote, both by setting up a <a href="http://www.facebook.com/pages/Boulder-CO/Bring-Google-Fiber-to-the-City-of-Boulder/336485483147" target="_blank">fan page on Facebook</a> and by declaring this weekend “<a href="http://www.bouldercolorado.gov/index.php?option=com_content&amp;view=article&amp;id=12835:march-17-2010-boulder-declares-boulder-fiber-weekend&amp;catid=729:2010-news-releases&amp;Itemid=4264" target="_blank">Boulder Fiber Weekend</a>.”  Although nominations are being accepted until March 26, the City is hoping to have everyone vote before midnight on March 21.</p>
<p>This is an awesome opportunity for us to bring in more jobs, boost our local economy, and enhance communications across all sectors of our community. And, of course, having lightning-fast Internet speeds would be pretty sweet, too. So, what are you waiting for? <a href="http://boulderfiber.com/" target="_blank">Vote now</a>!!</p>
<p>﻿</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F&amp;title=Don%E2%80%99t+Forget+to+Vote+to+Bring+Google+Fiber+to+Boulder+by+March+21%21" title="Slashdot It!"><img src="/wp-content/plugins/slashdot.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F&amp;title=Don%E2%80%99t+Forget+to+Vote+to+Bring+Google+Fiber+to+Boulder+by+March+21%21" title="Digg This Story"><img src="/wp-content/plugins/digg.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F&amp;title=Don%E2%80%99t+Forget+to+Vote+to+Bring+Google+Fiber+to+Boulder+by+March+21%21" title="Reddit"><img src="/wp-content/plugins/reddit.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F&amp;title=Don%E2%80%99t+Forget+to+Vote+to+Bring+Google+Fiber+to+Boulder+by+March+21%21" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F&amp;title=Don%E2%80%99t+Forget+to+Vote+to+Bring+Google+Fiber+to+Boulder+by+March+21%21', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="/wp-content/plugins/delicious.gif" width="16" height="16" alt="[del.icio.us]" /></a>

<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F" title="Add to my Technorati Favorites"><img src="/wp-content/plugins/technorati.ico" width="16" height="16" alt="[Technorati]" /></a>

<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.barkingseal.com%2F2010%2F03%2Fdon%25e2%2580%2599t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21%2F&amp;title=Don%E2%80%99t+Forget+to+Vote+to+Bring+Google+Fiber+to+Boulder+by+March+21%21" title="Stumble it!"><img src="/wp-content/plugins/stumbleupon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/03/don%e2%80%99t-forget-to-vote-to-bring-google-fiber-to-boulder-by-march-21/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enlightening the Confused Deputy</title>
		<link>http://www.barkingseal.com/2010/03/enlightening-the-confused-deputy/</link>
		<comments>http://www.barkingseal.com/2010/03/enlightening-the-confused-deputy/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 00:46:12 +0000</pubDate>
		<dc:creator>zack</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[cross-site request forgery]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[csrf]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1174</guid>
		<description><![CDATA[One of the most interesting (in other words, “dangerous”) vulnerabilities that almost every existing web application falls victim to is cross-site request forgery (CSRF – “sea-surf”). CSRF is a type of malicious attack vector whereby unauthorized commands are transmitted from a user that the website trusts. It is an example of the confused deputy problem. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.blogcdn.com/www.thecancerblog.com/media/2006/02/donknottsphoto.jpg" alt="Confused Deputy" width="300" height="246" /><br />
One of the most interesting (in other words, “dangerous”) vulnerabilities that almost every existing web application falls victim to is cross-site request forgery (CSRF – “sea-surf”). CSRF is a type of malicious attack vector whereby unauthorized commands are transmitted from a user that the website trusts. It is an example of the <a href="http://en.wikipedia.org/wiki/Confused_deputy_problem" target="_blank">confused deputy problem</a>. This is different than the widely-known cross-site scripting (XSS) in that CSRF exploits the trust that a site has in the user’s browser, and XSS exploits the trust a user has for a particular web site.</p>
<p><span id="more-1174"></span></p>
<p>The simplest way to understand this vulnerability is with an example. Assume there is a stock trading website, S-trade, that anyone who signs up for an account can access. This site has functionality available for every account – including things like logging in, logging out, transferring money, purchasing stock, etc. Our hero in the scenario is Bob. Bob trusts S-trade to make his trades and keeps a portion of his portfolio there. Malice is our villain. Malice is not interested in trading stocks or other portfolio tasks, only wreaking havoc. Bob and Malice both have accounts on S-trade with basic functionality. S-trade uses all of the standard security measures meant to authenticate and protect users. There is session management in place, data sent to and from the site is encrypted, and strong password policies are enforced. These do not bother Malice one bit. All Malice must do is get Bob to click on a specially crafted link while Bob is logged in to F-trade (i.e. Bob’s cookies and session IDs have not expired). The specially crafted link can take advantage of any functionality that already exists in the application, but to keep things simple we’ll use the logout functionality as an example. When logged in, both Bob and Malice’s sessions use the same logout code. If you right-click on the link to logout, you might get something like this for URL location:</p>
<p>https://www.s-trade.com/session.php?action=logout</p>
<p>This section of code will undoubtedly check to see if the user is logged in or if the session has timed out. Once it determines if the session is valid, it will do whatever the rest of the code accomplishes. If Malice could get Bob to click the link above, it would log Bob out of his session, just like if Bob had clicked “Logout” himself. There are many ways for Malice to mask this link to Bob.</p>
<p>Malice can embed it in her own HTML page on her domain with an iframe that runs when the HTML is loaded:</p>
<p>&lt;iframe src=&#8221; https://www.s-trade.com/session.php?action=logout &#8220;&gt;</p>
<p>As long as Bob is logged in, this code will run.</p>
<p>Malice could also use traditional email phishing techniques to hook Bob on the line.</p>
<p>Now, logging Bob out might only be a minor inconvenience, but you can see the power behind this vulnerability. If there were similar functionality that made a stock purchase or withdrew money, Bob’s account could really be put in jeopardy. If the site has other <a href="http://www.owasp.org/index.php/Top_10_2007" target="_blank">OWASP</a> vulnerabilities in place in addition to this, Bob is really screwed. CSRF hooks right in to a lot of the most common and dangerous attacks.</p>
<p>The problem here is that no other checks are done to prove that the user requesting this action is Bob. All it checks for is if Bob recently logged in on this machine. Web sites need to start going to further lengths to prove requests are generated by the authenticated user. There are five major steps needed to prevent CSRF attacks:</p>
<ol>
<li>Require authentication in GET and POST parameters, not just cookies.</li>
<li>Check the HTTP “Referer” header and make sure it comes from S-trade (the Referer header can always be forged, but this small step will do some amount of good).</li>
<li>Further limit the lifetime of authentication cookies.</li>
<li>Require queries which cause transactions to include a one-time token.</li>
<li>Eliminate all XSS vulnerabilities.</li>
</ol>
<p>With large, existing applications, CSRF can be hard to mitigate completely, but organizations that are planning to build new web applications should wire protection against this right into the code from the get go. This sort of attack is only going to get more and more common and proactive prevention is crucial.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/03/enlightening-the-confused-deputy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five things network and system administrators can learn from Agile</title>
		<link>http://www.barkingseal.com/2010/01/five-things-network-and-system-administrators-can-learn-from-agile/</link>
		<comments>http://www.barkingseal.com/2010/01/five-things-network-and-system-administrators-can-learn-from-agile/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 21:30:05 +0000</pubDate>
		<dc:creator>ned</dc:creator>
				<category><![CDATA[IT Management]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ITIL]]></category>
		<category><![CDATA[popular]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1106</guid>
		<description><![CDATA[IT infrastructure work is certainly not the same as software development, but the Agile methodologies offer some good advice to us system and network administrators. In general, Agile has grown from a Manifesto about software development to a full-blown project management methodology. Powerful tools are available to help manage projects according to its tenants. Although [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1111" style="margin-top: 2px; margin-bottom: 2px; margin-left: 10px; margin-right: 10px;" title="hummingbird" src="http://www.barkingseal.com/wp-content/uploads/2010/01/hummingbird.jpg" alt="hummingbird" width="192" height="173" />IT infrastructure work is certainly not the same as software development, but the Agile methodologies offer some good advice to us system and network administrators.  In general, Agile has grown from a <a href="http://agilemanifesto.org/" target="_blank">Manifesto</a> about software development to a full-blown project management methodology.  <a href="http://www.rallydev.com/" target="_blank">Powerful tools</a> are available to help manage projects according to its tenants.  Although Agile is based on lessons learned implementing complex software projects, its principles apply equally well to IT infrastructure projects and operations.  Agile&#8217;s concept of &#8220;self-organizing teams&#8221; is particularly appealing to me, since Applied Trust is managed as a &#8220;company of peers&#8221;.</p>
<p>I&#8217;ve picked five of the <a href="http://agilemanifesto.org/principles.html" target="_blank">Principles behind the Agile Manifesto</a> that are particularly applicable to our field &#8211; read on to see how they look from an IT infrastructure perspective:</p>
<p>1) Our highest priority is to satisfy the customer through early and continuous delivery of valuable infrastructure.<br />
2) Welcome changing requirements, even late in deployment. Agile processes harness change for the customer&#8217;s competitive advantage.<br />
3) Business people and developers must work together daily throughout the project.<br />
4) Simplicity&#8211;the art of maximizing the amount of work not done&#8211;is essential.<br />
5) Continuous attention to technical excellence and good design enhances agility.</p>
<p><span id="more-1106"></span></p>
<p><strong>1) </strong><em><strong>&#8220;Our highest priority is to satisfy the customer through early and continuous delivery of valuable infrastructure. &#8220;</strong></em><br />
The technical and business requirements documented at the beginning of a project are never perfect, and sometimes not even close to what the end user really needs.  Agile emphasizes a focus on gathering customer feedback early and often.  Pilot new technologies before making a commitment. I have been part of many IT projects that have met every defined requirement and deadline, but completely failed in the end because users hated the technology.  Deploy new technology in phases &#8211; find a small group of smart, friendly users who are willing to help test your project as you get new pieces of functionality working.  Don&#8217;t get married to a hardware/software vendor too early.  Wireless, two-factor, remote access, and mobile solutions are all hot candidates for an iterative, phased deployment where frequent user feedback is essential for the project to succeed.</p>
<p><strong> 2) </strong><em><strong>&#8220;Welcome changing requirements, even late in deployment. Agile processes harness change for the customer&#8217;s competitive advantage.&#8221;</strong></em><br />
Agile software development is all about responding to change gracefully, and many system and network administrators could learn a lesson from this attitude.  Activities like gathering requirements, documenting use cases, and project planning are essential, but they should never get in the way of &#8220;doing what&#8217;s right&#8221; for the end user.  Processes should enable agility, not be used as a roadblock by administrators who don&#8217;t to deal with something new.  The <a href="http://www.itpi.org/home/visibleops.php" target="_parent">Visible Ops Handbook</a> has a great quote on this topic: &#8220;Like brakes in a car, IT controls let you go faster!&#8221;</p>
<p><strong> 3) </strong><em><strong>&#8220;Business people and engineers must work together daily throughout the project.&#8221;</strong></em><strong><br />
</strong> As computer people, we get stereotyped as geeks who are bad at communicating.  Let&#8217;s prove them wrong!  Agile encourages the use of crossfunctional teams &#8211; this is our opportunity to help the business people and developers &#8220;get it right&#8221; before we end up supporting a mess of an application in production.  Many IT departments suffer from &#8220;silo&#8217;d operations&#8221;, where the network folks don&#8217;t talk to the Windows folks, who in turn don&#8217;t talk to the Unix folks or the developers.  As infrastructure engineers, we build and run the networks and servers &#8211; the &#8220;glue&#8221; that allows our organizations to function.  We are in the position to help the diverse teams surrounding us work together.</p>
<p><strong> 4) </strong><em><strong>&#8220;Simplicity&#8211;the art of maximizing the amount of work not done&#8211;is essential.&#8221;</strong></em><strong><br />
</strong> Engineered complexity is the drug of choice for many network and system architects.  It&#8217;s fun to play with bleeding-edge, challenging technologies, but those aren&#8217;t always the best use of time and money.  It&#8217;s cool to build a system that can support millions of users, but not even worth thiking scalability about for a typical in-house app.  Like the Mr. Miyagi said, &#8220;Go, find balance.&#8221; &#8212; balance complexity with manageability, monitoritability, and testability.  Although this principle was written by people focused on development/implementation, it applies equally well to operations.  Responsible change planning, testing, and documentation reduces unplanned work.</p>
<p><strong>5) </strong><em><strong>&#8220;Continuous attention to technical excellence and good design enhances agility.&#8221;</strong></em><br />
Agile focuses on customer interaction and working solutions over &#8220;comprehensive documentation&#8221;, but that doesn&#8217;t eliminate the need for professional behavior.  Solutions that are hacked-together without planning and rigorous testing will fail miserably.  I can&#8217;t tell you how many times I have seen a &#8220;temporary fix&#8221; ignored for months until it blew up in some sysadmin&#8217;s face!  <a href="http://en.wikipedia.org/wiki/Ward_Cunningham" target="_blank">Ward Cunningham</a> describes this issue as &#8220;Technical Debt,&#8221; and if you are an IT person who has not heard the term, you should <a href="http://martinfowler.com/bliki/TechnicalDebt.html" target="_blank">read about it here</a>. You accumulate financial debt by spending beyond your means &#8211; technical debt builds up when you deploy networks, servers, and services without an appropriate investment in solid architecture, testing, monitoring, backups, and reasonable amount of documentation.  If you must take on a technical debt, every effort should be made to &#8220;pay it off&#8221; as soon as possible!<br />
<strong> </strong></p>
<p><strong>Bonus: </strong><em><strong>&#8220;At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.&#8221;</strong></em><strong><br />
</strong> Agile encourages picking and choosing individual processes and tools to best fit the team.  Is this a cheap hedge?  Maybe, but it works for us!  For example, we don&#8217;t actually &#8220;stand up&#8221; in our various status/operations meetings, and we sure don&#8217;t use notecards or peer programming.  Still, the principles above are useful to help set a &#8220;tone&#8221; of customer-collaboration, iterative release, and general &#8220;agility&#8221;.  Take the &#8220;Agile Principles&#8221; with a grain of salt, but don&#8217;t be afraid to steal an idea or two from those programmers!!</p>
<p><span style="font-size: x-small;"> Image credit to </span><a href="http://www.flickr.com/photos/hannah_hill/" target="_blank"><span style="font-size: x-small;">hickoryhollow113</span></a><span style="font-size: x-small;"> via Flickr (Creative Commons).</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/01/five-things-network-and-system-administrators-can-learn-from-agile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exploring your NIC for fun and profit</title>
		<link>http://www.barkingseal.com/2010/01/exploring-your-nic-for-fun-and-profit/</link>
		<comments>http://www.barkingseal.com/2010/01/exploring-your-nic-for-fun-and-profit/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 22:56:46 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[networking]]></category>

		<guid isPermaLink="false">http://www.barkingseal.com/?p=1085</guid>
		<description><![CDATA[I know, you love your network card. You installed Linux, the NIC was autodetected at first boot, and everything &#8220;Just Worked.&#8221; Your server has been happily providing services over the network ever since. But what do you really know about your network card? Is it the culprit of slower performance for your CPU-intensive application? Could [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1093 alignright" title="Pile o' NICs" src="http://www.barkingseal.com/wp-content/uploads/2010/01/nic.jpg" alt="Pile o' NICs" width="239" height="239" /></p>
<p>I know, you love your network card. You installed Linux, the NIC was autodetected at first boot, and everything &#8220;Just Worked.&#8221; Your server has been happily providing services over the network ever since.</p>
<p>But what do you really know about your network card? Is it the culprit of slower performance for your CPU-intensive application? Could you benefit from any of its advanced capabilities? Today&#8217;s network interface cards offer a number of hidden gems to the savvy administrator. In this article we&#8217;ll learn some of the most important tricks to understanding your NIC in Linux.<span id="more-1085"></span></p>
<p>The ifconfig command, used to configure the interface, is the most basic command in any administrator&#8217;s network toolkit. We use it for day-to-day management of networking.</p>
<pre>$ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0D:56:F8:99:34
 inet addr:192.168.7.8  Bcast:192.168.7.255  Mask:255.255.255.0
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 RX packets:393090428 errors:0 dropped:0 overruns:0 frame:0
 TX packets:416862423 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:380927523 (363.2 Mb)  TX bytes:1252846220 (1194.8 Mb)
 Interrupt:16</pre>
<p>While ifconfig tells us important details like the interface status, IP address, and error information, we&#8217;re left with a lot of questions. What driver is it using? What is the speed and duplex? What features does it support, and which are we taking advantage of?</p>
<p>We can learn more information from the handy ethtool command.</p>
<pre>$ sudo /sbin/ethtool eth0
Settings for eth0:
 Supported ports: [ MII ]
 Supported link modes:   10baseT/Half 10baseT/Full
 100baseT/Half 100baseT/Full
 1000baseT/Half 1000baseT/Full
 Supports auto-negotiation: Yes
 Advertised link modes:  10baseT/Half 10baseT/Full
 100baseT/Half 100baseT/Full
 1000baseT/Half 1000baseT/Full
 Advertised auto-negotiation: Yes
 Speed: 100Mb/s
 Duplex: Full
 Port: Twisted Pair
 PHYAD: 1
 Transceiver: internal
 Auto-negotiation: on
 Supports Wake-on: g
 Wake-on: d
 Current message level: 0x000000ff (255)
 Link detected: yes</pre>
<p>Now we can see that eth0 autonegotiated a 100/Full link. (See our article on the risks of autonegotiation <a href="http://www.appliedtrust.com/resources/performance/untangling-ethernet-performance-problems">here</a>). ethtool can also modify settings on the network card. More on that later.</p>
<p>In addition, use ethtool -i to identify driver details:</p>
<pre>$ sudo /sbin/ethtool -i eth0
driver: tg3
version: 2.2
firmware-version:
bus-info: 02:00.0</pre>
<p>Be cautious of using the alternative mii-tool in place of ethtool for examining network card status. Most drivers include the standard <a href="http://en.wikipedia.org/wiki/Media_Independent_Interface">mii</a> hooks, but some do not and on those NICs you&#8217;ll see an &#8220;operation not supported&#8221; message. Furthermore, many systems include a dated mii-tool that will incorrectly report Gigabit speeds.</p>
<p>The lspci command examines all the PCI buses (conventional PCI, PCI-X, PCI Express) and reports information about connected devices, including the NICs. Run &#8220;sudo lspci -vv | less&#8221; and search for &#8220;Ethernet&#8221; for best results. The output on my example system looks like:</p>
<pre>02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 02)
 Subsystem: Dell Computer Corporation: Unknown device 014a
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
 Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium &gt;TAbort- &lt;TAbort- &lt;MAbort- &gt;SERR- &lt;PERR-
 Latency: 64 (16000ns min)
 Interrupt: pin A routed to IRQ 16
 Region 0: Memory at fcf30000 (64-bit, non-prefetchable) [size=64K]
 Region 2: Memory at fcf20000 (64-bit, non-prefetchable) [size=64K]
 Capabilities: [40] PCI-X non-bridge device.
 Command: DPERE- ERO- RBC=2 OST=0
 Status: Bus=0 Dev=0 Func=0 64bit- 133MHz- SCD- USC-, DC=simple, DMMRBC=0, DMOST=0, DMCRS=0, RSCEM-      Capabilities
: [48] Power Management version 2
 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
 Status: D0 PME-Enable+ DSel=0 DScale=1 PME-
 Capabilities: [50] Vital Product Data
 Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
 Address: 5494806804400880  Data: a222</pre>
<p>lspci reveals a goldmine of Ethernet goodies. This system uses the very common Broadcom BCM5704 NIC, an enterprise-grade card from a company with questionable business ethics. It uses interrupt 16 (also available in the ifconfig output), lives on the PCI-X bus, and supports <a href="http://lwn.net/Articles/44139/">Message Signalled Interrupts</a>, an alternative to traditional pin-based interrupts. This card also supports <a href="http://en.wikipedia.org/wiki/Vital_Product_Data">Vital Product Data</a>, a collection of still more information that is available through the lsvpd command. You&#8217;ll often see unfamiliar information in the <em>Capabilities</em> section of the lspci output. Google is your friend.</p>
<p>dmesg provides still more detail about your NIC:</p>
<pre>$ dmesg | grep eth0
divert: allocating divert_blk for eth0
eth0: Tigon3 [partno(BCM95704A6) rev 2002 PHY(5704)] (PCIX:133MHz:64-bit) 10/100/1000BaseT Ethernet 00:0d:56:fe:69:34
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is off for TX and off for RX.</pre>
<p>tg3 is a driver commonly used by Broadcom NICs. Here it reports a 100/full link, corroborating ethtool&#8217;s findings.</p>
<p>Now we know all about the NIC, but how is this information useful? A few ideas:</p>
<ul>
<li>Are we using the best driver for this NIC? The driver that gives the best performance, has the fewest bugs, and best supports its hardware capabilities? Now that we know the chipset (BCM 5704) we can Google for alternative drivers.</li>
<li>If this is a very busy host, is the NIC generating excessive interrupts? Check the number of interrupts/second with mpstat, then look in /proc/interrupts for the eth0 line (which maps to IRQ 16, information we learned via ifconfig and lspci). Reasonable interrupt values vary between systems, but if you&#8217;re north of 10,000 intr/sec it may be time to investigate mitigation options such as <a href="http://portal.acm.org/citation.cfm?id=1357801">interrupt coalescing</a>.</li>
</ul>
<pre>$ grep eth0 /proc/interrupts
16:  851306724          0   IO-APIC-level  eth0</pre>
<ul>
<li>You may need to learn more about your NIC before enabling <a href="http://en.wikipedia.org/wiki/Channel_bonding">bonding/teaming</a> to aggregate multiple interfaces for redundancy or increasing throughput.</li>
</ul>
<p>Image credit to <a href="http://www.flickr.com/photos/kubina/941654709/sizes/l/">Jeff Kubina via Flickr</a>, used here under Creative Commons.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barkingseal.com/2010/01/exploring-your-nic-for-fun-and-profit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
